sunty
2024-03-13 3d7cc90630c77505f5d153348fd3408ef55f870f
ClusterApi.go
@@ -5,12 +5,13 @@
   "encoding/json"
   "errors"
   "fmt"
   "github.com/spf13/viper"
   "io/ioutil"
   "net/http"
   "os/exec"
   "strings"
   "time"
   "github.com/spf13/viper"
)
//初始化配置文件
@@ -30,7 +31,7 @@
}
//初始化索引
func InitIndex(indexPath string) (bool) {
func InitIndex(indexPath string) bool {
   resultMsg := CMDSC("sh " + indexPath + "/indexInit.sh")
   if resultMsg == "运行失败" {
      return false
@@ -44,8 +45,7 @@
   if resultMsg == "运行失败" {
      return false
   }
   b := VerifyNodeServer(ip, port)
   return b
   return true
}
//关闭服务
@@ -56,6 +56,7 @@
      if resultMsg == "运行失败" {
         return true
      }
      time.Sleep(time.Second * 3)
   }
   bs := VerifyShortNodeServer(ip, port)
   return bs
@@ -82,8 +83,25 @@
   return true, nil
}
//更换节点集群名称
func UpdateClusterName(configPath string, name 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("cluster.name", name)
   if err := v.WriteConfig(); err != nil {
      return false, err
   }
   return true, nil
}
//验证该节点是否被使用过
func VerifyCreated(configPath string, ip string) (bool, error) {
func VerifyCreated(configPath string) (bool, error) {
   v := viper.New()
   v.SetConfigType("yml")
   v.SetConfigName("elasticsearch")
@@ -93,19 +111,14 @@
      return true, err
   }
   hosts := v.GetStringSlice("discovery.zen.ping.unicast.hosts")
   for _, pick := range hosts {
      if pick == ip {
         return true, errors.New("该节点已经被执行“创建集群”")
      }
   }
   if len(hosts) > 1 {
      return true, errors.New("该节点已经被执行“加入集群”")
      return true, errors.New("该节点已经被使用")
   }
   return false, nil
}
//验证节点服务是否正常启动
func VerifyNodeServer(ip string, port string) bool {
func VerifyNodeServer(ip string, port string, waitTime int) bool {
   b := false
   url := "http://" + ip + ":" + port
   for i := 1; i < 3; i++ {
@@ -113,7 +126,7 @@
      if err != nil {
         b = false
         if i < 3 {
            time.Sleep(time.Second * 10)
            time.Sleep(time.Second * time.Duration(waitTime))
            continue
         }
      } else {
@@ -135,7 +148,7 @@
}
//验证节点角色
func VerifyNodeRole(configPath string, ) (string, error) {
func VerifyNodeRole(configPath string) (string, error) {
   role := "slave"
   v := viper.New()
   v.SetConfigType("yml")