這篇文章主要為大家展示了“elasticsearch-2.1.1集群搭建的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“elasticsearch-2.1.1集群搭建的示例分析”這篇文章吧。
成都創(chuàng)新互聯(lián)公司是專業(yè)的安達網(wǎng)站建設(shè)公司,安達接單;提供網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行安達網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
elasticsearch3.x發(fā)布有一段時間了,抽空把集群搭起來,做點實驗
-------------------------------------------------------------------------------------正文------------------------------------------------------------------------------------
elasticsearch2.7的搭建非常簡單,只需要把tar.gz的包下載到linux服務(wù)器上解壓縮,然后在bin目錄下啟動es即可,
集群的搭建也非常簡單,保證cluster_name一致, node_name不一致就好了,
可以在同一個網(wǎng)段自動發(fā)現(xiàn)新節(jié)點,也可以在配置文件的discovery.zen.ping.unicast.hosts屬性中指定集群的節(jié)點IP;
----------------------------------------------------------------------------------接下來開始填坑------------------------------------------------------------------------------
啟動失敗---->
坑一:Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
填坑:解釋為“防止attacker 獲取root權(quán)限”, 如果是RPM包安裝,會自動創(chuàng)建elastsearch組和elastsearch用戶,設(shè)置好密碼,換一個用戶啟動即可
坑二:Increase RLIMIT_MEMLOCK, soft limit: XXXXX, hard limit: XXXXX
填坑:es為了性能考慮,推薦關(guān)掉swap,并鎖定一部分mem,按照日志中的指引操作即可
一般處理好這兩個,注意一下文件和日志的權(quán)限,基本就能正常的啟動了;
搭建集群失敗-->
首先要注意的一點,在1.7的時候,es判斷集群是否可用時,會用index.number_of_replicas去判斷,
但是在2.1.1中,這個變成了discovery.zen.minimum_master_nodes,當(dāng)集群的node低于設(shè)定值的時候,集群會無法訪問
PS:這個參數(shù)在介紹中是用來防止選舉master發(fā)生腦裂的一個參數(shù),實際上當(dāng)存活節(jié)點數(shù)低于這個值,就選舉不出master了;
測試中采用四個node來搭建集群
坑三:手動把四個host寫進了discovery.zen.ping.unicast.hosts,但是沒有手動指定discovery.zen.minimum_master_nodes的值,每一個node啟動以后都把自己設(shè)置為Master
填坑:network.host默認采用的是127.0.0.1,這個問題可能會受到hosts的影響,為了意義明確,寫成機器的IP,問題解決
坑四:手動把四個host寫進了discovery.zen.ping.unicast.hosts,并且手動指定discovery.zen.minimum_master_nodes的值,啟動node以后出現(xiàn)報錯,ping其他的node超時 or 不停的等待初始化;
填坑:推測es自身應(yīng)該是自動計算這個discovery.zen.minimum_master_nodes的, 如果手動指定以后,往集群中添加機器時,數(shù)量小于discovery.zen.minimum_master_nodes就會出現(xiàn)這種現(xiàn)象,
只需要繼續(xù)往里面添加節(jié)點,直到超過手動指定的值,集群會自動選舉Master,并正常運轉(zhuǎn)起來。
總結(jié):
不要用root啟動,修改memlock的設(shè)置,手動指定network.host的值,discovery.zen.minimum_master_nodes可以手動寫,也可以不寫,保證cluster_name一致, node_name不一致,es2.1.1的集群就可以正常啟動了
PS:jdk至少是1.7, 作為測試用的話,ES_HEAP_SIZE可以不寫
以上是“elasticsearch-2.1.1集群搭建的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!