美文网首页我爱编程
1 - Hadoop2.0集群搭建流程详解

1 - Hadoop2.0集群搭建流程详解

作者: GuangHui | 来源:发表于2018-04-17 08:24 被阅读162次

    1. 使用vm安装centos7.0

    可以参考文章: CentOS 7.0系统安装配置步骤及网络开启配置详解(https://blog.csdn.net/youzhouliu/article/details/51175364)

    2.配置linux虚拟机桥接模式,设置上网

    第一个虚拟机,定为master
    可参考文章: # 主机桥接Centos7联网问题总结

    3.使用vm克隆两个虚拟机,组件集群

    克隆的两个虚拟机,分别为slave1和slave2

    4.修改slave1和slave2的ip,并通过配置使其能够联网

    5. 修改mater,slave1和slave2的hostname

    可参考文章: centos7配置SSH免密码登陆(https://blog.csdn.net/uuidanduid/article/details/60172998)

    6.设置集群节点之间的免密码互访机制

    可参考文章: centos7配置SSH免密码登陆(https://blog.csdn.net/uuidanduid/article/details/60172998)

    7.使用xftp上传文件

    这里是与centos6.5有所区别的地方,centos6.5可以通过共享文件夹的方式,上传文件.
    而centos7.0不同通过简单设置共享文件夹的方式上传文件,还需要安装vm tools,相对复杂些.
    而真正生产环境一般不用共享文件夹,而是更多使用xftp,所以此处选择使用xftp.

    8.将所需要的安装包上传到/usr/local/src目录下

    这里主要使用的安装包有:
    jdk-7u80-linux-x64.tar.gz
    hadoop-2.6.1.tar.gz

    需要的linux命令:

    #解压命令:
    tar -zxvf  jdk-7u80-linux-x64.tar.gz
    
    #跨节点复制命令:
    scp -rp jdk-7u80-linux-x64.tar.gz 192.168.175.21:/usr/local/src/
    #或者
    scp -rp jdk-7u80-linux-x64.tar.gz slave1:/usr/local/src/
    

    需要在~/.bashrc进行如下方式的配置

    iptables -F   #强制关闭防火墙
    setenforce 0
    hostname master
    
    
    export JAVA_HOME=/usr/local/src/jdk1.7.0_80
    export HADOOP_HOME=/usr/local/src/hadoop-2.6.1
    
    # added by Anaconda3
    #export PATH =/root/anaconda3/bin:$PATH
    export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
    export PATH=$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
    

    9. 在jdk安装完成后,就可以配置hadoop2.0了.

    配置hadoop文件所在的路径为:/usr/local/src/hadoop-2.6.1/etc/hadoop

    9.1 在hadoop-env.sh中配置JAVA_HOME
    # The java implementation to use.
    export JAVA_HOME=/usr/local/src/jdk1.7.0_80
    
    9.2 在yarn-env.sh中配置JAVA_HOME
    # some Java parameters
    export JAVA_HOME=/usr/local/src/jdk1.7.0_80
    
    9.3 在slaves中配置从节点
    slave1
    slave2
    
    9.4 在core-site.xml中配置如下:
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://master:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>file:/usr/local/src/hadoop-2.6.1/tmp</value>
            <description>Abase for other temporary directories.</description>
        </property>
    
    9.5 在HADOOP_HOME创建如下目录:tmp,dfs/name,dfs/data

    执行命令:

    mkdir tmp
    mkdir -p dfs/name
    mkdir -p dfs/data
    
    9.6 在hdfs-site.xml中进行如下配置:
    <!-- Put site-specific property overrides in this file. -->
    
    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>3</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>master:9001</value>
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:/usr/local/src/hadoop-2.6.1/dfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/usr/local/src/hadoop-2.6.1/dfs/data</value>
        </property>
    </configuration>
    
    9.7 修改mapred-site.xml.template文件名->mapred-site.xml

    执行命令:

    cp mapred-site.xml.template mapred-site.xml
    

    在mapred-site.xml进行如下配置:

    <!-- Put site-specific property overrides in this file. -->
    
    <configuration>
            <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    
    9.8 在yarn-site.xml中进行如下配置:
    <configuration>
    
    <!-- Site specific YARN configuration properties -->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>      
            <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
            <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
            <name>yarn.resourcemanager.address</name>
            <value>master:8032</value>
        </property>
        <property>
           <name>yarn.resourcemanager.scheduler.address</name>
            <value>master:8030</value>
        </property>
        <property>
           <name>yarn.resourcemanager.resource-tracker.address</name>
            <value>master:8035</value>
        </property>
        <property>
            <name>yarn.resourcemanager.admin.address</name>
            <value>master:8033</value>
        </property>
        <property>
            <name>yarn.resourcemanager.webapp.address</name>
            <value>master:8088</value>
        </property>
    </configuration>
    
    9.9 将配置好的hadoop-2.6.1文件夹,依次复制到其他两个节点上

    操作命令如下:

    scp -rp hadoop-2.6.1 slave1:/usr/local/src/
    
    9.10 类似master在~/.bashrc的环境变量配置,在slave1和slave2同样进行配置,记得修改hostname
    9.11 一切准备就绪,开始格式化并启动集群

    命令如下:

    #格式化
    ./bin/hadoop namenode -format
    #启动
    ./sbin/start-dfs.sh
    ./sbin/start-yarn.sh
    
    9.12 测试集群启动情况,在各个节点执行jps命令:

    在master节点正常启动的话,会显示如下:

    SecondaryNameNode
    Jps
    NameNode
    ResourceManager
    

    在slave1和slave2节点应显示如下:

    NodeManager
    Jps
    DataNode
    
    9.13 测试集群能否上传与读取文件

    命令如下:

    #上传文件:(自己随便创建一个文件即可)
    hadoop fs -put /usr/local/src/test /
    #查看文件类表:
    hadoop fs -ls /
    #读取文件:
    hadoop fs -text /test
     
    

    配置流程,可参考文章:

    1. https://blog.csdn.net/wl0909/article/details/53354999

    相关文章

      网友评论

        本文标题:1 - Hadoop2.0集群搭建流程详解

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