2

私はelasticsearchドッカーの画像を127.0.0.1:9200でリッスンしています。感覚と木場を使ってテストしました。うまくいきます。今、私は火花のAppsparkアプリがdockerで実行されているelasticsearchクラスタに書き込めません

val sparkConf = new SparkConf().setAppName("ES").setMaster("local") 
sparkConf.set("es.index.auto.create", "true") 
sparkConf.set("es.nodes", "127.0.0.1") 
sparkConf.set("es.port", "9200") 
sparkConf.set("es.resource", "spark/docs") 


val sc = new SparkContext(sparkConf) 
val sqlContext = new SQLContext(sc) 
val numbers = Map("one" -> 1, "two" -> 2, "three" -> 3) 
val airports = Map("arrival" -> "Otopeni", "SFO" -> "San Fran") 
val rdd = sc.parallelize(Seq(numbers, airports)) 

rdd.saveToEs("spark/docs") 
それが接続に失敗した

から、それへの書き込みをしようと、再試行

16/07/11 17:20:07 INFO HttpMethodDirector: I/O exception (java.net.ConnectException) caught when processing request: Operation timed out 16/07/11 17:20:07 INFO HttpMethodDirector: Retrying request私はelasticsearchイメージを検査ドッキングウィンドウで与えられたIPAddressを使用してみました

し続けたときに、それも動作しません。しかし、私がelasticsearchのネイティブインストールを使用すると、Spark Appは正常に動作します。何か案は?私がチェックします

答えて

1

カップルの事:あなたが作業している

  • Elasticsearch-Hadoopのスパークコネクタバージョン。ベータ版ではないことを確認してください。 IP解決に関連する修正されたバグがありました。

  • 9200がデフォルトのポートなので、この行を削除してsparkConf.set("es.port", "9200")としてください。

  • Spark環境または設定ファイルにプロキシが設定されていないことを確認してください。

  • 同じマシンでElasticsaerchとSparkを実行すると仮定します。 127.0.0.1ではなく、マシンのIPアドレスを設定することができます

希望します。 :)

関連する問題