From 705f76d542397154da2acf5461f2888828cbd5b8 Mon Sep 17 00:00:00 2001 From: putonghao <ynxwpth@163.com> Date: 星期三, 14 九月 2022 14:38:55 +0800 Subject: [PATCH] update cluster name to elasticsearch.yml --- ClusterApi.go | 24 +++++++++++++++++++++--- swfs.go | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 3 deletions(-) diff --git a/ClusterApi.go b/ClusterApi.go index c41143c..57d35e4 100644 --- a/ClusterApi.go +++ b/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 @@ -76,6 +77,23 @@ } else if role == "slave" { v.Set("node.master", false) } + if err := v.WriteConfig(); err != nil { + return false, err + } + 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 } @@ -130,7 +148,7 @@ } //楠岃瘉鑺傜偣瑙掕壊 -func VerifyNodeRole(configPath string, ) (string, error) { +func VerifyNodeRole(configPath string) (string, error) { role := "slave" v := viper.New() v.SetConfigType("yml") diff --git a/swfs.go b/swfs.go index 179cc75..551c776 100644 --- a/swfs.go +++ b/swfs.go @@ -136,6 +136,42 @@ return true } +//璁剧疆閰嶇疆鏂囦欢ip浠ュ強peer +func SetConfigByIpAndPeer(configPath string, ip string, peers []string) bool { + cp := configPath + "/seaweedfs_start.sh" + file, err := os.OpenFile(cp, os.O_RDWR, 0666) + if err != nil { + fmt.Println("open config file fail, err: ", err) + return false + } + defer file.Close() + + buf := bufio.NewReader(file) + output := make([]byte, 0) + for { + line, _, c := buf.ReadLine() + if c == io.EOF { + break + } + if strings.Contains(string(line), "ip=") { + newline := "ip=" + ip + line = []byte(newline) + } + if strings.Contains(string(line), "peers=") { + newline := "peers=" + strings.Replace(strings.Trim(fmt.Sprint(peers), "[]"), " ", ",", -1) + line = []byte(newline) + } + output = append(output, line...) + output = append(output, []byte("\n")...) + } + + if err := writeToFile(cp, output); err != nil { + fmt.Println("write config file err: ", err) + return false + } + return true +} + func writeToFile(filePath string, outPut []byte) error { f, err := os.OpenFile(filePath, os.O_WRONLY|os.O_TRUNC, 0600) defer f.Close() -- Gitblit v1.8.0