From e189b1942c8130d473a1a4128c3d9ef5edfaa564 Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期五, 23 十月 2020 10:58:30 +0800
Subject: [PATCH] fix

---
 ClusterApi.go |   47 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 33 insertions(+), 14 deletions(-)

diff --git a/ClusterApi.go b/ClusterApi.go
index f4a5a5d..c41143c 100644
--- a/ClusterApi.go
+++ b/ClusterApi.go
@@ -29,14 +29,22 @@
 	return true, nil
 }
 
+//鍒濆鍖栫储寮�
+func InitIndex(indexPath string) (bool) {
+	resultMsg := CMDSC("sh " + indexPath + "/indexInit.sh")
+	if resultMsg == "杩愯澶辫触" {
+		return false
+	}
+	return true
+}
+
 //鍚姩鏈嶅姟
 func StartServer(binPath string, ip string, port string) bool {
 	resultMsg := CMDSC("sh " + binPath + "/es_start.sh")
 	if resultMsg == "杩愯澶辫触" {
 		return false
 	}
-	b := VerifyNodeServer(ip, port)
-	return b
+	return true
 }
 
 //鍏抽棴鏈嶅姟
@@ -45,10 +53,12 @@
 	if b == true {
 		resultMsg := CMDSC("sh " + binPath + "/es_stop.sh")
 		if resultMsg == "杩愯澶辫触" {
-			return false
+			return true
 		}
+		time.Sleep(time.Second * 3)
 	}
-	return b
+	bs := VerifyShortNodeServer(ip, port)
+	return bs
 }
 
 //鏇存崲鑺傜偣瑙掕壊
@@ -73,7 +83,7 @@
 }
 
 //楠岃瘉璇ヨ妭鐐规槸鍚﹁浣跨敤杩�
-func VerifyCreated(configPath string, ip string) (bool, error) {
+func VerifyCreated(configPath string) (bool, error) {
 	v := viper.New()
 	v.SetConfigType("yml")
 	v.SetConfigName("elasticsearch")
@@ -83,19 +93,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
 }
 
 //楠岃瘉鑺傜偣鏈嶅姟鏄惁姝e父鍚姩
-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++ {
@@ -103,7 +108,7 @@
 		if err != nil {
 			b = false
 			if i < 3 {
-				time.Sleep(time.Second * 10)
+				time.Sleep(time.Second * time.Duration(waitTime))
 				continue
 			}
 		} else {
@@ -142,6 +147,21 @@
 	return role, nil
 }
 
+//鏌ヨ缁勬挱鍒楄〃
+func GetDiscoveryZenPingUnicastHosts(configPath string) ([]string, error) {
+	v := viper.New()
+	v.SetConfigType("yml")
+	v.SetConfigName("elasticsearch")
+	v.AddConfigPath(configPath)
+	err := v.ReadInConfig()
+	if err != nil {
+		return nil, err
+	}
+	hosts := v.GetStringSlice("discovery.zen.ping.unicast.hosts")
+	return hosts, nil
+}
+
+//璁剧疆缁勬挱鍒楄〃
 func SetDiscoveryZenPingUnicastHosts(configPath string, hosts []string) (bool, error) {
 	v := viper.New()
 	v.SetConfigType("yml")
@@ -284,7 +304,6 @@
 	}
 	request, err := http.NewRequest(method, url, bytes.NewBuffer(parama))
 	request.Header.Set("Content-type", "application/json")
-
 	if err != nil {
 		fmt.Println("build request fail !")
 		return nil, err

--
Gitblit v1.8.0