我有:Ubuntu 14.04,Hadoop 2.7.7,Spark 2.2.0。
我刚刚安装了所有东西。
当我尝试运行Spark的示例时:
function shouldComponentUpdate (nextProps, nextState) {
return nextProps.flight !== this .props.flight;
}
我收到以下错误:
INFO yarn.Client: 客户令牌:N / A 诊断:应用程序application_1552490646290_0007由于AM容器而失败了2次 appattempt_1552490646290_0007_000002退出,退出代码:-1000对于 更详细的输出,检查应用程序跟踪 页面:http://ip-123-45-67-89:8088/cluster/app/application_1552490646290_0007然后, 单击指向每次尝试日志的链接。诊断:文件 文件:/ tmp / spark-f5879f52-6777-481a-8ecf-bbb55e376901 / __ spark_libs__6948713644593068670.zip 不存在java.io.FileNotFoundException:文件 文件:/ tmp / spark-f5879f52-6777-481a-8ecf-bbb55e376901 / __ spark_libs__6948713644593068670.zip 不存在
bin/spark-submit --deploy-mode client \
--class org.apache.spark.examples.SparkPi \
examples/jars/spark-examples_2.11-2.2.0.jar 10
在客户端模式和群集模式下,我都遇到相同的错误。
答案 0 :(得分:0)
似乎通过加载spark库失败。正如Daniel指出的那样,这可能与您的阅读权利有关。此外,这可能与磁盘空间不足有关。
但是,在本例中,为了避免将传输延迟转移到本地计算机上的主服务器和读取/写入权限,我们将 spark-libs 放入Yarn群集的HDFS中,然后指向它们放在spark.yarn.archive
属性中。
jar cv0f spark-libs.jar -C $SPARK_HOME/jars/ .
export HADOOP_USER_NAME=hadoop
hadoop fs -mkdir -p /apps/spark/
hadoop fs -put -f ${SPARK_HOME}/spark-libs.jar /apps/spark/
# spark-defaults.conf
spark.yarn.archive hdfs:///apps/spark/spark-libs.jar
答案 1 :(得分:0)
首先,包含您的应用程序和所有依赖项的捆绑jar的路径。该URL必须在群集内部全局可见,例如,所有节点上都存在hdfs://路径或file://路径。
第二,如果您在YARN模式下运行,则已将主服务器指向yarn submitting-applications,并将jar文件放入hdfs
# Run on a YARN cluster
# Connect to a YARN cluster in client or cluster mode depending on the value
# of --deploy-mode. The cluster location will be found based on the HADOOP_CONF_DIR
# or YARN_CONF_DIR variable.
export HADOOP_CONF_DIR=XXX
./bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode cluster \ # can be client for client mode
hdfs://path/to/spark-examples.jar
1000