zoukankan      html  css  js  c++  java
  • 搭建hadoop-完全分布式模式

    搭建简单的Hadoop完全分布式模式

    分析

    1. 最少准备多台客户机(Zookeeper至少需要三台)
    2. 安装jdk
    3. 安装Hadoop
    4. 配置环境变量
    5. 单点启动
    6. 配置ssh
    7. 群起并测试集群

    首先设置集群规划

    hadoop100 hadoop101 hadoop102
    HDFS NameNode,DataNode DataNode SecondaryNameNode,DataNode
    YARN NodeManager Resourcemanager,Nodemanager Nodemanager

    虚拟机准备

    注 : 我用的centos7,系统通过关闭firewalld,但是主机还是不能访问虚拟机的端口,端口还是默认关闭的,需要注意下
    注: centos7 系统,如果你的系统在某一天hostname,变成了初始化,然后发现配置文件,没有变化,使用命令形式 hostname set-hostname name 来重新设定

    设置静态ip与主机名,设置用户为超级用户

    注:如果使用Vmare,克隆,注意分配给虚拟机的网卡地址是一样的,自己需要重新生成

    1. /etc/sysconfig/network-scripts/ifcfg-ens32 设置静态ip

    2. vim /etc/sysconfig/network(改变主机名),NETWORKING=yes,HOSTNAME=hadoop10*

    3. vim /etc/hosts (设置对应IP地址的主机名)

    4. 达到要求:

      1. 各个主机,能够ping通
      2. 主机与各个虚拟机,能够ping通
    5. 如果图方便,可以在主机的hosts ,里面可以写入例:
      192.168.11.100 hadoop100

    6. 新建用户

      1. useradd lan
      2. vim /etc/sudoers 在root下面,添加一样格式的lan

    配置java环境

    1. 解压java在一个文件夹下(我的是/opt/module)
    2. 配置环境
      vim /etc/profile
      ##JAVA_HOME
      export JAVA_HOME=/opt/module/jdk1.8.0_144
      export PATH=$PATH:$JAVA_HOME/bin
      
      source /etc/profile 更新文件配置
      

    hadoop

    安装

    1. 解压在一个文件夹下
    2. 配置环境
      ## HADOOP_HOME
      export HADOOP_HOME=/opt/module/hadoop-2.7.2
      export PATH=$PATH:$HADOOP_HOME/bin
      export PATH=$PATH:$HADOOP_HOME/sbin
      
      记得source 下
      
    3. 目录说明
      1. bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本
      2. etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
      3. lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
      4. sbin目录:存放启动或停止Hadoop相关服务的脚本
      5. share目录:存放Hadoop的依赖jar包、文档、和官方案例

    配置集群

    配置core-site.xml

    hadoop100 配置
    <!-- 指定HDFS中NameNode的地址 -->
    <property>
    		<name>fs.defaultFS</name>
          <value>hdfs://hadoop100:9000</value>
    </property>
    
    <!-- 指定Hadoop运行时产生文件的存储目录 -->
    <property>
    		<name>hadoop.tmp.dir</name>
    		<value>/opt/module/hadoop-2.7.2/data/tmp</value>
    </property>
    
    
    

    HDFS 配置文件

    1. hadoop-env.sh 配置
      hadoop100 配置
      vi hadoop-env.sh
      export JAVA_HOME=/opt/module/jdk1.8.0_144
      
      
    2. hdfs-site.xml
      <property>
      	<name>dfs.replication</name>
      	<value>3</value>
      </property>
      
      <!-- 指定Hadoop辅助名称节点主机配置 -->
      <property>
      	  <name>dfs.namenode.secondary.http-address</name>
      	  <value>hadoop102:50090</value>
      </property>
      
      

    YARN 配置文件

    1. yarn-env.sh
      vi yarn-env.sh
       export JAVA_HOME=/opt/module/jdk1.8.0_144
      
    2. yarn-site.xml
      <!-- Reducer获取数据的方式 -->
      <property>
      		<name>yarn.nodemanager.aux-services</name>
      		<value>mapreduce_shuffle</value>
      </property>
      
      <!-- 指定YARN的ResourceManager的地址 -->
      <property>
      		<name>yarn.resourcemanager.hostname</name>
      		<value>hadoop101</value>
      </property>
      

    MapReduce 配置文件

    1. mapre-env.sh
       vi mapred-env.sh
      export JAVA_HOME=/opt/module/jdk1.8.0_144
      
    2. mapre-site.xml
       cp mapred-site.xml.template mapred-site.xml
       vi mapred-site.xml
       
       添加配置
       <!-- 指定MR运行在Yarn上 -->
       <property>
       		<name>mapreduce.framework.name</name>
       		<value>yarn</value>
       </property>
       
      

    这是一台主机的配置,其他另外两台要一摸一样

    配置群起集群

    1. 配置slaves

    /opt/module/hadoop-2.7.2/etc/hadoop/slaves
    
     vi slaves
    hadoop102
    hadoop103
    hadoop104
    注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。
    

    然后同步所有结点配置文件

    2. 启动集群

    1. 如果集群第一次启动,需要格式化namenode
      bin/hdfs namenode -format

    2. 启动HDFS ;
      sbin/start-dfs.sh

    3. 启动yarn
      sbin/start-yarn.sh
      注意::namenode和resourcemanger如果不是同一台机器,不能在namenode上启动yarn,应该在Resourcemanager所在的机器上启动yarn

    测试是否启动成功

    1. web查看 ,例子URL
    2. http://hadoop100:50070/
    3. hadoop102:50090

    集群启动/停止方式

    组件分别启动停止

    1. 分别启动-停止HDFS组件

      hadoop-daemon.sh start/stop namenode/datanode/secondarynamnode
      
      
    2. 启动停止YARN

      yarn-daemon.sh start/stop resourcemanager/nodemnaager			
      

    整体启动

    各个模块分开启动停止(ssh配置是前提

    1. 整体启动停止HDFS

      start-dfs。sh/ stop-dfs.sh

    2. 整体启动停止yarn

      start-yarn.sh / stop-yarn.sh

    需要注意

    == 集群需要时间同步服务器==
    因为Zookeeper 如果时间 相差太大的话,会启动失败
    如果出现一些问题,参考博客
    参考:http://www.cnblogs.com/zlslch/p/6604189.html

    后面的内容配置,会逐渐写出来!!!

  • 相关阅读:
    CodeForces 659F Polycarp and Hay
    CodeForces 713C Sonya and Problem Wihtout a Legend
    CodeForces 712D Memory and Scores
    CodeForces 689E Mike and Geometry Problem
    CodeForces 675D Tree Construction
    CodeForces 671A Recycling Bottles
    CodeForces 667C Reberland Linguistics
    CodeForces 672D Robin Hood
    CodeForces 675E Trains and Statistic
    CodeForces 676D Theseus and labyrinth
  • 原文地址:https://www.cnblogs.com/YJBlog/p/12337099.html
Copyright © 2011-2022 走看看