红联Linux门户
Linux帮助

Spark的Standalone部署

发布时间:2016-02-04 09:46:23来源:linux网站作者:niuwq

基于原来部署过Hadoop 2.7.1的5台虚拟机(ubuntuServer1~ubuntuServer5)来进行Spark的Standalone部署。


1、下载Spark。
下载的是不含Hadoop的版本:spark-1.6.0-bin-without-hadoop


2、将spark安装到各机器上的/usr/lib目录下。
安装后路径为: /usr/lib/spark-1.6.0-without-hadoop


3、在各机器上创建spark用户,用户组设置为hadoop。
sudo useradd spark -g hadoop -m


4、设置spark用户的ssh免登录
达到从server1到其它机器的ssh免登录。
在server1的spark用户下执行:
ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa

将生成的证书内容放到authorized_keys文件中:
cat .ssh/id_dsa.pub >> .ssh/authorized_keys

然后将authorized_keys用scp的方式拷贝到各机器spark用户的.ssh目录下

验证一下从server1的spark用户下,ssh到其它机器上,是否是免登录。


5、在各机器上的spark的conf目录下,创建spark-env.sh,内容如下:

JAVA_HOME=/usr/lib/jdk1.8.0_66
SPARK_HOME=/usr/lib/spark-1.6.0-without-hadoop
SPARK_DIST_CLASSPATH=`/usr/lib/hadoop-2.7.1/bin/hadoop classpath`
SPARK_MASTER_IP=ubuntuServer1
SPARK_WORKER_DIR=/home/spark
SPARK_LOG_DIR=/home/spark/logs
SPARK_PID_DIR=/home/spark/pid

(以前将Hadoop 2.7.1安装在/usr/lib/hadoop-2.7.1下了。)


6、conf目录下编辑slaves文件,内容:

ubuntuServer2
ubuntuServer3
ubuntuServer4
ubuntuServer5


7、在server1上切换到spark用户,启动spark:
/usr/lib/spark-1.6.0-without-hadoop/sbin/start-all.sh


8、web查看
http://ubuntuServer1:8080:可以看到有4个worker;
http://ubuntuServer2:8081:查看该worker上的内容


9、连接spark
在Windows机器上执行:

spark-shell –master spark://ubuntuServer1:7077
scala> val textFile = sc.textFile(“hdfs://ubuntuServer1:9000/user/hdfs/input/hadoop-env.sh”)
scala> textFile.count()

这儿使用window的本地文件或虚拟机上的本地文件都不行。想运行spark-shell时指定–deploy-mode为cluster,也没有运行起来,提示spark shell不支持cluster。可明明在spark-shell –help的提示信息中有这个选项。
最后使用hadoop上的文件 ,可以正常执行了。

从http://ubuntuServer1:8080可以看到已经有过的应用。


本文永久更新地址:http://www.linuxdiyf.com/linux/17868.html