部署Spark不常见问题

最近在学习Spark,在公司搭建了一个小的Spark集群环境。具体的安装部署步骤网上有很多,我就不再赘述了。下面说一个不常见的问题。

首先,我默认你能部署Spark环境直到正常启动之后能在web-ui里看到下图部署Spark不常见问题_第1张图片


当然,Applications是没有在running的,Memory也没有使用。总之,就是一切看起来都很正常的样子。

然后,切回term,执行

spark-shell --master spark://hadoop:7078

你会看到不断的冒出下图的错误


部署Spark不常见问题_第2张图片

我观察了一下SPARK_HOME/logs 夹子下的spark**worker**.out日志。看到如下的错误日志:

14/12/26 17:42:33 ERROR ExecutorRunner: Error running executor
java.io.IOException: Cannot run program "/bin/java" (in directory "/Users/apple/spark-1.2.0/work/app-20141226174231-0000/1"): error=2, No such file or directory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1042)
        at org.apache.spark.deploy.worker.ExecutorRunner.fetchAndRunExecutor(ExecutorRunner.scala:135)
        at org.apache.spark.deploy.worker.ExecutorRunner$$anon$1.run(ExecutorRunner.scala:65)
Caused by: java.io.IOException: error=2, No such file or directory
        at java.lang.UNIXProcess.forkAndExec(Native Method)
        at java.lang.UNIXProcess.(UNIXProcess.java:185)
        at java.lang.ProcessImpl.start(ProcessImpl.java:134)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1023)

是说在SPARK_HOME/work夹子下没能正常启动executor。

仔细看了一下log,是说No such file or directory !!! 什么意思,并不是说没有work下的那个夹子,而是说在那个夹子下没有“/bin/java”,顿时反应过来了,是spark-env.sh里的JAVA-HOME出了问题。服务器的java环境是用yum安装的,手动配置的JAVA_HOME让spark没能找到bin/java ?不明

反正试试看,立马把每个节点上的spark-env.sh文件里的JAVA_HOME给dd掉了。重启spark集群,start-all.sh

在web-ui看到状态正常后,启动spark-shell,这次不再出现上面的错误了。

总结

这个应该是不常见问题。我Google了很久,没发现有类似的提问。于是简单的记录下来,供sparker们知晓。可能是本人太low,问题出现的太sample了。呵呵

你可能感兴趣的:(spark)