sunty
2020-10-19 8a415b25377a63c638eea4875a0791667421ba9a
ClusterApi.go
@@ -12,7 +12,7 @@
   "strings"
   "time"
)
//初始化配置文件
func InitYml(configPath string) (bool, error) {
   v := viper.New()
   v.SetConfigType("yml")
@@ -28,6 +28,7 @@
   return true, nil
}
//启动服务
func StartServer(binPath string, ip string) bool {
   resultMsg := CMDSC("sh " + binPath + "/elasticsearch -d")
   if resultMsg == "运行失败" {
@@ -37,10 +38,12 @@
   return bool
}
//关闭服务
func StopServer(binPath string) {
}
//更换节点角色
func UpdateNodeRole(configPath string, role string) (bool, error) {
   v := viper.New()
   v.SetConfigType("yml")
@@ -61,6 +64,8 @@
   return true,nil
}
//验证该节点是否被创建过
func VerifyCreated(configPath string, ip string) (bool, error) {
   v := viper.New()
   v.SetConfigType("yml")
@@ -82,6 +87,7 @@
   return false, nil
}
//验证节点服务是否正常启动
func VerifyNodeServer(ip string, port string) bool {
   b := false
   url := "http://" + ip + ":" + port
@@ -101,6 +107,7 @@
   return b
}
//验证节点角色
func VerifyNodeRole(configPath string, ) (string, error) {
   role := "slave"
   v := viper.New()
@@ -118,6 +125,7 @@
   return role, nil
}
//更新组播列表
func UpdateDiscoveryZenPingUnicastHosts(configPath string, oldIp string, newIp string) (bool, error) {
   v := viper.New()
   v.SetConfigType("yml")
@@ -145,6 +153,7 @@
   return true, nil
}
//添加组播成员
func AddDiscoveryZenPingUnicastHosts(configPath string, ip string) []string {
   v := viper.New()
   v.SetConfigType("yml")
@@ -166,6 +175,7 @@
   NodeName   string `json:"nodeName"`
}
//查询集群信息
func GetClusterInfo(ip string, port string) ([]NodeInfo, error) {
   url := "http://" + ip + ":" + port + "/_cat/nodes?v"
   buf, err := HttpRC("GET", url, nil)
@@ -198,6 +208,7 @@
   return inf, nil
}
//排除即将退出集群的节点
func ExcludeNode(ip string, port string) (bool, error) {
   flag := false
   url := "http://" + ip + ":" + port + "/_cluster/settings"
@@ -218,6 +229,7 @@
   return flag, nil
}
func CMDSC(scriptStr string) string {
   cmd := exec.Command("sh", "-c", scriptStr)
   var out bytes.Buffer