michellc 发表于 2018-10-28 11:13:15

大数据学习系列之六 ----- Hadoop+Spark环境搭建

引言
  在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解: http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合HBase,并且测试成功了。在之前的大数据学习系列之一 ----- Hadoop环境搭建(单机) : http://www.panchengming.com/2017/11/26/pancm55/ 中成功的搭建了Hadoop的环境,本文主要讲的是Hadoop+Spark 的环境。虽然搭建的是单机版,但是改成集群版的也相当容易,这点以后会写关于Hadoop+Spark+HBase+Hive+Zookeeper 等集群的相关说明的。

一、环境选择

1,服务器选择
  本地虚拟机
  操作系统:linuxCentOS 7
  Cpu:2核
  内存:2G
  硬盘:40G

2,配置选择
  JDK:1.8          (jdk-8u144-linux-x64.tar.gz)
  Hadoop:2.8.2(hadoop-2.8.2.tar.gz)
  Scala:2.12.2      (scala-2.12.2.tgz)
  Spark: 1.6(spark-1.6.3-bin-hadoop2.4-without-hive.tgz)

3,下载地址
  官网地址:
  JDK:
  http://www.oracle.com/technetwork/java/javase/downloads
  Hadopp:
  http://www.apache.org/dyn/closer.cgi/hadoop/common
  Spark:
  http://spark.apache.org/downloads.html
  Hive on Spark(spark集成hive的版本)
  http://mirror.bit.edu.cn/apache/spark/
  Scala:
  http://www.scala-lang.org/download
  百度云:
  链接:https://pan.baidu.com/s/1geT3A8N 密码:f7jb

二、服务器的相关配置
  在配置Hadoop+Spark整合之前,应该先做一下配置。
  做这些配置为了方便,使用root权限。

1,更改主机名
  首先更改主机名,目的是为了方便管理。
  查看本机的名称
  输入:
  

hostname   

  更改本机名称
  输入:
  

hostnamectl set-hostname master  

  注:主机名称更改之后,要重启(reboot)才会生效。

2,主机和IP做关系映射
  修改hosts文件,做关系映射
  输入
  

vim /etc/hosts  

  添加
  主机的ip 和 主机名称
  

192.168.219.128 master  

3,关闭防火墙
  关闭防火墙,方便外部访问。
  CentOS 7版本以下输入:
  关闭防火墙
  

service   iptables stop  

  CentOS 7 以上的版本输入:
  

systemctl stop firewalld.service  

4,时间设置
  输入:
  

date  

  查看服务器时间是否一致,若不一致则更改
  更改时间命令
  

date -s ‘MMDDhhmmYYYY.ss’  

三、Scala环境配置
  因为Spark的配置依赖与Scala,所以先要配置Scala。
  Scala的配置

1, 文件准备
  将下载好的Scala文件解压
  输入
  

tar -xvf scala-2.12.2.tgz  

  然后移动到/opt/scala 里面
  并且重命名为scala2.1
  输入
  

mvscala-2.12.2/opt/scala  
mv scala-2.12.2 scala2.1
  

2,环境配置
  编辑 /etc/profile 文件
  输入:
  

export SCALA_HOME=/opt/scala/scala2.1  
export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:$PATH
  

  输入:
  

source/etc/profile  

  使配置生效
  输入 scala -version 查看是否安装成功
http://img.blog.csdn.net/20171219185847807?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWF6d3N4cGNt/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

三、Spark的环境配置

1,文件准备
  Spark有两种,下载的地址都给了,一种是纯净版的spark,一种是集成了hadoop以及hive的版本。本文使用的是第二种
  将下载好的Spark文件解压
  输入
  

tar -xvf spark-1.6.3-bin-hadoop2.4-without-hive.tgz  

  然后移动到/opt/spark 里面,并重命名
  输入
  

mvspark-1.6.3-bin-hadoop2.4-without-hive/opt/spark  
mvspark-1.6.3-bin-hadoop2.4-without-hivespark1.6-hadoop2.4-hive
  

http://img.blog.csdn.net/20171219190042047?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWF6d3N4cGNt/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

2,环境配置
  编辑 /etc/profile 文件
  输入:
  

exportSPARK_HOME=/opt/spark/spark1.6-hadoop2.4-hive  
export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH
  

http://img.blog.csdn.net/20171219190001671?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWF6d3N4cGNt/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
  输入:
  

source/etc/profile  

  使配置生效

3,更改配置文件
  切换目录
  输入:
  

cd /opt/spark/spark1.6-hadoop2.4-hive/conf  

4.3.1 修改 spark-env.sh
  在conf目录下,修改spark-env.sh文件,如果没有 spark-env.sh 该文件,就复制spark-env.sh.template文件并重命名为spark-env.sh。
  修改这个新建的spark-env.sh文件,加入配置:
  

export SCALA_HOME=/opt/scala/scala2.1  
export JAVA_HOME=/opt/java/jdk1.8
  
export HADOOP_HOME=/opt/hadoop/hadoop2.8
  
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
  
export SPARK_HOME=/opt/spark/spark1.6-hadoop2.4-hive
  
export SPARK_MASTER_IP=master
  
export SPARK_EXECUTOR_MEMORY=1G
  

http://img.blog.csdn.net/20171219190443184?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWF6d3N4cGNt/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
  注:上面的路径以自己的为准,SPARK_MASTER_IP为主机,SPARK_EXECUTOR_MEMORY为设置的运行内存。

五、Hadoop环境配置
  Hadoop的具体配置在大数据学习系列之一 ----- Hadoop环境搭建(单机): http://www.panchengming.com/2017/11/26/pancm55 中介绍得很详细了。所以本文就大体介绍一下。
  注:具体配置以自己的为准。

1,环境变量设置
  编辑 /etc/profile 文件 :
  

vim /etc/profile  

  配置文件:
  

export HADOOP_HOME=/opt/hadoop/hadoop2.8  
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
  
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
  
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH
  

2,配置文件更改
  先切换到 /home/hadoop/hadoop2.8/etc/hadoop/ 目录下

5.2.1 修改 core-site.xml
  输入:
  

vim core-site.xml  

  在添加:
  

  

  hadoop.tmp.dir
  /root/hadoop/tmp
  Abase for other temporary directories.
  
  
  fs.default.name
  hdfs://master:9000
  
  

  

5.2.2修改 hadoop-env.sh
  输入:
  

vim hadoop-env.sh  

  将${JAVA_HOME} 修改为自己的JDK路径
  

export   JAVA_HOME=${JAVA_HOME}  

  修改为:
  

export   JAVA_HOME=/home/java/jdk1.8  

5.2.3修改 hdfs-site.xml
  输入:
  

vim hdfs-site.xml  

  在添加:
  

  dfs.name.dir
  /root/hadoop/dfs/name
  Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.
  

  

  dfs.data.dir
  /root/hadoop/dfs/data
  Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.
  

  

  dfs.replication
  2
  

  

  dfs.permissions
  false
  need not permissions
  

  

5.2.4 修改mapred-site.xml
  如果没有 mapred-site.xml 该文件,就复制mapred-site.xml.template文件并重命名为mapred-site.xml。
  输入:
  

vim mapred-site.xml  

  修改这个新建的mapred-site.xml文件,在节点内加入配置:
  

  mapred.job.tracker
  master:9001
  

  

  mapred.local.dir
  /root/hadoop/var
  

  

  mapreduce.framework.name
  yarn
  

  

3,Hadoop启动
  注:如果已经成功配置了就不用了
  启动之前需要先格式化
  切换到/home/hadoop/hadoop2.8/bin目录下
  输入:
  

./hadoopnamenode-format  

  格式化成功后,再切换到/home/hadoop/hadoop2.8/sbin目录下
  启动hdfs和yarn
  输入:
  

start-dfs.sh  
start-yarn.sh
  

  启动成功后,输入jsp查看是否启动成功
  在浏览器输入 ip+8088 和ip +50070 界面查看是否能访问
  能正确访问则启动成功

六、Spark启动
  启动spark要确保hadoop已经成功启动
  首先使用jps命令查看启动的程序
  在成功启动spark之后,再使用jps命令查看
  切换到Spark目录下
  输入:
  

cd /opt/spark/spark1.6-hadoop2.4-hive/sbin  

  然后启动Spark
  输入:
  

start-all.sh  

http://img.blog.csdn.net/20171219190414049?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWF6d3N4cGNt/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
  然后在浏览器输入
  http://192.168.219.128:8080/
  正确显示该界面,则启动成功
http://img.blog.csdn.net/20171219190357126?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWF6d3N4cGNt/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast
  注:如果spark成功启动,但是无法访问界面,首先检查防火墙是否关闭,然后在使用jps查看进程,如果都没问题的,一般就可以访问界面。如果还是不行,那么检查hadoop、scala、spark的配置。
  那么本文到此结束,谢谢阅读!
  如果觉得不错,可以点击一下赞或推荐。
  版权声明:
  作者:虚无境
  博客园出处:http://www.cnblogs.com/xuwujing
  CSDN出处:http://blog.csdn.net/qazwsxpcm    
  个人博客出处:http://www.panchengming.com
  原创不易,转载请标明出处,谢谢!


页: [1]
查看完整版本: 大数据学习系列之六 ----- Hadoop+Spark环境搭建