美文网首页
Centos6 安装Hadoop集群环境

Centos6 安装Hadoop集群环境

作者: overad | 来源:发表于2019-05-26 22:50 被阅读0次

    一、环境准备

    1.1 配置DNS:

    进入配置文件,添加主节点和从节点的IP映射关系

    #vim /etc/hosts
    192.168.254.155 master
    192.168.254.156 slave1
    192.168.254.157 slave2
    

    1.2 关闭防火墙

    #service iptables stop    //关闭服务
    #chkconfig iptables off     //关闭开机自启动
    

    1.3 配置免密登陆

    1. 每个节点都首先要进入/root/.ssh目录下,生成密钥:

    #ssh-keygen -t rsa //输入命令之后连续回车就行了

    2. 在主节点上,将公钥拷贝到一个特定的文件中
    [root@master .ssh]# cp id_rsa.pub authorized_key
    
    3. 将每个从节点上生成的公钥复制到主节点上:
    [root@slave1 .ssh]# scp id_rsa.pub master:/root/.ssh/id_rsa_slave1.pub
    [root@slave2 .ssh]# scp id_rsa.pub master:/root/.ssh/id_rsa_slave2.pub
    
    4. 在主节点上合并从节点的公钥:
    [root@master .ssh]# cat id_rsa_slave1.pub>>authorized_keys 
    [root@master .ssh]# cat id_rsa_slave2.pub>>authorized_keys
    

    配置完成后、在各个节点上进行ssh访问,若无需密码就能访问,则配置成功

    1.4 配置JAVA环境

    首先下载jdk,保存到指定目录下,设置环境变量

    # vim  /etc/profile
    export JAVA_HOME=/usr/java/jdk1.8.0_112
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin
    # source /etc/profile     //使配置生效 
    

    验证配置是否成功:

    java -version

    二、 部署Hadoop集群:

    在各个节点上安装和配置Hadoop的过程都基本相同,因此可以在每个节点上安装好hadoop后,在主节点master上进行统一配置,然后通过scp命令将修改的配置文件拷贝到各个从节点上即可。

    2.1 安装Hadoop

    下载安装hadoop安装包;

    #1. 下载并解压:
    #tar -zxvf hadoop-2.7.3.tar.gz
    #2. 配置环境变量:
    # vim /etc/profile
    
    export HADOOP_HOME=/home/hadoop-2.7.3
    export PATH=$PATH:$HADOOP_HOME/bin
    export PATH=$PATH:$HADOOP_HOME/sbin
    export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
    
    2.2 修改配置文件:进入hadoop的配置文件目录$HADOOP_HOME/etc/hadoop,可以看到有许多配置文件,Hadoop集群配置主要是对以下几个文件的修改

    core-site.xml
    hdfs-site.xml
    yarn-site.xml
    mapred-site.xml
    slave、hadoop-env.sh、yarn-env.sh

    下面介绍文件的具体配置、按照实际情况修改配置信息;
    (1) core-site.xml

    <configuration>
      <property>
            <name>fs.defaultFS</name>    #默认文件系统名称,用于指定host,post
           <value>hdfs://master:9000</value>
      </property>
      <property>
           <name>hadoop.tmp.dir</name>  #指定临时文件的存储路径
           <value>file:/home/hadoop/tmp</value>
      </property>
      <property>
          <name>io.file.buffer.size</name>  #用于指定序列文件的缓冲区大小
           <value>131702</value>
      </property>
    </configuration>
    

    (2) hdfs-site.xml

    <configuration>
           <property>
               <name>dfs.permissions.enabled</name>
               <value>false</value>
            </property>
            <property>
                <name>dfs.support.append</name>
                <value>true</value>
            </property>
                 <property>
                    <name>dfs.namenode.name.dir</name>      #用于指定namenode存储路径
               <value>file:/home/michael/soft/hadoop/dfs/name</value>
           </property>
           <property>
                    <name>dfs.datanode.data.dir</name>  #用于指定datenode存储路径
                    <value>file:/home/michael/soft/hadoop/dfs/data</value>
           </property>
           <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.webhdfs.enabled</name> 
                    <value>true</value>        #启用webHDFS检测namenode和datanode
           </property>
    </configuration>
    

    (3) yarn-site.xml
    此目录下没有该文件,我们需要将mapred-site.xml.template 复制一份,改成此名。然后再修改:

    <configuration>
            <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
            </property>
            <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
            </property>
            <property>
                <name>yarn.nodemanager.resource.memory-mb</name>
                <value>20480</value>
            </property>
            <property>
                <name>yarn.scheduler.maximum-allocation-mb</name>
                <value>10240</value>
            </property>
            <property>
                <name>yarn.nodemanager.resource.cpu-vcores</name>
                <value>5</value>
            </property>
            <property>
                <name>yarn.nodemanager.vmem-check-enabled</name>
                <value>false</value>
            </property>
    </configuration>
    

    (4) mapred-site.xml

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

    (5) slaves
    启动hadoop集群需要读取该文件,以确定从节点主机名,从而启动Datanode,Nodemanager等守护进程,因此需要在该文件中添加从节点主机名。
    slave1
    slave2

    (6) hadoop-env.sh
    修改如下内容:
    export JAVA_HOME=/usr/java/jdk1.8.0_171

    (7) yarn-env.sh
    添加如下内容:
    export JAVA_HOME=/usr/java/jdk1.8.0_171

    到此,完成了主节点上所有配置,只需要将这些配置信息复制到各个节点:

    # scp /home/hadoop-2.7.3/etc/hadoop/* slave1:/home/hadoop-2.7.3/etc/hadoop/
    # scp /home/hadoop-2.7.3/etc/hadoop/* slave2:/home/hadoop-2.7.3/etc/hadoop/
    

    2.3 启动Hadoop

    (1)第一次启动HDFS需要初始化,在节点上执行:
    # cd /home/hadoop-2.7.3   
    # ./bin/hadoop namenode -format
    
    (2) 启动HDFS:
    # ./sbin/start-dfs.sh   //启动后,访问http://master:50070/ 可以看到HDFS WEB 界面
    
    (3)启动YARN:
    #。/sbin/start-yarn.sh     //成功启动后,访问http://master:8088/即可看到YARN Web界面。
    

    这里也可以直接执行下面的命令一键启动,但第一次启动不建议这样做:
    # start-all.sh
    到此、Hadoop集群环境已经搭建好了。

    相关文章

      网友评论

          本文标题:Centos6 安装Hadoop集群环境

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