update cluster name to elasticsearch.yml
| | |
| | | "encoding/json" |
| | | "errors" |
| | | "fmt" |
| | | "github.com/spf13/viper" |
| | | "io/ioutil" |
| | | "net/http" |
| | | "os/exec" |
| | | "strings" |
| | | "time" |
| | | |
| | | "github.com/spf13/viper" |
| | | ) |
| | | |
| | | //初始化配置文件 |
| | |
| | | } |
| | | |
| | | //初始化索引 |
| | | func InitIndex(indexPath string) (bool) { |
| | | func InitIndex(indexPath string) bool { |
| | | resultMsg := CMDSC("sh " + indexPath + "/indexInit.sh") |
| | | if resultMsg == "运行失败" { |
| | | return false |
| | |
| | | } 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 |
| | | } |
| | |
| | | } |
| | | |
| | | //验证节点角色 |
| | | func VerifyNodeRole(configPath string, ) (string, error) { |
| | | func VerifyNodeRole(configPath string) (string, error) { |
| | | role := "slave" |
| | | v := viper.New() |
| | | v.SetConfigType("yml") |
| | |
| | | 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() |