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

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

  • 相关阅读:
    使用ActivityGroup来切换Activity和Layout
    Fragment
    [Java]LeetCode297. 二叉树的序列化与反序列化 | Serialize and Deserialize Binary Tree
    [Swift]LeetCode298. 二叉树最长连续序列 $ Binary Tree Longest Consecutive Sequence
    [Swift]LeetCode296. 最佳开会地点 $ Best Meeting Point
    [Swift]LeetCode294. 翻转游戏之 II $ Flip Game II
    [Swift]LeetCode293. 翻转游戏 $ Flip Game
    [Swift]LeetCode291. 单词模式 II $ Word Pattern II
    [Postman]发出SOAP请求(18)
    [Postman]生成代码段(17)
  • 原文地址:https://www.cnblogs.com/YJBlog/p/12337099.html
Copyright © 2011-2022 走看看