mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
volume: load configuration from master at the start
fix https://github.com/chrislusf/seaweedfs/issues/1469
This commit is contained in:
parent
c9202c4b3d
commit
913a16268d
|
@ -2,6 +2,7 @@ package weed_server
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/chrislusf/seaweedfs/weed/operation"
|
||||
"time"
|
||||
|
||||
"google.golang.org/grpc"
|
||||
|
@ -21,6 +22,27 @@ import (
|
|||
func (vs *VolumeServer) GetMaster() string {
|
||||
return vs.currentMaster
|
||||
}
|
||||
|
||||
func (vs *VolumeServer) checkWithMaster() (err error) {
|
||||
for _, master := range vs.SeedMasterNodes {
|
||||
err = operation.WithMasterServerClient(master, vs.grpcDialOption, func(masterClient master_pb.SeaweedClient) error {
|
||||
resp, err := masterClient.GetMasterConfiguration(context.Background(), &master_pb.GetMasterConfigurationRequest{})
|
||||
if err != nil {
|
||||
return fmt.Errorf("get master %s configuration: %v", master, err)
|
||||
}
|
||||
vs.MetricsAddress, vs.MetricsIntervalSec = resp.MetricsAddress, int(resp.MetricsIntervalSeconds)
|
||||
backend.LoadFromPbStorageBackends(resp.StorageBackends)
|
||||
return nil
|
||||
})
|
||||
if err == nil {
|
||||
return
|
||||
} else {
|
||||
glog.V(0).Infof("checkWithMaster %s: %v", master, err)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (vs *VolumeServer) heartbeat() {
|
||||
|
||||
glog.V(0).Infof("Volume server start with seed master nodes: %v", vs.SeedMasterNodes)
|
||||
|
|
|
@ -72,6 +72,9 @@ func NewVolumeServer(adminMux, publicMux *http.ServeMux, ip string,
|
|||
stopChan: make(chan bool),
|
||||
}
|
||||
vs.SeedMasterNodes = masterNodes
|
||||
|
||||
vs.checkWithMaster()
|
||||
|
||||
vs.store = storage.NewStore(vs.grpcDialOption, port, ip, publicUrl, folders, maxCounts, minFreeSpacePercents, vs.needleMapKind)
|
||||
vs.guard = security.NewGuard(whiteList, signingKey, expiresAfterSec, readSigningKey, readExpiresAfterSec)
|
||||
|
||||
|
|
Loading…
Reference in a new issue