1、為什麼要搭建叢集呢
為了在本地更真實的模拟線上環境,因為線上環境都是叢集部署。而單機es執行個體無法真正的配置設定副本分片
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY5AzY3EDNiJ2NhBDN2IjMkZmY1kjMiVWNzMTMxYDNw8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
當驗證的問題涉及副本分片時,必須要搭建叢集環境了。
2、如何搭建
對于ES 6.6.1版本而言,就是修改config/elasticsearch.yml檔案。将裡面的
cluster.name: my-applicationnode.name: node-4
2項調整為具體的内容就可以了。多個執行個體的cluster.name保持一緻,執行個體的name能夠區分開即可。剩下的比如tcp port 、http port等通通不用處理。es會預設進行處理的。
剩下就開始執行bin下的elasticsearch腳本
接下來會遇到權限問題
第1個
第2個
它們的解決辦法是一樣的。打開系統偏好設定
你會發現你已經點了 任何來源 的選項了。我也很懵,感覺mac對于腳本和app還不是完全同等對待的。
點開左下角的鎖,然後再點選剛才的彈框的取消,這個時候你在3個選項上進行切換,否則被拒絕的腳本的無法出現
這個時候點選仍然允許。
當你在執行es的腳本時就可以順利的啟動執行個體了
再結合配置檔案的修改就可以順利啟動叢集了。
搭建完叢集就可以驗證問題了,es預設的日志隔離級别是無法知道查詢過程是如何進行的。當然最好驗證查詢的過程是看es的源碼,可惜源碼的build及啟動流程困難重重,看到網上也是無數人沒幾個成功的。無奈隻能借助看日志的方式看源碼了。将es 日志級别調整為trace。
調整方式:
config/log4j2.properties
status = tracelogger.action.level = tracerootLogger.level = trace
所有的流程都看到了