版本号:
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。
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这个文件,在文件中增加一行配置:
- #set Scala environment
- export SCALA_HOME=/usr/local/scala/scala-2.11.8
- export PATH=$SCALA_HOME/bin:$PATH
添加完成后,我的/etc/profile的配置如下:
- #set Java environment
- export JAVA_HOME=/usr/local/java/jdk1.8
- export JRE_HOME=/usr/local/java/jdk1.8/jre
- export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
- export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
- #set Hadoop enviroment
- export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3
- export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
- export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
- export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
- #set Scala environment
- export SCALA_HOME=/usr/local/scala/scala-2.11.8
- export PATH=$SCALA_HOME/bin:$PATH
环境变量配置完成后,执行下面的命令:
source /etc/profile
1.3 验证Scala
执行命令: scala -version
如图:
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相关的配置
3.1 配置环境变量
sudo gedit /etc/profile
编辑/etc/profile文件,增加
- #set Spark environment
- export SPARK_HOME=/usr/local/spark/spark-2.1.1-bin-hadoop2.7
- export PATH=$SPARK_HOME/bin:$PATH
注意:因为$SPARK_HOME/sbin目录下有一些文件名称和$HADOOP_HOME/sbin目录下的文件同名,为了避免同名文件冲突,这里不在PATH变量里添加$SPARK_HOME/sbin只添加了$SPARK_HOME/bin。
修改完成后,/etc/profile文件内容是:
- #set Java environment
- export JAVA_HOME=/usr/local/java/jdk1.8
- export JRE_HOME=/usr/local/java/jdk1.8/jre
- export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
- export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
- #set Hadoop enviroment
- export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3
- export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
- export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
- export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
- #set Scala environment
- export SCALA_HOME=/usr/local/scala/scala-2.11.8
- export PATH=$SCALA_HOME/bin:$PATH
- #set Spark environment
- export SPARK_HOME=/usr/local/spark/spark-2.1.1-bin-hadoop2.7
- 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文件,在里面加入配置(具体路径以自己的为准):
- export JAVA_HOME=/usr/local/java/jdk1.8
- export SCALA_HOME=/usr/local/scala/scala-2.11.8
- export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3
- export HADOOP_DIR=$HADOOP_HOME/etc/hadoop
- export SPARK_HOME=/usr/local/spark/spark-2.1.1-bin-hadoop2.7
- export SPARK_MASTER_IP=master
- export SPARK_EXECUTOR_MEMORY=1g
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
完整控制台输出内容是:
- [root@master sbin]# ./start-all.sh
- 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
- localhost: 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
- [root@master sbin]# jps
- 5872 Jps
- 4849 SecondaryNameNode
- 5714 Master
- 5810 Worker
- 4676 DataNode
- 5126 NodeManager
- 5015 ResourceManager
- 4542 NameNode
5714 Master
5810 Worker
有这两个就是spark已经启动成功!!!
注意:上面的命令中有./这个不能少,./的意思是执行当前目录下的start-all.sh脚本。
4.2 测试和使用Spark集群
4.2.1 访问Spark集群提供的URL
在浏览器里访问Mster机器,我的Spark集群里Master机器是master,IP地址是192.168.168.200,访问8080端口,URL是:
如图:
参考资料:http://blog.csdn.net/pucao_cug/article/details/72353701