Hadoop 高级(一)

1)Hadoop集群的规划

    学习部署:1台 4G VM  

    集群部署:3台/5台 VM

    生产部署:实时数仓1+2+24


2)Zookeeper组件    http://zookeeper.apache.org/

    2.1 概念

        分布式服务框架。协调服务

        Q:HDFS的NN(namenode)和SNN(second namenode),checkpoint多久同步一次?哪些参数控制?参数在哪找?

             如:12点checkpoint------------》13点cp;12.30 NN挂了,只能恢复12点cp的元数据,如何解决这个问题?

        A:额

    2.2 zookeeper部署节点

        zk部署节点必须是2n+1>=3 ,选举

        100台以内:7/9

        100台以上: 13/15    (经验值)控制好数量,不是越多越好,减少选举leader所用的成本


3)Hadoop集群的HDFS、YARN HA的架构原理

    3.1 HDFS HA

    3.2 YARN HA


    3.3 补充

        3.3.1 部署了HDFS HA的访问,不要直接访问IP

            DN(数据存储)和NM(计算)部署在同一台: 数据本地化 减少网络消耗,让计算更加的快

            hdfs dfs -ls hdfs://nameservice1/

            假设NN1 active:

                hdfs dfs -ls hdfs://192.168.137.131:8020/  active 可以的, 有读写权限

        hdfs dfs -ls hdfs://192.168.137.132:8020/  standby 可以的, read only

        3.3.2 热备: 元数据信息想要热备,必然要有一个公共的存储的地方    (JN)

        Q:为什么HDFS HA的ZKFC要单独出来一个进程?而YARN HA没有?在哪里?

        A:因为大数据里面,数据是根本。存储比计算重要(备份重于一切),所以在YARN的设计尽量简化,把ZKFC作为线程部署在RM上


4)部署

    4.1 多台机器配置互相信任关系    SSH    3台VM

        配置多台互相SSH信任关系(Apache HADOOP)    http://blog.itpub.net/30089851/viewspace-1992210/

    4.2 部署Zookeeper集群

        4.2.1 wget https://www.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz

        4.2.2 配置zoo.cfg

             dataDir=/opt/software/zookeeper/data 

             server.1=hadoop001:2888:3888

             server.2=hadoop002:2888:3888

             server.3=hadoop003:2888:3888 

        4.2.3 配置myid

        4.2.4 scp到其他机器

    4.3 部署HDFS

        4.3.1 wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz 

        4.3.2 配置core-site.xml

        4.3.3 配置hdfs-site.xml

        4.3.4 配置mapred-site.xml

        4.3.5 配置slaves

        4.3.6 mkdir /opt/software/hadoop/tmp  && chmod -R 777 tmp && mkdir /opt/software/hadoop/data/dfs

        4.3.7 scp到其他机器    

        4.3.8 启动 

            cd /opt/software/hadoop/bin

            ./hadoop-daemon.sh start journalnode    启动JN(3台机器分开启)

            cd /opt/software/hadoop/sbin

            ./hadoop namenode -format    (要看到/opt/software/hadoop/data/dfs/name successfully)

            scp /opt/software/hadoop/data/dfs 到其他机器

            cd /opt/software/hadoop/bin

            ./hdfs zkfc

            ./hdfs zkfc -formatZK    (格式化ZK,要看到successfully created /hadoop-ha/mycluster in ZK)

            cd /opt/software/hadoop/sbin

            ./start-dfs.sh            

    4.4 部署YARN

        4.4.1 配置yarn-site.xml

        4.4.2 启动

            cd /opt/software/hadoop/sbin

            ./start-yarn.sh    (只启动了一个RM,另外一个机器需要手工启动)

            机器2:

                cd /opt/software/hadoop/sbin

                yarn-daemon.sh start resourcemanager            

    4.5 Check

        hadoop001:50070    hadoop002:50070

        hadoop001:8088    hadoop002:8088

        查看active和standby状态    

     

5)作业

    1. ssh多台机器互相信任关系(完成)

    2. A机器去无密码执行B机器的SHELL脚本,pub文件用谁的?copy到哪了? ()

    3. start-dfs.sh 进程顺序是什么? 

    4. HDFS 和 YARN HA从架构原理 和 启动方式有什么区别?


6)优化

    1. 硬件

    2. linux参数  swap  大页面 网络参数   进程数和文件数调大

    3. hdfs yarn  进程的内存 timeout rpc  

    4. 容器 两篇博客







猜你喜欢

转载自blog.csdn.net/qq_30130043/article/details/80169879