aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/command/filer.go7
-rw-r--r--weed/server/filer_server.go21
2 files changed, 17 insertions, 11 deletions
diff --git a/weed/command/filer.go b/weed/command/filer.go
index c18925006..b52b01149 100644
--- a/weed/command/filer.go
+++ b/weed/command/filer.go
@@ -103,6 +103,11 @@ func (fo *FilerOptions) startFiler() {
defaultLevelDbDirectory = *fo.defaultLevelDbDirectory + "/filerldb2"
}
+ var peers []string
+ if *fo.peers != "" {
+ peers = strings.Split(*fo.peers, ",")
+ }
+
fs, nfs_err := weed_server.NewFilerServer(defaultMux, publicVolumeMux, &weed_server.FilerOption{
Masters: strings.Split(*fo.masters, ","),
Collection: *fo.collection,
@@ -116,7 +121,7 @@ func (fo *FilerOptions) startFiler() {
Host: *fo.ip,
Port: uint32(*fo.port),
Cipher: *fo.cipher,
- Filers: strings.Split(*fo.peers, ","),
+ Filers: peers,
})
if nfs_err != nil {
glog.Fatalf("Filer startup error: %v", nfs_err)
diff --git a/weed/server/filer_server.go b/weed/server/filer_server.go
index 30c8a0a7c..c6ab6ef0f 100644
--- a/weed/server/filer_server.go
+++ b/weed/server/filer_server.go
@@ -89,19 +89,9 @@ func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption)
})
fs.filer.Cipher = option.Cipher
- // set peers
- if strings.HasPrefix(fs.filer.GetStore().GetName(), "leveldb") && len(option.Filers) > 0 {
- glog.Fatal("filers using separate leveldb stores should not configure peers!")
- }
- if len(option.Filers) == 0 {
- option.Filers = append(option.Filers, fmt.Sprintf("%s:%d", option.Host, option.Port))
- }
- fs.metaAggregator = filer2.NewMetaAggregator(option.Filers, fs.grpcDialOption)
-
maybeStartMetrics(fs, option)
go fs.filer.KeepConnectedToMaster()
- fs.metaAggregator.StartLoopSubscribe(time.Now().UnixNano())
v := util.GetViper()
if !util.LoadConfiguration("filer", false) {
@@ -111,6 +101,7 @@ func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption)
if os.IsNotExist(err) {
os.MkdirAll(option.DefaultLevelDbDir, 0755)
}
+ glog.V(0).Infof("default to create filer store dir in %s", option.DefaultLevelDbDir)
}
util.LoadConfiguration("notification", false)
@@ -130,6 +121,16 @@ func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption)
readonlyMux.HandleFunc("/", fs.readonlyFilerHandler)
}
+ // set peers
+ if strings.HasPrefix(fs.filer.GetStore().GetName(), "leveldb") && len(option.Filers) > 0 {
+ glog.Fatalf("filers using separate leveldb stores should not configure %d peers %+v", len(option.Filers), option.Filers)
+ }
+ if len(option.Filers) == 0 {
+ option.Filers = append(option.Filers, fmt.Sprintf("%s:%d", option.Host, option.Port))
+ }
+ fs.metaAggregator = filer2.NewMetaAggregator(option.Filers, fs.grpcDialOption)
+ fs.metaAggregator.StartLoopSubscribe(time.Now().UnixNano())
+
fs.filer.LoadBuckets()
grace.OnInterrupt(func() {