zoukankan      html  css  js  c++  java
  • 大数据学习系列之六 ----- 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,服务器选择

    本地虚拟机
    操作系统:linux CentOS 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
    输入

    mv  scala-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 查看是否安装成功

    这里写图片描述

    三、Spark的环境配置

    1,文件准备

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

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

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

    mv  spark-1.6.3-bin-hadoop2.4-without-hive  /opt/spark
    mv  spark-1.6.3-bin-hadoop2.4-without-hive  spark1.6-hadoop2.4-hive
    

    这里写图片描述

    2,环境配置

    编辑 /etc/profile 文件
    输入:

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

    这里写图片描述

    输入:

    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 
    

    这里写图片描述
    注:上面的路径以自己的为准,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
    

    添加:

    <configuration>
    <property>
            <name>hadoop.tmp.dir</name>
            <value>/root/hadoop/tmp</value>
            <description>Abase for other temporary directories.</description>
       </property>
       <property>
            <name>fs.default.name</name>
            <value>hdfs://master:9000</value>
       </property>
    </configuration>
    

    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
    

    添加:

    <property>
       <name>dfs.name.dir</name>
       <value>/root/hadoop/dfs/name</value>
       <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
    </property>
    <property>
       <name>dfs.data.dir</name>
       <value>/root/hadoop/dfs/data</value>
       <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
    </property>
    <property>
       <name>dfs.replication</name>
       <value>2</value>
    </property>
    <property>
          <name>dfs.permissions</name>
          <value>false</value>
          <description>need not permissions</description>
    </property>
    

    5.2.4 修改mapred-site.xml

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

    vim mapred-site.xml
    

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

    <property>
        <name>mapred.job.tracker</name>
        <value>master:9001</value>
    </property>
    <property>
          <name>mapred.local.dir</name>
           <value>/root/hadoop/var</value>
    </property>
    <property>
           <name>mapreduce.framework.name</name>
           <value>yarn</value>
    </property>
    

    3,Hadoop启动

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

    ./hadoop  namenode  -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://192.168.219.128:8080/

    正确显示该界面,则启动成功
    这里写图片描述

    注:如果spark成功启动,但是无法访问界面,首先检查防火墙是否关闭,然后在使用jps查看进程,如果都没问题的,一般就可以访问界面。如果还是不行,那么检查hadoop、scala、spark的配置。

    那么本文到此结束,谢谢阅读!
    如果觉得不错,可以点击一下赞或推荐。

    版权声明:
    作者:虚无境
    博客园出处:http://www.cnblogs.com/xuwujing
    CSDN出处:http://blog.csdn.net/qazwsxpcm    
    个人博客出处:http://www.panchengming.com
    原创不易,转载请标明出处,谢谢!

  • 相关阅读:
    绘图与滤镜全面解析
    排序算法——快速排序
    IOS QuartzCore核心动画框架
    const 笔记
    operation 多线程
    指针 总结
    问题 H: 老管家的忠诚(线段树)
    问题 H: 老管家的忠诚(线段树)
    Python——numpy(python programming)
    Python——numpy(python programming)
  • 原文地址:https://www.cnblogs.com/xuwujing/p/8067293.html
Copyright © 2011-2022 走看看