一起养成写作习惯!这是我参与「掘金日新计划 · 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 name | node name | IP Addr | http端口/通信端口 |
|---|---|---|---|
| icoding-es | icoding1 | 192.168.200.130 | 9201 / 9700 |
| icoding-es | icoding1 | 192.168.200.130 | 9202 / 9800 |
| icoding-es | icoding1 | 192.168.200.130 | 9203 / 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,代表集群搭建成功。