安裝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 守護進程啓動
問題一: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