1. 程式人生 > >Elasticsearch 6.X安裝

Elasticsearch 6.X安裝

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