我不了解 vagrant,但我已经在 hadoop 2.6 之上安装了 Spark(在指南中称为 post-YARN),我希望这会有所帮助。
在现有的 hadoop 上安装 Spark 非常简单,您只需只在一台机器上安装它。为此,您必须从it's official website 下载为您的hadoop 版本预先构建的一个(我想您可以使用without hadoop 版本,但您需要将其指向系统中hadoop 二进制文件的方向)。然后解压:
tar -xvf spark-2.0.0-bin-hadoop2.x.tgz -C /opt
现在你只需要设置一些环境变量。首先在您的~/.bashrc(或~/.zshrc)中,您可以设置SPARK_HOME 并将其添加到您的PATH(如果需要):
export SPARK_HOME=/opt/spark-2.0.0-bin-hadoop-2.x
export PATH=$PATH:$SPARK_HOME/bin
为了使这些更改生效,您可以运行:
source ~/.bashrc
其次,您需要将 Spark 指向您的 Hadoop 配置目录。为此,请在 $SPARK_HOME/conf/spark-env.sh 中设置这两个环境变量:
export HADOOP_CONF_DIR=[your-hadoop-conf-dir usually $HADOOP_PREFIX/etc/hadoop]
export YARN_CONF_DIR=[your-yarn-conf-dir usually the same as the last variable]
如果这个文件不存在,你可以复制$SPARK_HOME/conf/spark-env.sh.template的内容,从那里开始。
现在以纱线模式启动 shell,您可以运行:
spark-shell --master yarn --deploy-mode client
(你不能在cluster部署模式下运行shell)
-----------更新
我忘了提到您也可以使用这种配置提交集群作业(感谢@JulianCienfuegos):
spark-submit --master yarn --deploy-mode cluster project-spark.py
这样在终端看不到输出,作业一提交(未完成)命令就退出。
您也可以使用--deploy-mode client 在终端中查看输出,但这只是为了测试,因为如果命令中断(例如您按Ctrl+C,或会话结束),作业将被取消/p>