| | |
| | | return true, nil |
| | | } |
| | | |
| | | //启动服务 |
| | | func StartServer(binPath string, ip string) bool { |
| | | resultMsg := CMDSC("sh " + binPath + "/elasticsearch -d") |
| | | //初始化索引 |
| | | func InitIndex(indexPath string) (bool) { |
| | | resultMsg := CMDSC("sh " + indexPath + "/indexInit.sh") |
| | | if resultMsg == "运行失败" { |
| | | return false |
| | | } |
| | | bool := VerifyNodeServer(ip, "9200") |
| | | return bool |
| | | return true |
| | | } |
| | | |
| | | //启动服务 |
| | | func StartServer(binPath string, ip string, port string) bool { |
| | | resultMsg := CMDSC("sh " + binPath + "/es_start.sh") |
| | | if resultMsg == "运行失败" { |
| | | return false |
| | | } |
| | | return true |
| | | } |
| | | |
| | | //关闭服务 |
| | | func StopServer(binPath string) { |
| | | |
| | | func StopServer(binPath string, ip string, port string) bool { |
| | | b := VerifyShortNodeServer(ip, port) |
| | | if b == true { |
| | | resultMsg := CMDSC("sh " + binPath + "/es_stop.sh") |
| | | if resultMsg == "运行失败" { |
| | | return true |
| | | } |
| | | } |
| | | bs := VerifyShortNodeServer(ip, port) |
| | | return bs |
| | | } |
| | | |
| | | //更换节点角色 |
| | |
| | | return true, nil |
| | | } |
| | | |
| | | //验证该节点是否被创建过 |
| | | func VerifyCreated(configPath string, ip string) (bool, error) { |
| | | //验证该节点是否被使用过 |
| | | func VerifyCreated(configPath string) (bool, error) { |
| | | v := viper.New() |
| | | v.SetConfigType("yml") |
| | | v.SetConfigName("elasticsearch") |
| | |
| | | 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 |
| | | } |
| | |
| | | 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") |
| | | v.SetConfigName("elasticsearch") |
| | | v.AddConfigPath(configPath) |
| | | err := v.ReadInConfig() |
| | | if err != nil { |
| | | return false, err |
| | | } |
| | | v.Set("discovery.zen.ping.unicast.hosts", hosts) |
| | | if err := v.WriteConfig(); err != nil { |
| | | return false, err |
| | | } |
| | | return true, nil |
| | | } |
| | | |
| | | //更新组播列表 |
| | | func UpdateDiscoveryZenPingUnicastHosts(configPath string, oldIp string, newIp string) (bool, error) { |
| | | v := viper.New() |
| | |
| | | } |
| | | |
| | | //添加组播成员 |
| | | func AddDiscoveryZenPingUnicastHosts(configPath string, ip string) []string { |
| | | func AddDiscoveryZenPingUnicastHosts(configPath string, ip string) (bool, error) { |
| | | v := viper.New() |
| | | v.SetConfigType("yml") |
| | | v.SetConfigName("elasticsearch") |
| | | v.AddConfigPath(configPath) |
| | | err := v.ReadInConfig() |
| | | if err != nil { |
| | | |
| | | errR := v.ReadInConfig() |
| | | if errR != nil { |
| | | return false, errR |
| | | } |
| | | hosts := v.GetStringSlice("discovery.zen.ping.unicast.hosts") |
| | | hosts = append(hosts, ip) |
| | | return hosts |
| | | v.Set("discovery.zen.ping.unicast.hosts", hosts) |
| | | if errW := v.WriteConfig(); errW != nil { |
| | | return false, errW |
| | | } |
| | | return true, nil |
| | | } |
| | | |
| | | type NodeInfo struct { |
| | |
| | | } |
| | | 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 |