2017-08-08 16 views
3

我試圖通過一個樣品給出 hereelastic4s NoNodeAvailableException通過TcpClient.transport連接時

但我不斷收到當我試圖通過TcpClient.transport連接下面的例外,讓我對elastic4s手:

Exception in thread "main" NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{IFyYWnE_S4aHRVxT9v60LQ}{dockerhost}{192.168.99.100:9300}]] 

我試圖連接到碼頭工人的彈性例如,elastic版本2.3.4

這裏是低於dependenci我的代碼ES。

import com.sksamuel.elastic4s.{ElasticClient, ElasticsearchClientUri, TcpClient} 
import org.elasticsearch.action.support.WriteRequest.RefreshPolicy 
import org.elasticsearch.common.settings.Settings 
import com.sksamuel.elastic4s.ElasticDsl._ 


object Main extends App { 
    //val settings = Settings.builder().put("cluster.name", "elasticsearch").build() 
    val client = TcpClient.transport(ElasticsearchClientUri("elasticsearch://dockerhost:9300")) 

    client.execute { 
    bulk(
    indexInto("myindex"/"mytype").fields("country" -> "Mongolia", "capital" -> "Ulaanbaatar"), 
    indexInto("myindex"/"mytype").fields("country" -> "Namibia", "capital" -> "Windhoek") 
).refresh(RefreshPolicy.WAIT_UNTIL) 
    }.await 

    val result = client.execute { 
    search("myindex").matchQuery("capital", "ulaanbaatar") 
    }.await 

    println(result.hits.head.sourceAsString) 

    client.close() 
} 

的build.gradle:

compile group: 'com.sksamuel.elastic4s', name: 'elastic4s-core_2.11', version: '5.4.9' 
compile group: 'com.sksamuel.elastic4s', name: 'elastic4s-tcp_2.11', version: '5.4.9' 
compile group: 'com.sksamuel.elastic4s', name: 'elastic4s-http_2.11', version: '5.4.9' 
compile group: 'com.sksamuel.elastic4s', name: 'elastic4s-streams_2.11', version: '5.4.9' 

任何有關這個問題將是有益的幫助。

+0

0 - 確保端口可用到主機(泊塢窗設置?) 1 - 是否elasticsearch verions相同(傳輸客戶端和主機),在泊塢窗 – Nirmal

+0

端口暴露。 elasticsearch版本的含義 - 'elastic4s-tcp_2.11',版本:'5.4.9'對於elasticsearch版本2.3.4不起作用? – AdityaHandadi

+0

我試着用elastic4s-tcp_2.11版本5.3.0和elasticsearch 5.3.0,仍然是一樣的錯誤 – AdityaHandadi

回答