Elasticsearch 6.X安裝
阿新 • • 發佈:2018-12-09
1、獲取安裝包,並解壓
wget
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.1.tar.gz
tar -zxvf elasticsearch-6.1.1.tar.gz
ln -s elasticsearch-6.1.1 elasticsearch
2、配置,進入config目錄
1)配置elasticsearch.yml
建立data目錄:索引資料的儲存路徑
建立logs目錄:日誌檔案的儲存路徑
配置資訊如下:
cluster.name: my-application #叢集的名稱
node.name: master #節點名稱,其餘兩個節點分別為slave1和slave2
path.data: /usr/local/src/elasticsearch/elasticsearch/data #索引資料的儲存路徑
path.logs: /usr/local/src/elasticsearch/elasticsearch/logs #日誌檔案的儲存路徑
bootstrap.memory_lock: true #設定為true來鎖住記憶體。因為記憶體交換到磁碟對伺服器效能來說是致命的,當jvm開始swapping時es的效率會降低,所以要保證它不swap
network.host: 172.16.209.10 #繫結的ip地址 ,其他節點也應該為對應的IP地址
http.port: 9200 #設定對外服務的http埠,預設為9200
discovery.zen.ping.unicast.hosts: ["172.16.209.10", "172.16.209.11", "172.16.209.12"] #叢集IP地址
discovery.zen.minimum_master_nodes: 2 #為了避免腦裂,叢集節點數最少為半數+1
2)配置 jvm.options檔案
# Xms represents the initial size of total heap space ,即初始時,java堆空間大小
# Xmx represents the maximum size of total heap space ,最大堆空間大小
-Xms64m
-Xmx256m
3) log4j2.properties日誌格式配置檔案,暫時不用改
3、將安裝包傳送給slave1和slave2
scp -r elasticsearch/ [email protected]:/usr/local/src
scp -r elasticsearch/ [email protected]:/usr/local/src
並修改elasticsearch.yml 配置檔案中的node.name 和 network.host屬性
4、配置elasticsearch環境變數
配置三臺叢集的環境變數,vi /etc/profile
增加:
export ES_HOME=/usr/local/src/elasticsearch/elasticsearch
export PATH=$PATH:$ES_HOME/bin:
然後執行:
source /etc/profile 生效
5、啟動elasticsearch
輸入./elasticsearch 啟動,但是報錯
[ [email protected] bin]# ./elasticsearch
[2018-12-08T22:46:45,929][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [master] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-6.1.1.jar:6.1.1]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-6.1.1.jar:6.1.1]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.1.1.jar:6.1.1]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.1.1.jar:6.1.1]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.1.1.jar:6.1.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-6.1.1.jar:6.1.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:85) ~[elasticsearch-6.1.1.jar:6.1.1]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:104) ~[elasticsearch-6.1.1.jar:6.1.1]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:171) ~[elasticsearch-6.1.1.jar:6.1.1]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:322) ~[elasticsearch-6.1.1.jar:6.1.1]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-6.1.1.jar:6.1.1]
... 6 more
解決辦法:
chown -R XXX elasticsearch 用自己的使用者啟動ES
之後還是有報錯:
[2018-12-08T23:00:47,128][INFO ][o.e.b.BootstrapChecks ] [slave1] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: [5] bootstrap checks failed
[1]: initial heap size [67108864] not equal to maximum heap size [268435456]; this can cause resize pauses and prevents mlockall from locking the entire heap
[2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[3]: memory locking requested for elasticsearch process but memory is not locked
[4]: max number of threads [3802] for user [lihao] is too low, increase to at least [4096]
[5]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解決辦法:
[1]、修改jvm.options 配置檔案,記憶體改為一致即可
[2]、vi /etc/security/limits.conf,增加
* soft nofile 65536
* hard nofile 131072
其中* 表示所有使用者,如果單獨指定使用者,*這裡使用者名稱取代即可
[3]、vi /etc/security/limits.conf
* soft memlock unlimited
* hard memlock unlimited
[4]、ulimit -a 檢視:
然後:cd /etc/security/limits.d/目錄,檢視:
編輯20-nproc.conf,增加紅框中內容:
重啟系統。
然後用ulimit -a命令檢視 ,修改成功:
[5]、編輯vi /etc/sysctl.conf檔案:增加
vm.max_map_count=655360
然後:sysctl -p
6、進入bin目錄,然後輸入命令elasticsearch,啟動成功:
驗證:curl master:9200