新mac上的spark-shell给出错误

时间:2017-09-29 04:46:47

标签: scala apache-spark

我正在尝试在新的Macbook中安装spark。我无法运行spark-shell并收到以下错误:

Random r = new Random();
int dealerHand = 16 + r.nextInt(11);

3 个答案:

答案 0 :(得分:4)

尝试使用Java 9运行spark-shell时出现同样的错误。

请尝试安装Java 8并运行spark-shell并将JAVA_HOME设置为/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home

有关Scala中JDK 9支持的更多信息,您可以查看scala-dev issue #139

答案 1 :(得分:4)

首先,安装Java 8(如果你拥有的话,你可以保留Java 9)。

然后,在.bash_profile中,按如下方式设置JAVA_HOME:

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)  
export PATH=$JAVA_HOME/bin:$PATH

最后,添加:

export SPARK_LOCAL_IP="127.0.0.1"

希望这会有所帮助。 这里有一个关于如何在不同Java版本之间交替的好方法:
Mac OS X and multiple Java versions 查看@Vegard的答案。

这是我的设置:

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)  
export PATH=$JAVA_HOME/bin:$PATH

export SCALA_HOME=/path/to/your/scala  
export PATH=$PATH:$SCALA_HOME/bin

export SPARK_HOME=/path/to/your/spark  
export PATH="$SPARK_HOME/bin:$PATH"  
export SPARK_LOCAL_IP="127.0.0.1"

答案 2 :(得分:0)

就我而言,是 brew 命令将 JAVA_HOME 更改为 spark-submit 和其他与火花相关的命令。

检查 brew info apache-spark - 查看公式的内容。 在我的有固定的 javasdk@11

所以我不得不编辑这个 ruby​​ 文件以使用当前的 $JAVA_HOME。还有brew reinstall apache-spark。 之后错误消失了,spark-commands 使用了我目前选择的 java 版本 jenv