【摘要】搭建含有2個(gè)節(jié)點(diǎn)的ES集群,ES版本為,本次搭建是在華為云CCE平臺(tái)邮府,這里屏蔽平臺(tái)相關(guān)信息。
注意:安全組策略記得要配置护盈,否則可能無法訪問9200和9300端口挟纱。
兩個(gè)主機(jī)IP:
192.168.0.86
192.168.0.243
1、安裝JDK
下載JDK腐宋,解壓紊服,然后在/etc/profile文件最后添加環(huán)境變量
export JAVA_HOME=/home/es/jdk1.8.0_281
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
2、創(chuàng)建ES用戶
因?yàn)镋S不能使用root啟動(dòng)胸竞,所以需要?jiǎng)?chuàng)建一個(gè)新用戶
創(chuàng)建用戶:useradd es
設(shè)置密碼:passwd es
切換用戶:su - es
3欺嗤、安裝ES
下載ES壓縮包,解壓然后分別修改兩個(gè)臺(tái)機(jī)器上的config/elasticsearch.yml文件卫枝。配置相關(guān)意義:
屬性名 | 說明 |
---|---|
cluster.name | 配置elasticsearch的集群名稱煎饼,默認(rèn)是elasticsearch。建議修改成一個(gè)有意義的名稱校赤。 |
node.name | 節(jié)點(diǎn)名吆玖,es會(huì)默認(rèn)隨機(jī)指定一個(gè)名字,建議指定一個(gè)有意義的名稱马篮,方便管理 |
path.conf | 設(shè)置配置文件的存儲(chǔ)路徑沾乘,tar或zip包安裝默認(rèn)在es根目錄下的config文件夾,rpm安裝默認(rèn)在/etc/ elasticsearch |
path.data | 設(shè)置索引數(shù)據(jù)的存儲(chǔ)路徑浑测,默認(rèn)是es根目錄下的data文件夾翅阵,可以設(shè)置多個(gè)存儲(chǔ)路徑歪玲,用逗號隔開 |
path.logs | 設(shè)置日志文件的存儲(chǔ)路徑,默認(rèn)是es根目錄下的logs文件夾 |
path.plugins | 設(shè)置插件的存放路徑掷匠,默認(rèn)是es根目錄下的plugins文件夾 |
bootstrap.memory_lock | 設(shè)置為true可以鎖住ES使用的內(nèi)存滥崩,避免內(nèi)存進(jìn)行swap |
network.host | 設(shè)置bind_host和publish_host,設(shè)置為0.0.0.0允許外網(wǎng)訪問 |
http.port | 設(shè)置對外服務(wù)的http端口讹语,默認(rèn)為9200钙皮。 |
transport.tcp.port | 集群結(jié)點(diǎn)之間通信端口 |
discovery.zen.ping.timeout | 設(shè)置ES自動(dòng)發(fā)現(xiàn)節(jié)點(diǎn)連接超時(shí)的時(shí)間,默認(rèn)為3秒募强,如果網(wǎng)絡(luò)延遲高可設(shè)置大些 |
discovery.zen.minimum_master_nodes | 主結(jié)點(diǎn)數(shù)量的最少值 ,此值的公式為:(master_eligible_nodes / 2) + 1 株灸,比如:有3個(gè)符合要求的主結(jié)點(diǎn),那么這里要設(shè)置為2 |
192.168.0.86中的配置
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: node-1
node.master: true
node.data: true
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /home/es/data
#
# Path to log files:
#
path.logs: /home/es/logs
network.host: 192.168.0.86
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["192.168.0.86:9300","192.168.0.243:9300"]
discovery.zen.minimum_master_nodes: 2
192.168.0.243中的配置
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: node-2
node.master: true
node.data: true
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /home/es/data
#
# Path to log files:
#
path.logs: /home/es/logs
network.host: 192.168.0.243
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["192.168.0.86:9300","192.168.0.243:9300"]
discovery.zen.minimum_master_nodes: 2
4擎值、啟動(dòng)ES
分別在兩臺(tái)機(jī)器下面的bin文件下面啟動(dòng)es,啟動(dòng)后訪問http://192.168.0.86:9300
./elasticsearch
FAQ
問題
max file descriptors [65535] for elasticsearch process is too low
解決辦法
切換到root用戶修改
vim /etc/security/limits.conf
在最后面追加下面內(nèi)容
es hard nofile 65536
es soft nofile 65536