本文共 3371 字,大约阅读时间需要 11 分钟。
关于分布式与单机的区别及优势我们不一一赘述了,在redis,nginx,mysql中,我都有说过。但是分布式ES的特性还是需要详细了解的,于是我在网上找到了一个不错的博文,比我讲得好,所以直接引用过来:
Elasticsearch 分布式特性(集群、节点、分片)
所以这里我们直接进行搭建分布式ES。1.按照前面的章节安装的ES进行克隆出3台服务器,分别修改ip,主机名:
#### elasticsearch-1eth0:10.0.0.221eth1:172.16.1.221#### elasticsearch-2eth0:10.0.0.222eth1:172.16.1.222#### elasticsearch-3eth0:10.0.0.223eth1:172.16.1.223
2.当克隆以后,清空es中的data目录,这里面包含了原先的索引库数据。
[root@elasticsearch-1 ~]# cd /application/elasticsearch-7.6.1/data/[root@elasticsearch-1 data]# lltotal 0drwxrwxr-x 3 esuser esuser 15 Mar 26 09:19 nodes[root@elasticsearch-1 data]# rm -rf nodes/
3.分别修改Elasticsearch.yml文件:
#### elasticsearch-1------- Cluster -------cluster.name: elasticsearch-clusternode.name: es-node1 ######只有这里不一样------- Network -------http.cors.enabled: truehttp.cors.allow-origin: "*"node.master: truenode.data: true------ Discovery ------discovery.seed_hosts: ["172.16.1.221", "172.16.1.222","172.16.1.223"]cluster.initial_master_nodes: ["es-node1"]#### elasticsearch-2------- Cluster -------cluster.name: elasticsearch-clusternode.name: es-node2 ######只有这里不一样------- Network -------http.cors.enabled: truehttp.cors.allow-origin: "*"node.master: truenode.data: true------ Discovery ------discovery.seed_hosts: ["172.16.1.221", "172.16.1.222","172.16.1.223"]cluster.initial_master_nodes: ["es-node1"]#### elasticsearch-3------- Cluster -------cluster.name: elasticsearch-clusternode.name: es-node3 ######只有这里不一样------- Network -------http.cors.enabled: truehttp.cors.allow-origin: "*"node.master: truenode.data: true------ Discovery ------discovery.seed_hosts: ["172.16.1.221", "172.16.1.222","172.16.1.223"]cluster.initial_master_nodes: ["es-node1"]
最后对比一下三台服务器的配置
####elasticsearch-2####[root@elasticsearch-1 config]# more elasticsearch.yml |grep ^[^#]cluster.name: elasticsearch-clusternode.name: es-node1path.data: /application/elasticsearch-7.6.1/datapath.logs: /application/elasticsearch-7.6.1/logsnetwork.host: 0.0.0.0http.cors.enabled: truehttp.cors.allow-origin: "*"node.master: truenode.data: truediscovery.seed_hosts: ["172.16.1.221", "172.16.1.222","172.16.1.223"]cluster.initial_master_nodes: ["es-node1"][root@elasticsearch-1 config]# ####elasticsearch-2####[root@elasticsearch-2 config]# more elasticsearch.yml |grep ^[^#]cluster.name: elasticsearch-clusternode.name: es-node2path.data: /application/elasticsearch-7.6.1/datapath.logs: /application/elasticsearch-7.6.1/logsnetwork.host: 0.0.0.0http.cors.enabled: truehttp.cors.allow-origin: "*"node.master: truenode.data: truediscovery.seed_hosts: ["172.16.1.221", "172.16.1.222","172.16.1.223"]cluster.initial_master_nodes: ["es-node1"][root@elasticsearch-2 config]# ####elasticsearch-3####[root@elasticsearch-3 config]# more elasticsearch.yml |grep ^[^#]cluster.name: elasticsearch-clusternode.name: es-node3path.data: /application/elasticsearch-7.6.1/datapath.logs: /application/elasticsearch-7.6.1/logsnetwork.host: 0.0.0.0http.cors.enabled: truehttp.cors.allow-origin: "*"node.master: truenode.data: truediscovery.seed_hosts: ["172.16.1.221", "172.16.1.222","172.16.1.223"]cluster.initial_master_nodes: ["es-node1"][root@elasticsearch-3 config]#
4.启动三台服务器(需要切换到esuser用户)
[root@elasticsearch-1 elasticsearch-7.6.1]# su esuser[esuser@elasticsearch-1 elasticsearch-7.6.1]$ bin/elasticsearch
5.分别在浏览器上访问测试分布式集群(10.0.0.221:9200,10.0.0.222:9200,10.0.0.223:9200)
转载地址:http://krwpn.baihongyu.com/