Hadoop的全分布模式

一、搭建Hadoop的全分布模式

    1、三台机器:bigdata12  bigdata13  bigdata14
    2、每台机器准备工作:安装JDK、关闭防火墙、设置主机名
           systemctl stop firewalld.service
           systemctl disable firewalld.service

           设置主机名  vi /etc/hosts
            192.168.157.12 bigdata12
            192.168.157.13 bigdata13
            192.168.157.14 bigdata14

    3、配置免密码登录
        (1)在每台机器上产生公钥和私钥
               ssh-keygen -t rsa

        (2)需要将每台机器的公钥复制给其他机器(下面的三句话,需要在每台机器上执行)
              ssh-copy-id -i .ssh/id_rsa.pub root@bigdata12
              ssh-copy-id -i .ssh/id_rsa.pub root@bigdata13
              ssh-copy-id -i .ssh/id_rsa.pub root@bigdata14

    4、保证每台机器的时间同步的

设置每台机器的时间同步

putty下左边数起,第五个按钮,点下去,一条命令就可以设置。

Hadoop的全分布模式_第1张图片

Hadoop 的全分布模式
Hadoop的全分布模式_第2张图片

5、安装Hadoop的全分布环境(在主节点bigdata12上安装)
    (1)解压设置环境变量(除了环境变量在三台机器上都操作以外,其他的操作都是在主节点上操作的。)
    (2)修改配置文件
        hadoop.tmp.dir的参数一定要改。因为这个参数是hdfs保存数据的目录,默认的是linux的temp目录,修改为/root/training/hadoop-2.7.3/tmp

    hadoop-env.sh 
                    26行  export JAVA_HOME=/root/training/jdk1.8.0_144

    hdfs-site.xml(放到configuration)

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

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

    core-site.xml

                
                <property>
                  <name>fs.defaultFSname>
                  <value>hdfs://bigdata12:9000value>
                property> 

                
                <property>
                  <name>hadoop.tmp.dirname>
                  <value>/root/training/hadoop-2.7.3/tmpvalue>
                property> 

    mapred-site.xml

                
                <property>
                  <name>mapreduce.framework.namename>
                  <value>yarnvalue>
                property>
    yarn-site.xml

                
                <property>
                  <name>yarn.resourcemanager.hostnamename>
                  <value>bigdata12value>
                property>     

                
                <property>
                  <name>yarn.nodemanager.aux-servicesname>
                  <value>mapreduce_shufflevalue>
                property> 

    slaves: 配置的是所有的从节点
                    bigdata13
                    bigdata14

    (3)格式化NameNode: hdfs namenode -format


6、将配置好的目录复制到bigdata13和bigdata14上
         scp -r hadoop-2.7.3/ root@bigdata13:/root/training
         scp -r hadoop-2.7.3/ root@bigdata14:/root/training

7、启动Hadoop集群(在主节点上): start-all.sh
                             stop-all.sh


8、验证 
        (*)命令行:hdfs dfsadmin -report
        (*)网页:HDFS:http://192.168.157.12:50070/
                 Yarn:http://192.168.157.12:8088
第四章:Hadoop的体系结构(非常重要):原理、结构、运行机制
    问题:Putty或者SecureCRT连不上
    网卡重启的命令:service network restart

    一、HDFS的体系结构和运行原理
        1、主节点:NameNode
        (*)职责:管理HDFS
                   接收客户端的请求:上传数据、下载数据
                   管理和维护日志(叫做:edits文件)和元信息(指的是:数据块的位置信息:fsimage文件)

        (*)HDFS的日志:edits文件
            举例: 创建目录  ---> 产生日志
            hdfs dfs -mkdir /mydemo1
            查找edits文件:find . -name edits*    (. 表示的是在当前目录下去找)
            (1) edits_inprogress_0000000000000000105是二进制文件
           (2)HDFS提供一个工具:edits viewer 日志查看器,转换成一个XML文件
                hdfs oev -i edits_inprogress_0000000000000000105 -o ~/a.xml
                    <RECORD>
                            <OPCODE>OP_MKDIROPCODE>
                            <DATA>
                              <TXID>107TXID>
                              <LENGTH>0LENGTH>
                              <INODEID>16416INODEID>
                              <PATH>/mydemo1PATH>
                              <TIMESTAMP>1512565581211TIMESTAMP>
                              <PERMISSION_STATUS>
                                <USERNAME>rootUSERNAME>
                                <GROUPNAME>supergroupGROUPNAME>
                                <MODE>493MODE>
                              PERMISSION_STATUS>
                            DATA>
                    RECORD>

        (*)HDFS的元信息:fsimage文件:记录数据块的位置信息、冗余信息等等
                查找fsimage文件:find . -name fsimage*
                也是二进制的
                HDFS也提供了一个工具:image viewer ,把fsimage文件转成文本、XML的文件
                hdfs oiv -i fsimage_0000000000000000102 -o ~/b.xml -p XML

        (*)问题:edits文件和fsimage文件,哪个文件体现了HDFS的最新状态?(回答:edits文件)
        2、从节点:DataNode
            (*)按数据块保存数据:1.x:64M   2.x:128M
            (*)数据块在操作系统的位置:
                 find . -name blk*
                /root/training/hadoop-2.7.3/tmp/dfs/data/current/BP-156326068-192.168.157.11-1512395988927/current/finalized/subdir0/subdir0
            (*)设置数据块冗余度的基本原则
                  一般,冗余度跟数据节点的个数一样,最大不要超过3

        3、第二名称节点:SecondaryNameNode,默认就跟NameNode在一起
            (*)职责:定期进行日志信息的合并,edits ---> fsimage中
            (*)掌握日志合并过程(重要)
            如果你在oracle数据库中,发出了检查点,他会以最高优先级,唤醒数据库的写进程,来写内存中的脏数据(把内存中的脏数据写到硬盘上保存,这样子数据就持久化的保存下来了)

    二、Yarn的体系结构和运行原理:运行MapReduce的容器
        hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /input/data.txt /output/wc1206

        1、主节点:ResourceManager
            职责:(*)接收任务请求
                 (*)资源的分配
                 (*)任务分配

        2、从节点:NodeManager
            职责:(*)从ResourceManager获取任务和资源
                 (*)执行

        3、调度MR任务的过程

        4、资源分配方式
            (1)FIFO Scheduler:先来先得
            (2)Capacity Scheduler:容器管理
            (3)Fair Scheduler:公平调度管理 ,前提:假设任务具有相同优先级,平均分配资源

    三、HBase的体系结构和运行原理
        HBase是基于HDFS之上的NoSQL数据库

        1、主节点:HMaster
        2、从节点:RegionServer
    四、主从结构的单点故障问题及解决方案(了解)

SecondaryNameNode日志合并的过程

Hadoop的全分布模式_第3张图片

Yarn调度MR任务的过程

资源的公平调度原则

Hadoop的全分布模式_第4张图片

HBase的体系结构

Hadoop的全分布模式_第5张图片

主从结构的单点故障问题及解决方案

Hadoop的全分布模式_第6张图片

你可能感兴趣的:(大数据)