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