美文网首页Spark学习之路
spark+hadoop环境搭建

spark+hadoop环境搭建

作者: udhga | 来源:发表于2018-12-28 00:49 被阅读0次

    硬件:
    Ubuntu16.04 server 2台
    软件版本:
    hadoop-2.6.5.tar.gz
    jdk-8u191-linux-x64.tar.gz
    scala-2.12.8.tgz
    spark-2.4.0-bin-hadoop2.7.tgz

    hadoop集群搭建(master+slave01)

    1.集群机器准备
    master:192.168.1.222
    slave01:192.168.1.120

    2.修改master和slave01的/etc/hosts文件如下

    127.0.0.1 localhost
    192.168.1.222 master
    192.168.1.120 slave01
    

    配置ssh无密码访问集群

    这个步骤可以参考我之前的一篇教程:Ubuntu配置ssh无密码登陆,在此不说了
    配置完测试是否开启无密码访问,

    ssh 192.168.1.222
    
    clear
    ssh 192.168.1.120
    
    image.png

    jdk与hadoop安装包安装(我把所需的软件都放在home目录的spark下,安装是根据自己的路径更改即可)

    目录tree图
    spark
    ├── hadoop-2.6.5.tar.gz
    ├── jdk-8u191-linux-x64.tar.gz
    ├── scala-2.12.8.tgz
    └── spark-2.4.0-bin-hadoop2.7.tgz

    1.jdk安装

    解压/home/am/spark,分别在master和slave01中添加环境变量(home目录下的.bashrc隐藏文件):

    export JAVA_HOME=/home/am/spark/jdk1.8.0_191
    export JRE_HOME=/home/am/spark/jdk1.8.0_191/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    

    运行source .bashrc使环境变量生效

    2.hadoop安装

    解压到/home/am/spark,分别在master和slave01中添加环境变量(home目录下的.bashrc隐藏文件):

    export HADOOP_HOME=/home/am/spark/hadoop-2.6.5
    export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
    

    运行source .bashrc使环境变量生效

    3.配置hadoop环境

    a.在/home/am/spark/hadoop-2.6.5/etc/hadoop目录下修改hadoop-env.sh 增加如下配置

    export JAVA_HOME=/home/am/spark/jdk1.8.0_191
    export HADOOP_PREFIX=/home/am/spark/hadoop-2.6.5
    

    b.修改core-site.xmltmp目录需要提前创建好

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://master:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/software/hadoop/hadoop-2.6.0/tmp</value>
        </property>
    </configuration>
    

    c.修改hdfs-site.xml,指定数据的副本个数

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>2</value>
        </property>
    </configuration>
    

    d.修改mapred-site.xml

    <configuration>
        <property>
           <name>mapreduce.framework.name</name>
           <value>yarn</value>
        </property>
    </configuration>
    

    e.yarn-env.sh中增加JAVA_HOME的环境

    export JAVA_HOME=/home/am/spark/jdk1.8.0_191
    

    f.修改yarn-site.xml

    <configuration>
    <!-- Site specific YARN configuration properties -->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>master</value>
        </property>
    </configuration>
    

    g.slaves中增加集群主机名

    master
    slave01
    

    在slave01重复以上步骤

    启动hadoop集群

    1)start-dfs.sh,启动namenode和datanode


    image.png

    在master和slave01上使用jps命令查看java进程


    image.png

    2)start-yarn.sh,启动 ResourceManager 和 NodeManager


    image.png

    在master和slave01上使用jps命令查看java进程


    image.png

    如果上述都成功了,那么集群启动就成功了

    scala安装

    a.解压到/home/am/spark,分别在master和slave01中添加环境变量(home目录下的.bashrc隐藏文件)

    export SCALA_HOME=/home/am/spark/scala-2.12.8
    export SPARK_HOME=/home/am/spark/spark-2.4.0-bin-hadoop2.7
    export PATH=$PATH:$SCALA_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin
    

    b.测试scala命令是否有效


    image.png

    c.安装成功

    Spark安装以及配置

    1.Spark安装

    解压到/home/am/spark,分别在master和slave01中添加环境变量(home目录下的.bashrc隐藏文件)

    export SPARK_HOME=/home/am/spark/spark-2.4.0-bin-hadoop2.7
    export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
    

    每次修改完记得运行source .bashrc使环境变量生效

    2.Spark配置

    a.进入Spark的安装目录下的conf目录,拷贝spark-env.sh.templatespark-env.sh

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

    编辑spark-env.sh,在其中添加以下配置信息

    export SCALA_HOME=/home/am/spark/scala-2.12.8
    export JAVA_HOME=/home/am/spark/jdk1.8.0_191
    export SPARK_MASTER_IP=192.168.1.222
    export SPARK_WORKER_MEMORY=1g
    export HADOOP_CONF_DIR=/home/am/spark/hadoop-2.6.5/etc/hadoop
    

    b.将slaves.template拷贝到slaves,编辑起内容为

    master
    slave01
    

    此配置表示要开启的worker主机
    c.slave01同样参照master配置

    Spark集群启动

    a启动Master节点,运行start-master.sh,结果如下


    image.png

    b.启动所有的worker节点,运行start-slaves.sh,运行结果如下


    image.png

    c.输入jps命令查看启动情况


    image.png

    d.浏览器访问http://192.168.1.222:8080可查看Spark集群信息

    image.png

    第一次搭建,很多不懂的,疑问,想知道哪一步出错了?
    workers id为什么主机的ip都是192.168.1.222?

    相关文章

      网友评论

        本文标题:spark+hadoop环境搭建

        本文链接:https://www.haomeiwen.com/subject/tvzdlqtx.html