Elaticsearch进阶-集群搭建

207 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第9天,点击查看活动详情

Linux搭建es集群

本篇是记录的Linux环境下来搭建一个es集群的文章,按照这个步骤来,可以避免一些踩坑(坑真的是比较多的),这个es集群搭建是用在单机版es的基础上的,有不懂的小伙伴可以看看上篇如何搭建单机es的文章。

本次搭建集群使用的是CentOS7版本

搭建步骤:

1、将下载好的压缩包拷贝在opt目录下的elasticsearch安装包3个,然后分别命名:

elasticsearch-7.4.0-icoding1
elasticsearch-7.4.0-icoding2
elasticsearch-7.4.0-icoding3

2、再修改elasticsearch.yml文件。

3、然后再启动icoding1、icoding2、icoding3这三个节点。

4、打开浏览器输入: http://192.168.189.129:9201/_cat/health?v如果返回的node.total是3,代表集群搭建成功

集群环境如下:

cluster namenode nameIP Addrhttp端口/通信端口
icoding-esicoding1192.168.200.1309201 / 9700
icoding-esicoding1192.168.200.1309202 / 9800
icoding-esicoding1192.168.200.1309203 / 9900

1、拷贝副本

拷贝opt目录下的elasticsearch-7.4.0安装包3个,打开虚拟机到opt目录

执行拷贝三份

cd /opt
cp -r elasticsearch-7.4.0   elasticsearch-7.4.0-icoding1
cp -r elasticsearch-7.4.0   elasticsearch-7.4.0-icoding2
cp -r elasticsearch-7.4.0   elasticsearch-7.4.0-icoding3

2、修改elasticsearch.yml配置文件

1)、创建日志目录

cd /opt
mkdir logs
mkdir data

#授权给icoding用户
chown -R icoding:icoding ./logs
chown -R icoding:icoding ./data

打开elasticsearch.yml配置,分别配置下面三个节点的配置文件

vi /opt/elasticsearch-7.4.0-icoding1/config/elasticsearch.yml
vi /opt/elasticsearch-7.4.0-icoding2/config/elasticsearch.yml
vi /opt/elasticsearch-7.4.0-icoding3/config/elasticsearch.yml
## 集群名称,保证唯一
cluster.name: icoding-course
#### 节点名称,必须不一样
node.name: icoding-1
#是不是有资格成为主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#ip地址.
network.host: 0.0.0.0
#端口
http.port: 9201
#内部节点之间沟通端口
transport.tcp.port: 9700
#es7.x  之后新增的配置,节点发现
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
#es7.x  之后新增的配置,初始化一个新的集群时需要次配置来选举master
cluster.initial_master_nodes: ["icoding-1","icoding-2","icoding-3"]
#数据和存储路径
path.data: /opt/data
path.logs: /opt/logs

#如果是CentOS 6版本  加入以下两行
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

2)、下面是elasticsearch-7.4.0-icoding1配置文件

cluster.name: icoding-course
node.name: icoding-1
node.master: true
node.data: true
node.max_local_storage_nodes: 3
network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9700
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
cluster.initial_master_nodes: ["icoding-1","icoding-2","icoding-3"]
path.data: /opt/data
path.logs: /opt/logs

#如果是CentOS 6版本  加入以下两行
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

3)、下面是elasticsearch-7.4.0-icoding2配置文件

cluster.name: icoding-course
node.name: icoding-2
node.master: true
node.data: true
node.max_local_storage_nodes: 3
network.host: 0.0.0.0
http.port: 9202
transport.tcp.port: 9800
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
cluster.initial_master_nodes: ["icoding-1","icoding-2","icoding-3"]
path.data: /opt/data
path.logs: /opt/logs

#如果是CentOS 6版本  加入以下两行
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

4)、下面是elasticsearch-7.4.0-icoding3配置文件

cluster.name: icoding-course
node.name: icoding-3
node.master: true
node.data: true
node.max_local_storage_nodes: 3
network.host: 0.0.0.0
http.port: 9203
transport.tcp.port: 9900
discovery.seed_hosts: ["localhost:9700","localhost:9800","localhost:9900"]
cluster.initial_master_nodes: ["icoding-1","icoding-2","icoding-3"]
path.data: /opt/data
path.logs: /opt/logs

#如果是CentOS 6版本  加入以下两行
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

5)、执行授权

在root用户下执行
chown -R icoding:icoding /opt/elasticsearch-7.4.0-icoding1
chown -R icoding:icoding /opt/elasticsearch-7.4.0-icoding2
chown -R icoding:icoding /opt/e1asticsearch-7.4.0-icoding3
如果有的日志文件授权失败,可使用(也是在root下执行)

cd /opt/elasticsearch-7.4.0-icoding1
chown -R icoding:icoding logs
cd /opt/elasticsearch-7.4.0-icoding2
chown -R icoding:icoding logs
cd /opt/elasticsearch-7.4.0-icoding3
chown -R icoding:icoding logs

6)、设置ES的JVM占用内存参数

启动之前,设置ES的JVM占用内存参数,防止内存不足错误

vi /opt/elasticsearch-7.4.0-icoding1/config/jvm.options
vi /opt/elasticsearch-7.4.0-icoding2/config/jvm.options
vi /opt/elasticsearch-7.4.0-icoding3/config/jvm.options

默认情况下,ES启动JVM最小内存1G,最大内存1G

-Xms256m
-Xmx256m

尽量全部修改为256m

7)、访问节点 依次启动我们搭建的es(切换为普通用户再启动)

cd /opt/elasticsearch-7.4.0-icoding1/bin/
./elasticsearch
cd /opt/elasticsearch-7.4.0-icoding2/bin/
./elasticsearch
cd /opt/elasticsearch-7.4.0-icoding3/bin/
./elasticsearch

8)、查看集群状态

打开浏览器输入:http://192.168.189.129:9201/_cat/health?v,如果返回的node.total是3,代表集群搭建成功。