我正在尝试在新的Macbook中安装spark。我无法运行spark-shell并收到以下错误:
Random r = new Random();
int dealerHand = 16 + r.nextInt(11);
答案 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