我试图通过命令行启动使用弹性搜索输入的火花作业,如http://www.elasticsearch.org/guide/en/elasticsearch/hadoop/current/spark.html所述
我在文件中设置属性,但在启动submit时,它会发出以下警告:
~/spark-1.0.1-bin-hadoop1/bin/spark-submit --class Main --properties-file spark.conf SparkES.jar
Warning: Ignoring non-spark config property: es.resource=myresource
Warning: Ignoring non-spark config property: es.nodes=mynode
Warning: Ignoring non-spark config property: es.query=myquery
...
Exception in thread "main" org.elasticsearch.hadoop.rest.EsHadoopNoNodesLeftException: Connection error (check network and/or proxy settings)- all nodes failed我的配置文件看起来很像(有正确的值):
es.nodes nodeip:port
es.resource index/type
es.query query在代码中设置Configuration对象中的属性是可行的,但我需要避免这种解决办法。
有办法通过命令行设置这些属性吗?
发布于 2015-02-02 13:12:36
我不知道你是否解决了你的问题(如果是,怎么解决的?),但我找到了这个解决方案:
import org.elasticsearch.spark.rdd.EsSpark
EsSpark.saveToEs(rdd, "spark/docs", Map("es.nodes" -> "10.0.5.151"))再见
发布于 2015-03-23 16:47:28
当您传递一个配置文件来激发提交时,它只加载以“spark”开头的信任。
因此,在我的配置中,我只需使用
spark.es.nodes <es-ip>在代码本身中,我必须做
val conf = new SparkConf()
conf.set("es.nodes", conf.get("spark.es.nodes"))https://stackoverflow.com/questions/25238408
复制相似问题