在接入es的過程中總結(jié)了一些出現(xiàn)的問題
1.NoNodeAvailableException[None of the configured nodes are available:
如果es集群設(shè)置了密碼单山,但是客戶端連接的時候沒有設(shè)置用戶名密碼,就會報這個錯誤,如果需要密碼認(rèn)證連接es集群就需要rest客戶端api,不能用transportclient,因為7.x之后取消了密碼認(rèn)證的PreBuiltXPackTransportClient?連接客戶端
2.在restHighLevelClient執(zhí)行時亚铁,報了一些錯誤,錯誤的原因都是因為jar包沖突
(1)java.lang.RuntimeException: Request cannot be executed; I/O reactor status: STOPPED
(2)java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64URLSafeString
,在發(fā)現(xiàn)這幾種錯誤的時候髓涯,可以看下這幾個jar包有沒有沖突的情況
Httpclient
Httpcore
commons-codec
3.在使用api連接es集群時
9300是tcp通訊端口,集群間和transportclient都是用的9300哈扮;
9200是http協(xié)議暴露的RESTful服務(wù)的端口號纬纪,在使用restHighLevelClient時,需要使用9200端口