Linux搭建es集群詳細步驟
今天寫一篇Linux環境下搭建es集群文章,大家跟著步驟來,避免踩坑(自己踩過很多坑真的很煩很煩的),es集群是在單機版es的基礎上的,所以下面我們先開始搭建單機版es,
重點宣告一下虛擬機最好用CentOS7版本 不然中間會有很多坑 最好用7版本
步驟:
1、下載或者上傳安裝包(我這里用的Linux64(TAR)7.4.0版本 自帶JDK) 安裝包下載傳送門
2、解壓安裝包
3、創建普通用戶
4、為新用戶授權
5、修改elasticsearch.yml檔案
6、修改其他組態檔
7、啟動elasticsearch
8、訪問elasticsearch
一、ElasticSearch安裝
1、上傳ElasticSearch安裝包到/opt目錄下
可以用Xftp直接拖動安裝包,方便快捷

2、執行解壓操作,如下
#將elasticsearch-7.4.0-linux-x86_64.tar. gz解壓到opt檔案夾下. -C大寫
tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz -C /opt
3、創建普通用戶
因為安全問題,Elasticsearch 不允許root用戶直接運行,所以要創建新用戶,在root用戶中創建新用戶,執行如下命令:
useradd icoding #新增icoding用戶
passwd icoding #為icoding用戶設定密碼
userde1 -r icoding #如果錯了可以洗掉再加
#為普通用戶授權 否則無法運行es
cd /opt/
chown -R icoding:icoding elasticsearch-7.4.0
4、修改elasticsearch.yml檔案
vi /opt/elasticsearch-7.4.0/config/elasticsearch.yml
# ================= Elasticsearch configuration =================
cluster.name: icoding-course
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
#如果是CentOS 6版本 加入以下兩行
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
cluster.name:配置elasticsearch的集群名稱,默認是elasticsearch,建議修改成一個有意義的名稱
node.name:節點名,elasticsearch會默認隨機指定一個名字,建議指定一個有意義的名稱,方便管理
network.host:設定為0.0.0.0允許外網訪問
http.port: Elasticsearch的http訪問埠
cluster.initial_master_nodes:初始化新的集群時需要此配置來選舉master
5、修改組態檔
新創建的icoding用戶最大可創建檔案數太小,最大虛擬記憶體太小,切換到root用戶,編輯下列組態檔,添加類似如下內容
#切換到root用戶
su root
#1.===最大可創建檔案數太小======
vi /etc/security/limits.conf
#在檔案末尾中增加下面內容
icoding soft nofile 65536
icoding hard nofile 65536
#====
vi /etc/security/limits.d/90-nproc.conf
#在檔案末尾中增加下面內容
icoding soft nofile 65536
icoding hard nofile 65536
* hard nproc 4096
#注:*代表Linux所有用戶名稱
#2.===最大虛擬記憶體太小====
vi /etc/sysctl.conf
#在檔案中增加下面內容
vm.max_map_count=655360
#重新加載,輸入下面命令:
sysctl -p
6、啟動elasticsearch
su icoding
#切換到icoding用戶啟動
cd /opt/elasticsearch-7.4.0/bin
./elasticsearch #啟動
二、訪問elasticsearch
瀏覽器輸入(自己虛擬器ip ifconfig命令查看)
http://192.168.200.130:9200/
1、在訪問elasticsearch前,請確保防火墻是關閉的,執行命令:
#暫時關閉防火墻
systemctl stop firewalld
#或者
#永久設定防火墻狀態
systemctl enable firewalld.service #打開防火墻永久性生效,重啟后不會復原
systemctl disable firewalld.service #關閉防火墻,永久性生效,重啟后不會復原
#以上命令關閉防火墻不管用試試下面這行
service iptables stop
到此 單機版es就配置完畢! 覺得湊乎的麻煩大家點個贊!不勝感激-,-
接下來我們接著配置es集群!
整體步驟
步驟如下:
1、拷貝opt目錄下的elasticsearch-7.4.0安裝包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,代表集群搭建成功
在此,需要我們特別注意的是,像本文這樣單服務器多節點(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.O-icoding1
chown -R icoding:icoding /opt/elasticsearch-7.4.O-icoding2
chown -R icoding:icoding /opt/e1asticsearch-7.4.O-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,代表集群搭建成功
到此,es集群搭建完畢,感謝大家的耐心,感謝點贊-,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/271948.html
標籤:其他
下一篇:JavaScript - 一維陣列 / 二維陣列根據指定的物件屬性獲取該物件在陣列中的下標(對陣列進行增刪還要確定該項位置)
