sunty
2020-10-19 c5301a614f367854d9548179fd4a4b6b9964bf34
ClusterApi.go
@@ -12,6 +12,7 @@
   "strings"
   "time"
)
//初始化配置文件
func InitYml(configPath string) (bool, error) {
   v := viper.New()
@@ -61,11 +62,10 @@
   if err := v.WriteConfig(); err != nil {
      return false, err
   }
   return true,nil
   return true, nil
}
//验证该节点是否被创建过
//验证该节点是否被使用过
func VerifyCreated(configPath string, ip string) (bool, error) {
   v := viper.New()
   v.SetConfigType("yml")
@@ -73,7 +73,7 @@
   v.AddConfigPath(configPath)
   err := v.ReadInConfig()
   if err != nil {
      return false, err
      return true, err
   }
   hosts := v.GetStringSlice("discovery.zen.ping.unicast.hosts")
   for _, pick := range hosts {
@@ -107,6 +107,16 @@
   return b
}
//验证节点服务是否正常启动(短验证)
func VerifyShortNodeServer(ip string, port string) bool {
   url := "http://" + ip + ":" + port
   _, err := HttpRC("GET", url, nil)
   if err != nil {
      return false
   }
   return true
}
//验证节点角色
func VerifyNodeRole(configPath string, ) (string, error) {
   role := "slave"
@@ -123,6 +133,22 @@
      role = "master"
   }
   return role, nil
}
func SetDiscoveryZenPingUnicastHosts(configPath string, hosts []string) (bool, error) {
   v := viper.New()
   v.SetConfigType("yml")
   v.SetConfigName("elasticsearch")
   v.AddConfigPath(configPath)
   err := v.ReadInConfig()
   if err != nil {
      return false, err
   }
   v.Set("discovery.zen.ping.unicast.hosts", hosts)
   if err := v.WriteConfig(); err != nil {
      return false, err
   }
   return true,nil
}
//更新组播列表
@@ -154,18 +180,22 @@
}
//添加组播成员
func AddDiscoveryZenPingUnicastHosts(configPath string, ip string) []string {
func AddDiscoveryZenPingUnicastHosts(configPath string, ip string) (bool, error) {
   v := viper.New()
   v.SetConfigType("yml")
   v.SetConfigName("elasticsearch")
   v.AddConfigPath(configPath)
   err := v.ReadInConfig()
   if err != nil {
   errR := v.ReadInConfig()
   if errR != nil {
      return false, errR
   }
   hosts := v.GetStringSlice("discovery.zen.ping.unicast.hosts")
   hosts = append(hosts, ip)
   return hosts
   v.Set("discovery.zen.ping.unicast.hosts", hosts)
   if errW := v.WriteConfig(); errW != nil {
      return false, errW
   }
   return true, nil
}
type NodeInfo struct {
@@ -228,7 +258,6 @@
   }
   return flag, nil
}
func CMDSC(scriptStr string) string {
   cmd := exec.Command("sh", "-c", scriptStr)