RedHat6.5安装Spark集群

版本号:

RedHat6.5   RHEL 6.5系统安装配置图解教程(rhel-server-6.5)

JDK1.8      http://blog.csdn.net/chongxin1/article/details/68957808

Hadoop2.7.3   RedHat6.5上安装Hadoop集群

scala-2.11.8  

spark-2.1.1-bin-hadoop2.7

1 安装Spark依赖的Scala

          Hadoop的安装请参考上面提到的博文,因为Spark依赖scala,所以在安装Spark之前,这里要先安装scala。

在每个节点上都进行安装,本文主要是master、slave1、slave2三台机器。

1.1  下载和解压缩Scala

官网下载地址:https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz 

百度云盘下载地址:链接:http://pan.baidu.com/s/1eSiVjO2 密码:y8b1 

linux在服务器的/usr/local目录下新建一个名为scala的文件夹,并将下载的压缩包上载上去

如图: 

执行命令,进入到该目录:

cd    /usr/local/scala

执行命令进行解压缩:

tar   -xvf   scala-2.11.8.tgz

1.2  配置环境变量

sudo gedit /et/profile

编辑/etc/profile这个文件,在文件中增加一行配置:


  1. #set Scala environment
  2. export SCALA_HOME=/usr/local/scala/scala-2.11.8
  3. export PATH=$SCALA_HOME/bin:$PATH

  添加完成后,我的/etc/profile的配置如下:


  1. #set Java environment
  2. export JAVA_HOME=/usr/local/java/jdk1.8
  3. export JRE_HOME=/usr/local/java/jdk1.8/jre
  4. export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
  5. export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
  6.  
  7. #set Hadoop enviroment
  8. export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3
  9. export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  10. export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  11. export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
  12.  
  13. #set Scala environment
  14. export SCALA_HOME=/usr/local/scala/scala-2.11.8
  15. export PATH=$SCALA_HOME/bin:$PATH

环境变量配置完成后,执行下面的命令: 

source   /etc/profile  

1.3 验证Scala

    执行命令: scala     -version  

   如图:    

 

以上是在master机器上安装,将安装好的scala复制到slave1、slave2机器上:

scp -r /usr/local/scala root@slave1:/usr/local

scp -r /usr/local/scala root@slave2:/usr/local

 

修改slave1、slave2的/etc/profile环境变量配置文件,方法同1.2。

2 下载和解压缩Spark      

2.1 下载Spark压缩包

官网下载地址:http://mirrors.hust.edu.cn/apache/spark/spark-2.1.1/spark-2.1.1-bin-hadoop2.7.tgz  

百度云盘下载地址:链接:http://pan.baidu.com/s/1cGTtgU 密码:hciq      

2.2  解压缩Spark

       下载完成后,在Linux服务器的/usr/local目录下新建一个名为spark的文件夹,把刚才下载的压缩包,上传上去。

如图:

进入到该目录内,也就是执行下面的命令:

cd    /usr/local/spark

执行解压缩命令:

tar   -zxvf   spark-2.1.1-bin-hadoop2.7.tgz

3  Spark相关的配置

         说明:因为我们搭建的是基于hadoop集群的Spark集群,所以每个hadoop节点上我都安装了Spark,都需要按照下面的步骤做配置,启动的话只需要在Spark集群的Master机器上启动即可,我这里是在master上启动。

3.1  配置环境变量

sudo gedit /etc/profile

编辑/etc/profile文件,增加


  1. #set Spark environment
  2. export SPARK_HOME=/usr/local/spark/spark-2.1.1-bin-hadoop2.7
  3. export PATH=$SPARK_HOME/bin:$PATH

      注意:因为$SPARK_HOME/sbin目录下有一些文件名称和$HADOOP_HOME/sbin目录下的文件同名,为了避免同名文件冲突,这里不在PATH变量里添加$SPARK_HOME/sbin只添加了$SPARK_HOME/bin。

修改完成后,/etc/profile文件内容是:


  1. #set Java environment
  2. export JAVA_HOME=/usr/local/java/jdk1.8
  3. export JRE_HOME=/usr/local/java/jdk1.8/jre
  4. export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
  5. export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
  6.  
  7. #set Hadoop enviroment
  8. export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3
  9. export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  10. export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  11. export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
  12.  
  13. #set Scala environment
  14. export SCALA_HOME=/usr/local/scala/scala-2.11.8
  15. export PATH=$SCALA_HOME/bin:$PATH
  16.  
  17. #set Spark environment
  18. export SPARK_HOME=/usr/local/spark/spark-2.1.1-bin-hadoop2.7
  19. export PATH=$SPARK_HOME/bin:$PATH

编辑完成后,执行命令:

source   /etc/profile

3.2 配置conf目录下的文件

         对/usr/local/spark/spark-2.1.1-bin-hadoop2.7/conf目录下的文件进行配置。

3.2.1  新建spark-env.h文件

        执行命令,进入到/usr/local/spark/spark-2.1.1-bin-hadoop2.7/conf目录内:

cd    /usr/local/spark/spark-2.1.1-bin-hadoop2.7/conf

       以spark为我们创建好的模板创建一个spark-env.h文件,命令是:

cp    spark-env.sh.template   spark-env.sh   

编辑spark-env.sh文件,在里面加入配置(具体路径以自己的为准):


  1. export JAVA_HOME=/usr/local/java/jdk1.8
  2. export SCALA_HOME=/usr/local/scala/scala-2.11.8
  3. export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3
  4. export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.7.3
  5. export SPARK_MASTER_IP=192.168.168.200
  6. export SPARK_MASTER_HOST=192.168.168.200
  7. export SPARK_LOCAL_IP=192.168.168.200
  8. export SPARK_HOME=/usr/local/spark/spark-2.1.1-bin-hadoop2.7
  9. export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/hadoop-2.7.3/bin/hadoop classpath)

3.2.2 新建slaves文件

执行命令,进入到/usr/local/spark/spark-2.1.1-bin-hadoop2.7/conf目录内:

cd   /usr/local/spark/spark-2.1.1-bin-hadoop2.7/conf

以spark为我们创建好的模板创建一个slaves文件,命令是:

cp    slaves.template   slaves

编辑slaves文件,里面的内容为:

master

slave1

slave2 

如图:

3.3WorkerN节点:(slave1、slave2两台机器)

将配置好的spark文件复制到workerN节点

scp  -r  /usr/local/spark  root@slave1:/usr/local

scp  -r  /usr/local/spark  root@slave2:/usr/local

在slave1和slave2上分别修改/etc/profile,增加Spark的配置,过程同master一样。

在slave1和slave2修改$SPARK_HOME/conf/spark-env.sh,将 export SPARK_LOCAL_IP=192.168.168.200 改成slave1和slave2对应节点的IP。


  1. export SPARK_LOCAL_IP=192.168.168.201

  1. export SPARK_LOCAL_IP=192.168.168.202

4 启动和测试Spark集群

4.1 启动Spark

       因为spark是依赖于hadoop提供的分布式文件系统的,所以在启动spark之前,先确保hadoop在正常运行。

        在hadoop正常运行的情况下,在master(也就是hadoop的namenode,spark的marster节点)上执行命令:

 cd  /usr/local/spark/spark-2.1.1-bin-hadoop2.7/sbin

 执行启动脚本:

  ./start-all.sh 

  完整控制台输出内容是:


  1.    [root@master conf]# cd /usr/local/spark/spark-2.1.1-bin-hadoop2.7/sbin
  2. [root@master sbin]# ./start-all.sh
  3. starting org.apache.spark.deploy.master.Master, logging to /usr/local/spark/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.master.Master-1-master.out
  4. slave1: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-slave1.out
  5. slave2: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-slave2.out
  6. master: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-master.out
  7. master: failed to launch: nice -0 /usr/local/spark/spark-2.1.1-bin-hadoop2.7/bin/spark-class org.apache.spark.deploy.worker.Worker --webui-port 8081 spark://master:7077
  8. master: full log in /usr/local/spark/spark-2.1.1-bin-hadoop2.7/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-master.out

注意:上面的命令中有./这个不能少,./的意思是执行当前目录下的start-all.sh脚本。

4.2  测试和使用Spark集群

4.2.1  访问Spark集群提供的URL

在浏览器里访问Mster机器,我的Spark集群里Master机器是master,IP地址是192.168.168.200,访问8080端口,URL是:

http://192.168.168.200:8080       

如图: 

参考资料:http://blog.csdn.net/pucao_cug/article/details/72353701 

原文地址:https://www.cnblogs.com/yangcx666/p/8723901.html