Centos7 搭建Elasticsearch 5.6 集羣

目前ES最新的版本,6系列爲6.4.0,5系列最新爲5.6.11,5.6相對成熟,周邊系統兼容性要好些,所以本文以5.6爲例進行介紹。

準備

節點規劃

IP cluster.name node.name
192.168.1.141 es_log es_1
192.168.1.142 es_log es_2
192.168.1.143 es_log es_3

安裝JDK

rpm -ivh jdk-8u181-linux-x64.rpm

安裝

導入yum庫

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch;\
tee /etc/yum.repos.d/elasticsearch.repo << 'EOF'
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

安裝

yum install elasticsearch -y

配置Limit

  • LimitMEMLOCK
    開啓內存鎖定
  • LimitNPROC
    進程數限制,系統支持的最大進程數:32768
    查看系統支持的最大進程數:cat /proc/sys/kernel/pid_max
  • LimitNOFILE
    文件描述符限制,系統支持的最大文件描述符:791020
    查看系統支持的最大文件描述符:cat /proc/sys/fs/file-max
mkdir /etc/systemd/system/elasticsearch.service.d;\
tee /etc/systemd/system/elasticsearch.service.d/override.conf << 'EOF'
[Service]
LimitMEMLOCK=infinity
LimitNOFILE=204800
LimitNPROC=4096
EOF

配置JVM(可選)

  • 默認是2G

  • 不要超過可用 RAM 的 50%

    Lucene 能很好利用文件系統的緩存,它是通過系統內核管理的。如果沒有足夠的文件系統緩存空間,性能會受到影響。 此外,專用於堆的內存越多意味着其他所有使用 doc values 的字段內存越少

  • 不要超過 32 GB

    如果堆大小小於 32 GB,JVM 可以利用指針壓縮,這可以大大降低內存的使用:每個指針 4 字節而不是 8 字節

sed -i '/-Xms2g/c\-Xms3g' /etc/elasticsearch/jvm.options;\
sed -i '/-Xmx2g/c\-Xmx3g' /etc/elasticsearch/jvm.options

配置elasticsearch.yml

  • cluster.name

    集羣名稱,默認是elasticsearch,建議修改爲更明確的名稱,比如es_log

  • node.name

    節點名,默認隨機指定一個name列表中名字,建議修改爲明確的名稱,比如es_1,es_2,es_3

  • network.host

    主機IP

  • path.data

    數據目錄

  • path.plugins

    插件目錄

  • path.logs

    日誌目錄

  • discovery.zen.ping.unicast.hosts

    節點發現

mkdir -p /home/elasticsearch/data /home/elasticsearch/plugins /home/elasticsearch/logs;\
chown -R elasticsearch. /home/elasticsearch;\
sed -i '/cluster.name/c\cluster.name: es_log' /etc/elasticsearch/elasticsearch.yml;\
sed -i '/node.name/c\node.name: es_1' /etc/elasticsearch/elasticsearch.yml;\
sed -i '/network.host/c\network.host: 192.168.1.141' /etc/elasticsearch/elasticsearch.yml;\
sed -i '/path.data/c\path.data: /home/elasticsearch/data' /etc/elasticsearch/elasticsearch.yml;\
sed -i '/path.plugins/c\path.plugins: /home/elasticsearch/plugins' /etc/elasticsearch/elasticsearch.yml;\
sed -i '/path.logs/c\path.logs: /home/elasticsearch/logs' /etc/elasticsearch/elasticsearch.yml;\
sed -i '/discovery.zen.ping.unicast.hosts/c\discovery.zen.ping.unicast.hosts: ["192.168.1.141","192.168.1.142","192.168.1.143"]' /etc/elasticsearch/elasticsearch.yml;\

啓動

systemctl enable elasticsearch;\
systemctl daemon-reload;\
systemctl start elasticsearch;\
systemctl status elasticsearch

配置防火牆

firewall-cmd --add-port=9200/tcp --permanent;\
firewall-cmd --add-port=9300/tcp --permanent;\
firewall-cmd --reload

查詢

#查看節點信息
curl -X GET http://192.168.1.141:9200/_nodes

#打開文件數信息
curl -X GET http://192.168.1.143:9200/_nodes/stats/process?filter_path=**.max_file_descriptors

#集羣健康狀態
curl -X GET http://192.168.1.141:9200/_cat/health?v

#查看集羣索引數
curl -X GET http://192.168.1.141:9200/_cat/indices?v

#查看磁盤分配情況
curl -X GET http://192.168.1.141:9200/_cat/allocation?v

#查看集羣節點
curl -X GET http://192.168.1.141:9200/_cat/nodes?v

#查看集羣其他信息
curl -X GET http://192.168.1.141:9200/_cat
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章