前言:一到六演示采用偽分布式,七單獨介紹分布式集群方式
文章目錄
一、前期準備
ip
| 端口
| 節(jié)點
|
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.創(chuàng)建es用戶
es7不能使用root用戶啟動,因此,需要創(chuàng)建es操作用戶
4. 增加資源分配
增加資源分配,資源分配不夠進程會自動關閉服務
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
5. 內(nèi)核參數(shù)
添加內(nèi)容:
6. 刷新 配置
為了演示方便,這里演示采用偽集群配置,本文末尾附上,集群配置
二、node1節(jié)點
使用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處
# 發(fā)現(xiàn)es集群節(jié)點
discovery.seed_hosts: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
# 初始化競選主master(3臺有資格,最終master節(jié)點通過算法決定的)
cluster.initial_master_nodes: ["127.0.0.1:9300", "127.0.0.1:9301", "127.0.0.1:9302"]
三、node2節(jié)點
使用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節(jié)點
使用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
| 端口
| 節(jié)點
|
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