Elasticsearch6.2.2 安裝手冊
1 說明
本手冊針對的是ES生產環境,使用3臺或以上的服務器構建高可用集羣。
服務器版本CenterOS 6.5
2 安裝包下載和解壓
官網地址:https://www.elastic.co/cn/
下載鏈接:https://www.elastic.co/cn/downloads/elasticsearch
下載包檢索頁面:
https://www.elastic.co/cn/downloads/past-releases#elasticsearch
2 解壓
tar -zxvf elasticsearch-6.2.2.tar.gz -C /usr/local
3 創建用戶
useradd elasticsearch
cd /usr/local
chown -R elasticsearch elasticsearch-6.2.2/ # 授權
4 配置
配置文件在/usr/local/elasticsearch-6.2.2/config下,有3個文件。
- elasticsearch.yml用於配置Elasticsearch。
- jvm.options用於配置Elasticsearch JVM設置。
- log4j2.properties用於配置Elasticsearch 日誌記錄。
4.1 JVM配置
jvm.options
# Xmx不超過物理RAM的50%,以確保有足夠的物理RAM供內核緩存文件。過大還會增加FGC的時間。
-Xms1g
-Xmx1g
4.2 ES配置
elasticsearch.yml
# 集羣名稱
cluster.name: archives-[客戶簡寫]-pro
# 節點名稱,若不配,ES默認會生成一個UUID(前7位),且ID是持久化的,爲了便於管理和記憶,需要自定義
node.name: archives-[客戶簡寫]-nodeX # 也可以直接使用服務器主機名:${HOSTNAME}
# 配置基本路徑,爲了防止升級ES時丟失數據庫數據和日誌記錄,必須設置到單獨的目錄中
path.data: /var/elasticsearch/data
path.logs: /var/elasticsearch/logs
# 禁用內存鎖
bootstrap.memory_lock: false
bootstrap.system_call_filter: false #Centos6不支持SecComp
# 爲了成功形成集羣,需要配置network.host
network.host: 本機IP
# 發現設置
discovery.zen.ping.unicast.hosts: ["本機IP", 節點ip", "節點ip"]
# 爲了防止腦裂,設置具備成爲master資格的節點數/2 +1
discovery.zen.minimum_master_nodes:2
創建目錄:
mkdir /var/elasticsearch
mkdir /var/elasticsearch/data
mkdir /var/elasticsearch/logs
# 授權
chown -R elasticsearch /var/elasticsearch/
4.3 系統配置
4.3.1 limits.conf
vi /etc/security/limits.conf
將以下行添加到limits.conf
# 文件描述符,至少65536
elasticsearch soft nofile 65536
elasticsearch hard nofile 131072
# 線程數,確保Elasticearch用戶可以創建的線程數至少爲4096
elasticsearch soft nproc 4096
elasticsearch hard nproc 4096
該更改,需要shell斷開連接後重連,纔會生效(繼續配置,下面的配置還需要重啓)
4.3.2 禁用swap
vi /etc/fstab
註釋帶swap的一行(第10行附近)
4.3.3 虛擬存儲器
vi /etc/sysctl.conf
添加
vm.max_map_count=262144
4.3.4 防火牆配置
/etc/sysconfig/iptables
iptables -t filter -I INPUT 5 -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT
iptables -t filter -I INPUT 6 -m state --state NEW -m tcp -p tcp --dport 9300 -j ACCEPT
service iptables save
4.3.5 重啓讓配置生效
reboot
5 啓動
cd /usr/local/elasticsearch-6.2.2/bin
su elasticsearch
./elasticsearch
6 安裝服務和開機自啓
創建/etc/init.d/elasticsearch文件
#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch
case "$1" in
start)
su elasticsearch<<!
cd /usr/local/elasticsearch-6.2.2
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
stop)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
;;
restart)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
su brian<<!
cd /usr/local/elasticsearch-6.2.2
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
*)
echo "start|stop|restart"
;;
esac
exit $?
授權並設置開機啓動:
chmod +x /etc/init.d/elasticsearch
chkconfig --add /etc/init.d/elasticsearch
操作命令:
service elasticsearch start
service elasticsearch stop
service elasticsearch restart