| | |
| | | var body SWFSInfo |
| | | c.BindJSON(&body) |
| | | role := body.Role |
| | | nowPeers := GetNowPeersList() |
| | | if role == "master" { |
| | | AsMaster(nowPeers) |
| | | AddNewMasterToPeers() |
| | | AsMaster() |
| | | util.ResponseFormat(c, code.AddSuccess, "加入节点成功") |
| | | return |
| | | } else if role == "volume" { |
| | | AsVolume(nowPeers) |
| | | util.ResponseFormat(c, code.AddSuccess, "加入节点成功") |
| | | return |
| | | status := AsVolume() |
| | | if status == true { |
| | | util.ResponseFormat(c, code.AddSuccess, "加入节点成功") |
| | | return |
| | | } else { |
| | | util.ResponseFormat(c, code.AddClusterInfoErr, "当前还没有主节点") |
| | | return |
| | | } |
| | | } else { |
| | | util.ResponseFormat(c, code.RequestParamError, "选择节点类型错误") |
| | | return |
| | |
| | | } |
| | | |
| | | func (sc *SeaweedfsController) RoleOfVolumeToMasterController(c *gin.Context) { |
| | | AsMaster(GetNowPeersList()) |
| | | AsMaster() |
| | | } |
| | | |
| | | func (sc *SeaweedfsController) RestartMasterController(c *gin.Context) { |
| | |
| | | |
| | | //请求作为主节点操作流程 |
| | | func RequestMasterNodesOperation(nowPeers []interface{}) { |
| | | //fmt.Println("config.Server.CoreBaseUnit", config.Server.CoreBaseUnit) |
| | | coreBaseUnit, _ := strconv.Atoi(config.Server.CoreBaseUnit) |
| | | //fmt.Println("nowPeers: ", nowPeers) |
| | | //fmt.Println("coreBaseUnit: ", coreBaseUnit) |
| | | UpdateAllNodesScriptArgument(nowPeers) |
| | | RestartAllServer(nowPeers, coreBaseUnit) |
| | | } |
| | |
| | | } |
| | | |
| | | //作为数据节点加入 |
| | | func AsVolume(nowPeers []interface{}) { |
| | | func AsVolume() bool { |
| | | nowPeers := GetNowPeersList() |
| | | if nowPeers == nil || len(nowPeers) == 0 { |
| | | return false |
| | | } |
| | | UpdatePeers(config.Server.ScriptPath, StartServerScript, GetNewPeers(), GetNewPeers()) |
| | | ReplaceLineContentBySearch(StartScriptAsVolume, config.Server.ScriptPath, StartServerScript) |
| | | ReplaceLineContentBySearch("peers=", config.Server.ScriptPath, StartServerScript) |
| | | StartServer(config.Server.ScriptPath) |
| | | return true |
| | | } |
| | | |
| | | //作为主节点加入(默认包含数据节点) |
| | | func AsMaster(nowPeers []interface{}) { |
| | | AddNewMasterToPeers() |
| | | func AsMaster() bool { |
| | | nowPeers := GetNowPeersList() |
| | | RequestMasterNodesOperation(nowPeers) |
| | | return true |
| | | } |
| | | |
| | | //获取当前集群列表 |