mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
move from cmd-line to scaffold
This commit is contained in:
parent
1c8bed3810
commit
802a0eb3fe
|
@ -37,9 +37,6 @@ type MasterOptions struct {
|
|||
disableHttp *bool
|
||||
metricsAddress *string
|
||||
metricsIntervalSec *int
|
||||
|
||||
sequencerType *string
|
||||
etcdUrls *string
|
||||
}
|
||||
|
||||
func init() {
|
||||
|
@ -58,9 +55,6 @@ func init() {
|
|||
m.disableHttp = cmdMaster.Flag.Bool("disableHttp", false, "disable http requests, only gRPC operations are allowed.")
|
||||
m.metricsAddress = cmdMaster.Flag.String("metrics.address", "", "Prometheus gateway address")
|
||||
m.metricsIntervalSec = cmdMaster.Flag.Int("metrics.intervalSeconds", 15, "Prometheus push interval in seconds")
|
||||
m.sequencerType = cmdMaster.Flag.String("sequencerType", "memory", "Choose [memory|etcd] type for store the file sequence")
|
||||
m.etcdUrls = cmdMaster.Flag.String("etcdUrls", "",
|
||||
"when sequencerType=etcd, set etcdUrls for etcd cluster that store file sequence, example : http://127.0.0.1:2379,http://127.0.0.1:2389")
|
||||
}
|
||||
|
||||
var cmdMaster = &Command{
|
||||
|
@ -84,6 +78,7 @@ func runMaster(cmd *Command, args []string) bool {
|
|||
|
||||
util.LoadConfiguration("security", false)
|
||||
util.LoadConfiguration("master", false)
|
||||
glog.V(0).Infof("%v", viper.GetViper().GetString("master.maintenance.scripts"))
|
||||
|
||||
runtime.GOMAXPROCS(runtime.NumCPU())
|
||||
util.SetupProfiling(*masterCpuProfile, *masterMemProfile)
|
||||
|
|
|
@ -346,5 +346,12 @@ scripts = """
|
|||
"""
|
||||
sleep_minutes = 17 # sleep minutes between each script execution
|
||||
|
||||
sequencer.type = memory # Choose [memory|etcd] type for storing the file id sequence
|
||||
|
||||
# when sequencer.type = etcd, set listen client urls of etcd cluster that store file id sequence
|
||||
# example : http://127.0.0.1:2379,http://127.0.0.1:2389
|
||||
sequencer.etcd.urls = http://127.0.0.1:2379
|
||||
|
||||
|
||||
`
|
||||
)
|
||||
|
|
|
@ -27,6 +27,12 @@ import (
|
|||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
const (
|
||||
MasterPrefix = "master.maintenance."
|
||||
SequencerType = MasterPrefix + "sequencer_type"
|
||||
SequencerEtcdUrls = MasterPrefix + "sequencer_etcd_urls"
|
||||
)
|
||||
|
||||
type MasterOption struct {
|
||||
Port int
|
||||
MetaFolder string
|
||||
|
@ -39,9 +45,6 @@ type MasterOption struct {
|
|||
DisableHttp bool
|
||||
MetricsAddress string
|
||||
MetricsIntervalSec int
|
||||
|
||||
sequencerType string
|
||||
etcdUrls string
|
||||
}
|
||||
|
||||
type MasterServer struct {
|
||||
|
@ -172,8 +175,8 @@ func (ms *MasterServer) proxyToLeader(f func(w http.ResponseWriter, r *http.Requ
|
|||
proxy.Transport = util.Transport
|
||||
proxy.ServeHTTP(w, r)
|
||||
} else {
|
||||
//drop it to the floor
|
||||
//writeJsonError(w, r, errors.New(ms.Topo.RaftServer.Name()+" does not know Leader yet:"+ms.Topo.RaftServer.Leader()))
|
||||
// drop it to the floor
|
||||
// writeJsonError(w, r, errors.New(ms.Topo.RaftServer.Name()+" does not know Leader yet:"+ms.Topo.RaftServer.Leader()))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -240,13 +243,16 @@ func (ms *MasterServer) startAdminScripts() {
|
|||
|
||||
func (ms *MasterServer) createSequencer(option *MasterOption) sequence.Sequencer {
|
||||
var seq sequence.Sequencer
|
||||
glog.V(0).Infof("sequencer type [%s]", option.sequencerType)
|
||||
switch strings.ToLower(option.sequencerType) {
|
||||
seqType := strings.ToLower(util.Config().GetString(SequencerType))
|
||||
glog.V(0).Infof("sequencer type [%s]", seqType)
|
||||
switch strings.ToLower(seqType) {
|
||||
case "memory":
|
||||
seq = sequence.NewMemorySequencer()
|
||||
case "etcd":
|
||||
var err error
|
||||
seq, err = sequence.NewEtcdSequencer(option.etcdUrls, option.MetaFolder)
|
||||
urls := util.Config().GetString(SequencerEtcdUrls)
|
||||
glog.V(4).Infof("ETCD urls : %s", urls)
|
||||
seq, err = sequence.NewEtcdSequencer(urls, option.MetaFolder)
|
||||
if err != nil {
|
||||
glog.Error(err)
|
||||
seq = nil
|
||||
|
|
|
@ -40,5 +40,15 @@ func LoadConfiguration(configFileName string, required bool) (loaded bool) {
|
|||
}
|
||||
|
||||
return true
|
||||
|
||||
}
|
||||
|
||||
func Config() Configuration {
|
||||
return viper.GetViper()
|
||||
}
|
||||
|
||||
func SubConfig(subKey string) Configuration {
|
||||
if subKey != "" {
|
||||
return viper.GetViper().Sub(subKey)
|
||||
}
|
||||
return viper.GetViper()
|
||||
}
|
Loading…
Reference in a new issue