elasticsearch 8.12.2集群搭建

環(huán)境準(zhǔn)備

  • centos 7.5 服務(wù)器3臺
  • elasticsearch-8.12.2-linux-x86_64.tar.gz 安裝包,命令如下(需要使用互聯(lián)網(wǎng)):
    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.12.2-linux-x86_64.tar.gz
  • jdk17,命令如下(需要使用互聯(lián)網(wǎng)):
    wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

部署

  • 1.修改文件句柄以及最大進(jìn)程數(shù)(三臺機(jī)器均執(zhí)行)
echo "* soft nofile 65535" >> /etc/security/limits.conf
echo "* hard nofile 65535" >> /etc/security/limits.conf
ulimit -n
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sysctl -p

-2.jdk17 配置(三臺機(jī)器均執(zhí)行)
本文是將jdk17放置/usr/local目錄下,安裝文件放過去之后直接執(zhí)行以下命令就可以,最后輸出版本信息表示配置成功了

cd /usr/local
tar -xvf jdk-17_linux-x64_bin.tar.gz
mv jdk-17.0.10 java17
cat  >>/etc/profile << EOF
JAVA_HOME=/usr/local/java17
ES_JAVA_HOME=\$JAVA_HOME
CLASSPATH=.:\$JAVA_HOME/lib/tools.jar
PATH=\$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH ES_JAVA_HOME
EOF
source /etc/profile
java -version
輸出的版本信息
  • 3.配置第一個節(jié)點(diǎn)
    本文是將所有文件放在"/data目錄下",請根據(jù)自身情況對目錄進(jìn)行修改

登錄其中一臺服務(wù)器,解壓tar包,并創(chuàng)建存儲目錄

cd /data
tar -xzf elasticsearch-8.12.2-linux-x86_64.tar.gz

創(chuàng)建存儲目錄,es專用賬戶,并授權(quán),以下命令直接粘貼執(zhí)行即可

cd /data
mkdir esdata
mkdir eslog
adduser es
su es
passwd <<EOF
es00823
es00823
EOF
exit
chown -R es /data/elasticsearch-8.12.2
chmod 777 /data/elasticsearch-8.12.2
chmod 777 /data/esdata
chmod 777 /data/eslog

制作證書,root賬號執(zhí)行

cd /data/elasticsearch-8.12.2
./bin/elasticsearch-certutil ca

以上命令會在/data/elasticsearch-8.12.2目錄下生產(chǎn)一個elastic-stack-ca.p12證書

操作截圖

繼續(xù)生成認(rèn)證文件

./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

操作截圖

將認(rèn)證文件copy到/data/elasticsearch-8.12.2/config目錄下

cp /data/elasticsearch-8.12.2/elastic-certificates.p12 /data/elasticsearch-8.12.2/config/

修改/data/elasticsearch-8.12.2/config/目錄下的elasticsearch.yml,直接copy下面的內(nèi)容,修改ip即可

cluster.name: face-features-c
node.name: face-node-1
path.data: /data/esdata
path.logs: /data/eslog
discovery.seed_hosts: ["10.26.13.175", "10.26.13.176", "10.26.13.177"]
cluster.initial_master_nodes: ["face-node-1", "face-node-2","face-node-3"]
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
xpack.security.http.ssl:
  enabled: false
xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  keystore.path: elastic-certificates.p12
  truststore.path: elastic-certificates.p12
transport.host: 10.26.13.175
network.host: 10.26.13.175
action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*

在環(huán)境變量中增加密碼,并重置文件權(quán)限,下面的命令都會要求輸入一個密碼就是前面生成文件時設(shè)置的密碼

cd /data/elasticsearch-8.12.2
./bin/elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password
./bin/elasticsearch-keystore add xpack.security.http.ssl.truststore.secure_password
./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
chmod 777 /data/elasticsearch-8.12.2/config/elasticsearch.keystore
chmod 777 /data/elasticsearch-8.12.2/config/elastic-certificates.p12

可以使用一下命令檢查環(huán)境變量中的密碼

cd /data/elasticsearch-8.12.2
./bin/elasticsearch-keystore list
密碼列表

啟動節(jié)點(diǎn)1

su es
cd /data/elasticsearch-8.12.2
./bin/elasticsearch -d
  • 4.配置剩余節(jié)點(diǎn)
    登錄節(jié)點(diǎn)1,切換到root賬號,將/data/elasticsearch-8.12.2進(jìn)行壓縮
cd /data
zip -r  elasticsearch-8.12.2.zip  elasticsearch-8.12.2

壓縮完成后,登錄其他節(jié)點(diǎn)copy文件,scp命令需要輸入密碼下面命令分步驟執(zhí)行

cd /data
scp root@10.26.13.175:/data/elasticsearch-8.12.2.zip .
unzip elasticsearch-8.12.2.zip

整個項(xiàng)目是從節(jié)點(diǎn)1復(fù)制過來的配置秘鑰的操作可以省略,直接創(chuàng)建存儲目錄,es專用賬戶,并授權(quán)

cd /data
mkdir esdata
mkdir eslog
adduser es
su es
passwd <<EOF
es00823
es00823
EOF
exit
chown -R es /data/elasticsearch-8.12.2
chmod 777 /data/elasticsearch-8.12.2
chmod 777 /data/esdata
chmod 777 /data/eslog

更改配置文件的ip

cd /data/elasticsearch-8.12.2/config/
vim elasticsearch.yml

僅需修改文件中的 node.name: face-node-2 transport.host: 10.26.13.176 network.host: 10.26.13.176三個屬性即可,其他無需變更

image.png

啟動節(jié)點(diǎn)

su es
cd /data/elasticsearch-8.12.2
./bin/elasticsearch -d

在每個節(jié)點(diǎn)創(chuàng)建kibana_user用戶,用于kibana配置

cd /data/elasticsearch-8.12.2
./bin/elasticsearch-users useradd kibana_user -p cccc00823 -r kibana_user,kibana_system

重置elastic賬號密碼,按照提示輸入,最終會輸出重置后的密碼,后續(xù)代碼使用此賬號密碼連接,kibana的登錄也使用此賬號

cd /data/elasticsearch-8.12.2
./bin/elasticsearch-reset-password -u elastic

命令行查看集群狀態(tài)

##先生成賬號密碼的base64串
echo -n "elastic:重置后的密碼" | base64
##ip換成自己的,“生成的base64串”替換為上一步生成的內(nèi)容,查看集群狀態(tài)
curl -X GET "http://10.26.13.175:9200/_cluster/health" -H 'Authorization: Basic 生成的base64串' -H 'Content-Type: application/json'
##ip換成自己的,“生成的base64串”替換為上一步生成的內(nèi)容,查看集群節(jié)點(diǎn)
curl -X GET "http://10.26.13.175:9200/_cat/nodes" -H 'Authorization: Basic  生成的base64串' -H 'Content-Type: application/json'
節(jié)點(diǎn)正常

集群狀態(tài)正常

kibana搭建

有條件的單獨(dú)使用一臺服務(wù)器部署,我這里就將kibana搭建到節(jié)點(diǎn)1,使用下面的命令下載kibana,下載完成后將包上傳至節(jié)點(diǎn)1
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.12.2-linux-x86_64.tar.gz
上傳完成后,直接復(fù)制粘貼下面的命令到命令行,回車就回自動完成配置并啟動后臺運(yùn)行,啟動成功后訪問http://10.26.13.175:5601/ ,并使用elastic賬戶登錄

cd /data
tar -xvf kibana-8.12.2-linux-x86_64.tar.gz
cat >> /data/kibana-8.12.2/config/kibana.yml <<EOF
server.host: "10.26.13.175"
elasticsearch.hosts: ["http://10.26.13.175:9200","http://10.26.13.176:9200","http://10.26.13.177:9200"]
elasticsearch.username: "kibana_user"
elasticsearch.password: "cccc00823"
EOF
cd /data/kibana-8.12.2/bin/
./kibana --allow-root > /dev/null 2>&1 &

停止kibana

 ps -ef |grep allow-root|grep -v "grep"|awk '{print $2}'|xargs kill

一些注意事項(xiàng)

  • es的啟動不能使用root賬戶,如果使用root賬號啟動會失敗,此時在切換es賬號啟動日終中會報一些文件沒有權(quán)限,但并不影響啟動,這是由于root賬號啟動會在/data/eslog文件夾下生產(chǎn)一些文件,而這些文件es賬號沒有權(quán)限操作,只要切換到root賬號把文件刪除就不會有報錯了
  • 集群拉起之后需要逐臺操作,將elasticsearch.yml文件中的cluster.initial_master_nodes: ["face-node-1", "face-node-2","face-node-3"]配置項(xiàng)注釋掉,并重新啟動,切記逐臺操作(全部停止我也沒試過,結(jié)果未知)
  • 第二個節(jié)點(diǎn)加入時都會報下面這個錯誤,這個是由于所有節(jié)點(diǎn)尚未加入導(dǎo)致的,忽略即可


    image.png
  • kibana的版本要與es版本一致否則會連不上
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容