搭建spark集群:要求安装JDK,完全分布式HADOOP2.7集群。
环境:
VM搭建的三个虚拟机,均采用centos-6.8-64.iso
机器IP与名称对应关系如下:
192.168.152.192 master
192.168.152.193 slave1
192.168.152.194 slave2
JDK请自行安装。hadoop2.7集群安装可以参考我的文章搭建hadoop完全分布式集群
scala版本:scala-2.11.8.tgz
spark版本:spark-2.1.0-bin-hadoop2.7
1. scala环境安装
先在master机器上安装scala,再远程复制到slave1,slave2即可。
# [root@master] mkdir /usr/lib/scala
# [root@master] tar zxvf /home/master/package/scala-2.11.8.tgz -C /usr/lib/scala
# [root@master] vim /etc/profile
追加如下内容:
export SCALA_HOME=/usr/lib/scala/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin
# [root@master] source /etc/profile
先分别在slave1和slave2上创建scala目录
# [root@slave1] mkdir /usr/lib/scala
# [root@slave2] mkdir /usr/lib/scala
远程复制解压好的文件夹到slave1和slave2上
# [root@master] scp -r /usr/lib/scala/scala-2.11.8 slave1:/usr/lib/scala
# [root@master] scp -r /usr/lib/scala/scala-2.11.8 slave2:/usr/lib/scala
复制出刚配好的scala环境变量语句
# [root@master] tail -2 >> /home/tmp
# [root@master] scp /home/tmp slave1:/home
# [root@master] scp /home/tmp slave2:/home
# [root@master] rm -rf /home/tmp
切换到slave1上:
# [root@slave1] cat /home/tmp >> /etc/profile
# [root@slave1] source /etc/profile
# [root@slave1] rm -rf /home/tmp
切换到slave2上:
# [root@slave2] cat /home/tmp >> /etc/profile
# [root@slave2] source /etc/profile
# [root@slave2] rm -rf /home/tmp
2. spark安装
先在master机器上安装spark,再远程复制到slave1,slave2即可。
# [root@master] mkdir /home/spark
# [root@master] tar zxvf /home/master/package/spark-2.1.0-bin-hadoop2.7 -C /home/spark
配置环境变量
# [root@master] vim /etc/profile
追加以下内容:
export SPARK_HOME=/home/spark/spark-2.1.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
# [root@master] source /etc/profile
解压完.tgz文件会出现spark-2.1.0-bin-hadoop2.7文件夹,进入该目录下的conf
# [root@master] cd spark-2.1.0-bin-hadoop2.7/conf
# [root@master] cp spark-env.sh.template spark-env.sh
# [root@master] vim spark-env.sh
配置内容如下:
export SCALA_HOME=/usr/lib/scala/scala-2.11.8
export JAVA_HOME=/usr/lib/java/jdk1.7.0_79
export SPARK_MASTER_IP=192.168.145.133
export SPARK_WORKER_MEMORY=1G #根据slave的具体情况而定,不要超过实际值
export HADOOP_CONF_DIR=/home/hadoop/hadoop-2.7.3/etc/hadoop
export LD_LIBRARY_PATH=/home/hadoop/hadoop-2.7.3/lib/native
退出保存 :wq
# [root@master] cp slaves.template slaves
# [root@master] vim slaves
配置内容如下:
slave1
slave2
退出保存 :wq
spark配置文件修改完毕,接下来把spark-2.1.0-bin-hadoop2.7文件夹远程复制到slave1和slave2上
# [root@slave1] mkdir /home/spark
# [root@slave2] mkdir /home/spark
# [root@master] scp -r /home/spark/spark-2.1.0-bin-hadoop2.7 slave1:/home/spark
# [root@master] scp -r /home/spark/spark-2.1.0-bin-hadoop2.7 slave2:/home/spark
切换到slave1上:
# [root@slave1] vim /etc/profile
配置以下内容:
export SPARK_HOME=/home/spark/spark-2.1.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
退出保存 :wq
# [root@slave1] source /etc/profile
slave2上的spark环境变量配置同上
3. 验证spark集群安装是否成功
3.1 启动hadoop集群
# [root@master] cd /home/hadoop/hadoop-2.7.3/sbin/
# [root@master] ./start-all.sh
# [root@master] jps
如果master机器上出现以下类似内容则表示master启动成功
2916 NameNode
3254 ResourceManager
3103 SecondaryNameNode
3502 Jps
如果slave1或者slave2机器上出现以下类似内容则表示slave1或者slave2启动成功
# [root@slave1] jps
2760 NodeManager
2878 Jps
2653 DataNode
3.2 启动spark集群
# [root@master] cd /home/spark/spark-2.1.0-bin-hadoop2.7/sbin/
# [root@master] ./start-all.sh
# [root@master] jps
如果master机器新增Master则表示master启动成功
# [root@slave1] jps
如果slave1或者slave2机器新增Worker则表示slave启动成功
文章完毕