Hadoop2.7.3全分布式环境搭建

Hadoop2.7.3全分布式环境搭建

    • 一、准备工作
    • 二、在主节点上进行安装配置(niit01)
    • 三、分发到从节点
    • 四、在主节点(niit01)上启动
    • 五、验证结果

  • 说明:
    完成Hadoop全分布式环境搭建,需准备至少3台虚拟机(niit01 niit02 niit03)
  • 环境:
    VMWare + Centos7 + JDK1.8+ Hadoop2.7.3
  • 主机规划:
    主节点:niit01
    从节点:niit02 , niit03

一、准备工作


  • 1、所有主机安装jdk
  • 2、所有主机都需要关闭防火墙
  • 3、所有主机都需要配置主机名映射关系 vi /etc/hosts
  • 4、配置免密码登录(配置两两之间的免密码登录)
    所有的机器都需要产生一对密钥:公钥和私钥
    ssh-keygen -t rsa
    所有主机需要执行
    ssh-copy-id -i .ssh/id_rsa.pub root@niit01
    ssh-copy-id -i .ssh/id_rsa.pub root@niit02
    ssh-copy-id -i .ssh/id_rsa.pub root@niit03
    
  • 5、保证每台机器的时间是一样的
    如果不一样的话,我们在执行MapReduce程序的时候可能会存在问题.。 解决方案:
    1)搭建一个时间同步的服务器,网上很多教程可以使用
    2)使用putty/shell工具,可以简单实现这个功能:
    date -s 2018-07-30后面必须敲一个回车

二、在主节点上进行安装配置(niit01)


  • 上传hadoop安装包,解决配置环境变量
    tar -zvxf /tools/hadoop-2.7.3.tar.gz -C /training/
    注意需要同时设置:niit01 niit02 niit03

    export HADOOP_HOME=/training/hadoop-2.7.3
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    
  • 创建tmp目录
    mkdir /training/hadoop-2.7.3/tmp

  • 修改配置文件
    1)hadoop-env.sh (参考伪分布模式)
    vi /training/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
    需要这只jdk路径
    2)hdfs-site.xml
    vi /training/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
    添加如下信息:
    之间添加

    <property>
     <name>dfs.replicationname>
     <value>2value>
    property>
    <property>
     <name>dfs.permissionsname>
     <value>falsevalue>
    property>
    

    3)core-site.xml
    vi /training/hadoop-2.7.3/etc/hadoop/core-site.xml
    添加如下信息:

    <property>
       <name>fs.defaultFSname>
       <value>hdfs://niit01:9000value>
    property>              
    <property>
       <name>hadoop.tmp.dirname>
       <value>/training/hadoop-2.7.3/tmpvalue>
    property>
    

    4)mapper-site.xml
    vi /training/hadoop-2.7.3/etc/hadoop/mapper-site.xml
    添加如下信息:

    <property>
    <name>mapreduce.framework.namename>
    <value>yarnvalue>
    property>
    
    <property>
    <name>mapreduce.jobhistory.addressname>
    <value>niit04:10020value>
    property>
    
    <property>
    <name>mapreduce.jobhistory.webapp.addressname>
    <value>niit04:19888value>
    property>
    

    5)yarn-site.xml

    vi /training/hadoop-2.7.3/etc/hadoop/yarn-site.xml
    添加如下信息:

    
    <property>
       <name>yarn.resourcemanager.hostnamename>
       <value>niit01value>
    property>
    
    
    <property>
       <name>yarn.nodemanager.aux-servicesname>
       <value>mapreduce_shufflevalue>
    property> 
    
    <property>
    <name>yarn.log-aggregation-enablename>
    <value>truevalue>
    property>
    
    <property>
    <name>yarn.log-aggregation.retain-secondsname>
    <value>604800value>
    property>
    
    <property>
    <name>yarn.log.server.urlname>
    <value>http://niit01:19888/jobhistory/logsvalue>
    property>
    

    6)slaves
    vi /training/hadoop-2.7.3/etc/hadoop/slaves
    添加如下信息:
    niit02
    niit03

  • 格式化nameNode
    hdfs namenode -format
    如格式化日志,会打印出如下日志信息:
    Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted.

三、分发到从节点


将上述配置好后的环境即hadoop2.7.3整个目录分别远程复制到其他两台从节点上(niit02,niit03)上:

  • 将niit01上的hadoop环境复制到niit02 niit03
    scp -r hadoop-2.7.3/ root@niit02:/training/
    scp -r hadoop-2.7.3/ root@niit03:/training/

四、在主节点(niit01)上启动


  • 在主节点(niit01)上启动hdfs
    start-all.sh

五、验证结果


  • jps查看进程
    主节点:
    NameNode ResourceMnager SecondaryNameNode
    从节点:
    DataNode NodeManager
  • 浏览器查看
    HDFS: http://niit01:50070
    YARN:http://niit01:8088

你可能感兴趣的:(Hadoop,hadoop)