Elasticsearch7.15.2 分布式集群安装(linux环境)
2022-09-06 22:39:47
前言:一到六演示采用伪分布式,七单独介绍分布式集群方式
文章目录
一、前期准备
ip
| 端口
| 节点
|
192.168.159.134
| 9200
| node1
|
192.168.159.134
| 9201
| node2
|
192.168.159.134
| 9202
| node3
|
请使用root用户操作,需要es用户操作的地方,我会提前说明。
https://www.elastic.co/cn/
1. 下载
我存放的目录在/app下面
2. 解压
3.创建es用户
es7不能使用root用户启动,因此,需要创建es操作用户
4. 增加资源分配
增加资源分配,资源分配不够进程会自动关闭服务
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
5. 内核参数
添加内容:
6. 刷新 配置
为了演示方便,这里演示采用伪集群配置,本文末尾附上,集群配置
二、node1节点
使用root用户操作
2.1. 重命名
2.1. 编辑配置
cd /app/elasticsearch-node1/config/
vim
cluster.name: dianping-app
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
cluster.initial_master_nodes: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
第2处
第3处
# 本机运行es服务器地址:
network.host: 0.0.0.0
# http端口是为了响应restful的请求
http.port: 9200
# transport做集群之间指令通信的
transport.tcp.port: 9300
# 允许跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
第4处
# 发现es集群节点
discovery.seed_hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
# 初始化竞选主master(3台有资格,最终master节点通过算法决定的)
cluster.initial_master_nodes: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
三、node2节点
使用root用户操作
3.1. 复制node-1
3.2. 修改配置
cd /app/elasticsearch-node2/config/
vim
node.name: node-2
http.port: 9201
transport.tcp.port: 9301
第1处
修改node名称:
第2处
# http端口是为了响应restful的请求
http.port: 9201
# transport做集群之间指令通信的
transport.tcp.port: 9301
四、node3节点
使用root用户操作
4.1. 复制node-1
3.2. 修改配置
cd /app/elasticsearch-node3/config/
vim
node.name: node-3
http.port: 9202
transport.tcp.port: 9302
第1处
第2处
# http端口是为了响应restful的请求
http.port: 9202
# transport做集群之间指令通信的
transport.tcp.port: 9302
五、赋予权限和启动
使用root用户操作
5.1. 赋予权限
cd /app
chown es.es elasticsearch-node1/ -R
chown es.es elasticsearch-node2/ -R
chown
5.2. 切换用户
5.3. es启动node1
5.4. es启动node2
5.5. es启动node3
5.6. 防火墙配置
- 第2种:防火墙允许9200/9201/9202端口访问
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9201/tcp --permanent
firewall-cmd --zone=public --add-port=9202/tcp --permanent
firewall-cmd --reload
六、服务验证
6.1. 本机验证
6.2. 浏览器验证
http://192.168.159.134:9200/_cat/health
http://192.168.159.134:9200/_cat/health
七、集群配置
ip
| 端口
| 节点
|
192.168.159.134
| 9200
| node1
|
192.168.159.135
| 9200
| node2
|
192.168.159.136
| 9200
| node3
|
7.1. node1
在192.168.159.134服务器操作
cluster.name: dianping-app
node.name: node-1
path.data: /app/elasticsearch-7.15.2/data
path.logs: /app/elasticsearch-7.15.2/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["192.168.159.134:9200", "192.168.159.135:9200", "192.168.159.136:9300"]
cluster.initial_master_nodes: ["192.168.159.134:9200", "192.168.159.135:9200", "192.168.159.136:9300"]
7.2. node2
在192.168.159.135服务器操作
cluster.name: dianping-app
node.name: node-2
path.data: /app/elasticsearch-7.15.2/data
path.logs: /app/elasticsearch-7.15.2/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["192.168.159.134:9200", "192.168.159.135:9200", "192.168.159.136:9300"]
cluster.initial_master_nodes: ["192.168.159.134:9200", "192.168.159.135:9200", "192.168.159.136:9300"]
7.1. node3
在192.168.159.136服务器操作
cluster.name: dianping-app
node.name: node-3
path.data: /app/elasticsearch-7.15.2/data
path.logs: /app/elasticsearch-7.15.2/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.seed_hosts: ["192.168.159.134:9200", "192.168.159.135:9200", "192.168.159.136:9300"]
cluster.initial_master_nodes: ["192.168.159.134:9200", "192.168.159.135:9200", "192.168.159.136:9300"]
本文摘自 :https://blog.51cto.com/g