本文將詳細介紹如何在 Linux 環境下搭建一個 Elasticsearch 集群,涵蓋環境準備、配置優化、服務啟動等多個環節。
一、環境準備
-
創建安裝目錄
mkdir /es cd /es
-
解壓 Elasticsearch 安裝包
tar -xzf elasticsearch-7.10.1-linux-x86_64.tar.gz -C /es
-
配置環境變量 編輯
~/.bashrc
文件,加入以下內容:export JAVA_HOME=/es/elasticsearch-7.10.1/jdk export ES_JAVA_HOME=/es/elasticsearch-7.10.1/jdk export CLASSPATH=$JAVA_HOME/lib export PATH=$JAVA_HOME/bin:$PATH
執行以下命令以生效:
source ~/.bashrc
-
創建運行用戶和分配權限
groupadd es useradd es -g es -p 12345678 chown -R es:es /es/elasticsearch-7.10.1/
二、配置 Elasticsearch
-
修改配置文件 編輯
/es/elasticsearch-7.10.1/config/elasticsearch.yml
:cluster.name: my-application node.name: node-2 path.data: /data/data path.logs: /data/logs network.host: 0.0.0.0 network.publish_host: 172.16.0.80 node.attr.ip: 172.16.0.80 http.port: 9200 discovery.seed_hosts: ['172.16.0.80','172.16.0.26','172.16.0.250'] cluster.initial_master_nodes: ['node-1', 'node-2', 'node-3'] action.destructive_requires_name: true node.roles: [master, data]
-
掛載數據盤
lsblk mkfs.ext4 /dev/vdb mount /dev/vdb /data lsblk chown -R es:es /data/
-
調整虛擬內存 編輯
/etc/sysctl.conf
文件,添加以下內容:vm.max_map_count = 262144
立即生效:
sysctl -p
三、啟動服務
-
以運行用戶啟動 Elasticsearch 切換到
es
用戶并啟動服務:su es ./elasticsearch -d
-
驗證集群節點狀態 使用以下命令查看節點狀態:
curl -X GET "localhost:9200/_cat/nodes?v&h=ip,node.role,name"
四、附加說明
-
修復權限問題 如果運行過程中出現權限問題,可以執行以下命令:
chown -R es:es /es/elasticsearch-7.10.1/ chown -R es:es /data chmod +x /es/elasticsearch-7.10.1/jdk/jre/bin/java
通過上述步驟,您應該能夠成功搭建并運行一個 Elasticsearch 集群。希望本文對您有所幫助!如有問題,歡迎留言討論。