我在寻找关于如何在现有虚拟纱线集群上安装火花的指南。在纱线集群上安装火花
我有一个由两个节点组成的纱线簇,运行完美的map-reduce作业。在日志中查找结果,一切工作正常。
现在我需要在我的vagrantfile中添加spark安装命令和配置文件。我找不到一个好的指南,有人能给我一个很好的链接吗?
我用这个指南纱线集群
提前感谢!
我在寻找关于如何在现有虚拟纱线集群上安装火花的指南。在纱线集群上安装火花
我有一个由两个节点组成的纱线簇,运行完美的map-reduce作业。在日志中查找结果,一切工作正常。
现在我需要在我的vagrantfile中添加spark安装命令和配置文件。我找不到一个好的指南,有人能给我一个很好的链接吗?
我用这个指南纱线集群
提前感谢!
我不知道流浪汉,但我已经在hadoop 2.6之上安装了Spark(在指南中称为post-YARN),我希望这会有所帮助。
在现有的hadoop上安装Spark非常容易,只需要在一台机器上安装。为此,您必须从it's official website(我想您可以使用without hadoop
版本,但需要将其指向系统中的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
内容,并从那里开始。
现在开始纱线模式的外壳可以运行:
spark-shell --master yarn --deploy-mode client
(您不能运行在cluster
部署模式的壳)
-------- ---更新
我忘了提,你也可以提交群集作业本的配置是这样的(感谢@JulianCienfuegos):
spark-submit --master yarn --deploy-mode cluster project-spark.py
通过这种方式,您无法在终端中看到输出,并且该命令在作业提交(未完成)后立即退出。
您也可以使用--deploy-mode client
来查看终端中的输出,但只是为了进行测试,因为如果命令中断(例如,中断),取消作业。您按Ctrl+C
,或您的会话结束)
为什么只有一台机器?我有两个名称节点和4个数据节点。我遇到了一些奇怪的行为,我想知道是否因为有许多不同的spark安装?然而,它们完全相同。 另外你怎么知道他想要一个shell而不是提交集群作业?为了我的目的,我想提交集群作业。您的解决方案是否也处理这种情况? – 2017-01-21 23:30:43
@JulianCienfuegos,为什么只在一台机器上?我不完全确定为什么以及如何,但我猜想spark会将所有必需的库(spark库和代码)连同代码一起发送给每个工作人员,因此工作人员不需要预先安装spark。起初我也很奇怪,但我确实测试过它,它很有用。 我更新了我的答案,包括提交工作。 –