错误:无法识别的选项: - 包

时间:2016-05-13 12:12:56

标签: apache-spark ibm-cloud

我将现有脚本从BigInsights移植到Bluemix上的Spark。我试图对Bluemix上的Spark运行以下命令:

cend(foo)

但是,我收到以下错误:

./spark-submit.sh --vcap ./vcap.json --deploy-mode cluster \
    --master https://x.x.x.x:8443 --jars ./truststore.jar \
    --packages org.elasticsearch:elasticsearch-spark_2.10:2.3.0 \
    ./export_to_elasticsearch.py ...

如何传递Error: Unrecognized option: --packages 参数?

2 个答案:

答案 0 :(得分:1)

Bluemix使用自定义Spark版本,其自定义spark-submit.sh脚本仅支持原始脚本参数的子集。您可以在documentation上看到可以使用的所有配置属性和参数。

此外,您可以从this link下载该脚本的Bluemix版本,在那里您可以看到没有参数--packages

因此,您的方法的问题是Spark-submit的Bluemix版本不接受--packages参数,可能是出于安全原因。但是,或者,您可以下载所需包的jar(也可能是依赖项的胖jar)并使用--jars参数上传它们。 注意:为避免每次调用spark-submit时都需要上传jar文件,您可以使用curl预先上传它们。可以在this link上找到此过程的详细信息。

答案 1 :(得分:1)

添加到Daniel的帖子中,在使用该方法预先上传您的软件包时,您可能希望将软件包上传到" $ {cluster_master_url} / tenant / data / libs", Spark服务设置这四个spark属性" spark.driver.extraClassPath"," spark.driver.extraLibraryPath"," spark.executor.extraClassPath"和&#34 ; spark.executor.extraLibraryPath"到./data/libs / *

参考:https://console.ng.bluemix.net/docs/services/AnalyticsforApacheSpark/index-gentopic3.html#spark-submit_properties