软件:elasticsearch-7.3.2
问题
假设三台主机
- centos0701 后续生命周期管理定位hot节点
- centos0702 后续生命周期管理定位warm节点
- centos0703 后续生命周期管理定位cold节点
我们希望在每台主机上安装es实例,并且将三个es实例构成集群。
解决
这里使用docker方式安装。
修改三台主机hosts
# vim /etc/hosts |
docker安装需要拉取镜像或者已有的镜像导入scp分发镜像/安装包
scp es-7.3.2.tar centos0701:/home/docker-images |
装载镜像/解压缩es
docker load -i es-7.3.2.tar |
三台机器ssh免密登录(非必须)
ssh-keygen -t rsa |
如果三台机器开启了防火墙,则需要开放防火墙端口,这里开启的是es使用的9200端口(http外部访问)和9300端口(集群间通信)
sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent |
修改es的配置文件,如果是docker方式,则需要将配置文件挂载。
# vim es.yml |
三台机器启动docker或者运行es
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 \ |
一台机器启动kibana,这里在centos0701
主机上运行。
docker run --name kibana -d -e "ELASTICSEARCH_URL=http://192.168.73.131:9200" -e "SERVER_PORT=5601" -e "SERVER_HOST=0.0.0.0" -p 5601:5601 docker.elastic.co/kibana/kibana:7.3.2 |
如果打开kibana网址显示kibana server is not ready yet
,并且如果kibana日志显示No living connections
的错误,则手动进入容器修改kibana.yml文件。如果是压缩包安装,则直接修改kibana.yml文件。具体修改server.host和elasticsearch.hosts。
server.host: 0.0.0.0 |
看到集群信息即说明集群搭建成功,游览器输入一下网址查询集群信息。
http://{es的ip地址}:9200/_cat/nodes?v |