ElasticSearch5.x實踐_day01_02_ElasticSearch集羣部署

ElasticSearch集羣部署

安裝Java環境(在此再也不贅述)html

[zhubo@localhost elasticsearch-5.4.1]$ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

ElasticSearch下載    https://www.elastic.co/java

去官網找到ElasticSearch最新版本地址,如今官網最新的穩定版是5.4.1版本node

$ curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.1.zip

建立用戶和用戶組爲(zhubo),爲zip文件賦予該用戶和用戶組,將文件移到該用戶可讀寫的文件夾下(/home/zhubo/src/),改成該用戶登陸模式對zip文件進行解壓git

[zhubo@localhost src]$ pwd
/home/zhubo/src
[zhubo@localhost src]$ chown zhubo:zhubo elasticsearch-5.4.1.zip 
[zhubo@localhost src]$ unzip elasticsearch-5.4.1.zip

ElasticSearch一共準備了三個節點(192.168.1.171/192.168.1.172/192.168.1.173)github

環境均是CentOS6.8  ,   JDK1.8.0_131bootstrap

修改集羣配置文件cors

# ======================== Elasticsearch Configuration =========================
# ElasticSearch 各個版本Doc
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
# ---------------------------------- Cluster -----------------------------------
# #配置es的集羣名稱, es會自動發如今同一網段下的es,若是在同一網段下有多個集羣,就能夠用這個屬性來區分不一樣的集羣
#
cluster.name: zhubo
# ------------------------------------ Node ------------------------------------
# #節點名稱
node.name: node-1
# #指定該節點是否有資格被選舉成爲node
node.master: true
# #指定該節點是否存儲索引數據,默認爲true
node.data: true
#這是在由於Centos6不支持SecComp,而ES5.2.0默認bootstrap.system_call_filter爲true進行檢測,
#因此致使檢測失敗,失敗後直接致使ES不能啓動
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
# ---------------------------------- Network -----------------------------------
# #設置綁定的ip地址還有其它節點和該節點交互的ip地址
network.host: 192.168.1.171
# #指定http端口,你使用head、kopf等相關插件使用的端口
http.port: 9200
# #設置節點間交互的tcp端口,默認是9300
transport.tcp.port: 9300
# --------------------------------- Discovery ----------------------------------
# #設置集羣中master節點的初始列表,能夠經過這些節點來自動發現新加入集羣的節點
#
discovery.zen.ping.unicast.hosts: ["192.168.1.171:9300","192.168.1.172:9300","192.168.1.173:9300"]
#
# #若是要使用head,那麼須要增長新的參數,使head插件能夠訪問es
http.cors.enabled: true
http.cors.allow-origin: "*"
#

scp遠程拷貝:curl

[zhubo@localhost src]$ pwd
/home/zhubo/src
[zhubo@localhost src]$ scp -r /home/zhubo/src/elasticsearch-5.4.1 zhubo@192.168.1.172:/home/zhubo/src/elasticsearch-5.4.1
[zhubo@localhost src]$ scp -r /home/zhubo/src/elasticsearch-5.4.1 zhubo@192.168.1.173:/home/zhubo/src/elasticsearch-5.4.1

修改節點名稱(node.name)和當前節點的IP地址(network.host)elasticsearch

啓動:tcp

./bin/elasticsearch  前臺啓動

./bin/elasticsearch -d 守護進程啓動

ElasticSearch過程當中出現的問題

問題一:ERROR: bootstrap checks failed

max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]

解決:切換到root用戶,編輯limits.conf 添加相似以下內容

vi /etc/security/limits.conf 

添加以下內容:

*  soft nofile 65536

*  hard nofile 131072

*  soft nproc 2048

*  hard nproc 4096

問題二:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]

解決:切換到root用戶,進入limits.d目錄下修改配置文件。

vi /etc/security/limits.d/90-nproc.conf 

修改以下內容:

*  soft nproc 1024

#修改成

*  soft nproc 2048

問題三:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

解決:切換到root用戶修改配置sysctl.conf

vi /etc/sysctl.conf 

添加下面配置:

vm.max_map_count=655360

並執行命令:

sysctl -p

而後,從新啓動elasticsearch,便可啓動成功。

問題四:啓動異常:ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

問題緣由:由於Centos6不支持SecComp,而ES5.2.1默認bootstrap.system_call_filter爲true進行檢測,因此致使檢測失敗,失敗後直接致使ES不能啓動。詳見 :https://github.com/elastic/elasticsearch/issues/22899

解決:在elasticsearch.yml中配置bootstrap.system_call_filter爲false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

 

啓動異常:ERROR: bootstrap checks failed

ystem call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

 

問題緣由:由於Centos6不支持SecComp,而ES5.2.1默認bootstrap.system_call_filter爲true進行檢測,因此致使檢測失敗,失敗後直接致使ES不能啓動。詳見 :https://github.com/elastic/elasticsearch/issues/22899

 

解決方法:在elasticsearch.yml中配置bootstrap.system_call_filter爲false,注意要在Memory下面: bootstrap.memory_lock: false bootstrap.system_call_filter: false

相關文章
相關標籤/搜索