putonghao
2022-09-14 705f76d542397154da2acf5461f2888828cbd5b8
update cluster name to elasticsearch.yml
2个文件已修改
60 ■■■■■ 已修改文件
ClusterApi.go 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
swfs.go 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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")
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()