Merge branch 'master' of https://github.com/chrislusf/seaweedfs
This commit is contained in:
@@ -13,7 +13,7 @@ import (
|
|||||||
"github.com/chrislusf/seaweedfs/weed/pb"
|
"github.com/chrislusf/seaweedfs/weed/pb"
|
||||||
"github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
|
"github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
|
||||||
"github.com/chrislusf/seaweedfs/weed/security"
|
"github.com/chrislusf/seaweedfs/weed/security"
|
||||||
"github.com/chrislusf/seaweedfs/weed/server"
|
weed_server "github.com/chrislusf/seaweedfs/weed/server"
|
||||||
stats_collect "github.com/chrislusf/seaweedfs/weed/stats"
|
stats_collect "github.com/chrislusf/seaweedfs/weed/stats"
|
||||||
"github.com/chrislusf/seaweedfs/weed/util"
|
"github.com/chrislusf/seaweedfs/weed/util"
|
||||||
)
|
)
|
||||||
@@ -103,6 +103,7 @@ func init() {
|
|||||||
|
|
||||||
// start iam on filer
|
// start iam on filer
|
||||||
filerStartIam = cmdFiler.Flag.Bool("iam", false, "whether to start IAM service")
|
filerStartIam = cmdFiler.Flag.Bool("iam", false, "whether to start IAM service")
|
||||||
|
filerIamOptions.ip = f.ip
|
||||||
filerIamOptions.port = cmdFiler.Flag.Int("iam.port", 8111, "iam server http listen port")
|
filerIamOptions.port = cmdFiler.Flag.Int("iam.port", 8111, "iam server http listen port")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ func startMaster(masterOption MasterOptions, masterWhiteList []string) {
|
|||||||
*masterOption.portGrpc = 10000 + *masterOption.port
|
*masterOption.portGrpc = 10000 + *masterOption.port
|
||||||
}
|
}
|
||||||
if *masterOption.ipBind == "" {
|
if *masterOption.ipBind == "" {
|
||||||
*masterOption.ipBind = "localhost"
|
*masterOption.ipBind = *masterOption.ip
|
||||||
}
|
}
|
||||||
|
|
||||||
myMasterAddress, peers := checkPeers(*masterOption.ip, *masterOption.port, *masterOption.portGrpc, *masterOption.peers)
|
myMasterAddress, peers := checkPeers(*masterOption.ip, *masterOption.port, *masterOption.portGrpc, *masterOption.peers)
|
||||||
|
|||||||
@@ -3,17 +3,18 @@ package command
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"net/http"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/aws"
|
"github.com/aws/aws-sdk-go/aws"
|
||||||
"github.com/chrislusf/seaweedfs/weed/glog"
|
"github.com/chrislusf/seaweedfs/weed/glog"
|
||||||
"github.com/chrislusf/seaweedfs/weed/pb"
|
"github.com/chrislusf/seaweedfs/weed/pb"
|
||||||
"github.com/chrislusf/seaweedfs/weed/pb/master_pb"
|
"github.com/chrislusf/seaweedfs/weed/pb/master_pb"
|
||||||
"github.com/chrislusf/seaweedfs/weed/security"
|
"github.com/chrislusf/seaweedfs/weed/security"
|
||||||
"github.com/chrislusf/seaweedfs/weed/server"
|
weed_server "github.com/chrislusf/seaweedfs/weed/server"
|
||||||
"github.com/chrislusf/seaweedfs/weed/util"
|
"github.com/chrislusf/seaweedfs/weed/util"
|
||||||
"github.com/gorilla/mux"
|
"github.com/gorilla/mux"
|
||||||
"google.golang.org/grpc/reflection"
|
"google.golang.org/grpc/reflection"
|
||||||
"net/http"
|
|
||||||
"time"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -45,13 +46,13 @@ var cmdMasterFollower = &Command{
|
|||||||
Short: "start a master follower",
|
Short: "start a master follower",
|
||||||
Long: `start a master follower to provide volume=>location mapping service
|
Long: `start a master follower to provide volume=>location mapping service
|
||||||
|
|
||||||
The master follower does not participate in master election.
|
The master follower does not participate in master election.
|
||||||
It just follow the existing masters, and listen for any volume location changes.
|
It just follow the existing masters, and listen for any volume location changes.
|
||||||
|
|
||||||
In most cases, the master follower is not needed. In big data centers with thousands of volume
|
In most cases, the master follower is not needed. In big data centers with thousands of volume
|
||||||
servers. In theory, the master may have trouble to keep up with the write requests and read requests.
|
servers. In theory, the master may have trouble to keep up with the write requests and read requests.
|
||||||
|
|
||||||
The master follower can relieve the master from from read requests, which only needs to
|
The master follower can relieve the master from from read requests, which only needs to
|
||||||
lookup a fileId or volumeId.
|
lookup a fileId or volumeId.
|
||||||
|
|
||||||
The master follower currently can handle fileId lookup requests:
|
The master follower currently can handle fileId lookup requests:
|
||||||
@@ -112,7 +113,7 @@ func startMasterFollower(masterOptions MasterOptions) {
|
|||||||
option.IsFollower = true
|
option.IsFollower = true
|
||||||
|
|
||||||
if *masterOptions.ipBind == "" {
|
if *masterOptions.ipBind == "" {
|
||||||
*masterOptions.ipBind = "localhost"
|
*masterOptions.ipBind = *masterOptions.ip
|
||||||
}
|
}
|
||||||
|
|
||||||
r := mux.NewRouter()
|
r := mux.NewRouter()
|
||||||
|
|||||||
Reference in New Issue
Block a user