标签:准备 enable 不能 mon 压缩包 数据卷 文档 lis 其他
ELasticsearch的集群是由多个节点组成的,通过cluster.name设置集群名称,并且用于区分其它的集群,每个节点通过node.name指定节点的名称。
在Elasticsearch中,节点的类型主要有4种:
master节点
data节点
客户端节点
部落节点
搭建集群
准备3台服务器,去拉镜像
[root@iZ1la3d1xbmukrZ config]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/elasticsearch 5.6.12 de05e10fa879 17 months ago 486 MB [root@iZ1la3d1xbmukrZ config]#
创建配置文件,做数据卷挂载
[root@iZbp143t3oxhfc3ar7jey0Z ~]# mkdir /es/config -p [root@iZbp143t3oxhfc3ar7jey0Z ~]# cd /es/config/
然后创建一个yml配置文件里面的内容为
cluster.name: elasticsearch-cluster node.name: es-node1 network.host: 0.0.0.0 network.publish_host: 服务器1的ip http.port: 9200 transport.tcp.port: 9300 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["服务器1的ip:9300","服务器2的ip:9300","服务器3的ip:9300"] discovery.zen.minimum_master_nodes: 2
注意:最好要3台服务器,要是2台的话,会出现脑裂问题。这是docker的配置,假如你是通过压缩包的方式,就要如下:
#node01的配置: cluster.name: es-itcast-cluster node.name: node01 node.master: true node.data: true network.host: 0.0.0.0 http.port: 9200 discovery.zen.ping.unicast.hosts: ["192.168.40.133","192.168.40.134","192.168.40.135"] discovery.zen.minimum_master_nodes: 2 http.cors.enabled: true http.cors.allow-origin: "*"
是有所不同的,不然集群之间不会通的,我也这样试过
[root@dalianpai config]# docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 -v /es/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml --name ES03 de05e10fa879 c5b68fc9d1b44c5792788102d79e0605758491c46fbcf4448d7edf93e3476f6e
启动3台服务器,查看日志
都是我阿里云的地址,就不显示了。
标签:准备 enable 不能 mon 压缩包 数据卷 文档 lis 其他
原文地址:https://www.cnblogs.com/dalianpai/p/12701635.html