2016-06-10 213 views
0

我在寻找关于如何在现有虚拟纱线集群上安装火花的指南。在纱线集群上安装火花

我有一个由两个节点组成的纱线簇,运行完美的map-reduce作业。在日志中查找结果,一切工作正常。

现在我需要在我的vagrantfile中添加spark安装命令和配置文件。我找不到一个好的指南,有人能给我一个很好的链接吗?

我用这个指南纱线集群

http://www.alexjf.net/blog/distributed-systems/hadoop-yarn-installation-definitive-guide/#single-node-installation

提前感谢!

回答

2

我不知道流浪汉,但我已经在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,或您的会话结束)

+0

为什么只有一台机器?我有两个名称节点和4个数据节点。我遇到了一些奇怪的行为,我想知道是否因为有许多不同的spark安装?然而,它们完全相同。 另外你怎么知道他想要一个shell而不是提交集群作业?为了我的目的,我想提交集群作业。您的解决方案是否也处理这种情况? – 2017-01-21 23:30:43

+1

@JulianCienfuegos,为什么只在一台机器上?我不完全确定为什么以及如何,但我猜想spark会将所有必需的库(spark库和代码)连同代码一起发送给每个工作人员,因此工作人员不需要预先安装spark。起初我也很奇怪,但我确实测试过它,它很有用。 我更新了我的答案,包括提交工作。 –

相关问题