HDFS高可用环境搭建-创新互联

                 HA(high availability)

    HA 使用的是分布式日志管理方式

    1.  问题
    Namenode出现问题,整个集群将不能使用。
    配置两个namenode:Active namenode,standby namenode

    2.  实现方式
    1.  两个namenode内存中存储的元数据同步,namenode启动时,会读镜像文件。
    2.  编辑日志的安全
    分布式的存储日志文件,存储于2n+1奇数个节点。(n个节点写入成功,日志写入成功。)
    Zookeeper监控
    监控两个namenode,一个namenode出现问题,实现故障转移。
    Zookeeper对时间同步要求较高(ntp时间同步)
    3.  客户端如何知道访问哪一个namenode

    使用proxy代理
    隔离机制
    使用sshfence
    两个namenode之间无密码登陆

    安装配置
    1.  基础环境配置
node1 node2 node3 node1 node2
192.168.103.26192.168.103.27192.168.103.28192.168.103.29192.168.103.30
namenodenamenodedatanodedatanodedatanode
DFSZKFailoverControllerDFSZKFailoverControllerjournalnodejournalnodejournalnode
QuorumPeerMainQuorumPeerMainQuorumPeerMain
配置主机名与IP之间的映射
    vim /etc/hosts
    192.168.103.26 node1
    192.168.103.27 node2
    192.168.103.28 node3
    192.168.103.29 node4
    192.168.103.30 node5

    配置各个节点之间的免密登陆
    Node1
    ssh-kengen –t rsa –P ‘’ 在~/.ssh/目录下生成id_rsa, id_rsa.put密钥
    ssh-copy-id –I ~/.ssh/id._rsa.pub (node1,node2,node3,node4.node5)
    Node2操作同node1

    配置时间同步,node1作为ntp服务器
    1.  yum install ntp –y (所有节点)

    2.  node1
            vim /etc/ntp.conf
    server 210.72.145.44    # 中国国家受时中心
    server    127.127.1.0     #为局域网用户提供服务
    fudge     127.127.1.0     stratum 10
    systemctl start ntpd
    3.node2,node3,node4,node5
    ntpdate node1

    2.  安装hadoop

    1.  tar –zxvf jdk-8u171-linux-x64.tar.gz –C /
    mv jdk1.8.0_171/ jdk
    tar –zxvf hadoop-2.7.7.tar.gz –C /
    mv hadoop-2.7.7/ Hadoop
    tar –zxvf zookeeper-3.4.10.tar.gz –C /
    mv zookeeper-3.4.10 zookeeper

    3.  vim /etc/profile
    export JAVA_HOME=/jdk
    export HADOOP_HOME=/Hadoop
    export ZOOKEEPER_HOME=/zookeeper
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin
    source /etc/profile
    scp /etc/profile node2:/etc/
             node3,node4,node5
    scp –r /jdk node2:/etc
         node3,node4,node5  

    4.  配置zookeeper
    进入zookeeper目录,创建zkdata目录
    创建myid文件,node3,node4,node5文件中的值为1,2,3
    scp –r /zookeeper node2:/etc
         node3,node4,node5
分别修改zookeeper节点的myid文件

    5.  安装hadoop(重点!!!)
    1.  hadoop-env.sh
    export JAVA_HOME = /jdk

    2.  core-site.xml
    
    
    fs.defaultFS
    hdfs://ns1
    
    
    ha.zookeeper.quorum
    node3:2181,node4:2181,node5:2181

    
    hadoop.tmp.dir
    /hadoop/tmp

    

    3.  hdfs.site.xml
    
    
            dfs.nameservices
            ns1
    
    
            dfs.ha.namenodes.ns1
            nn1,nn2
    
    
            dfs.namenode.rpc-address.ns1.nn1
            node1:8020
    
    
            dfs.namenode.rpc-address.ns1.nn2
            node2:8020
            
    
            dfs.ha.namenode.http-address.ns1.nn1
            node1:50070
    
    
            dfs.ha.namenode.http-address.ns1.nn2
            node2:50070
    
    
            dfs.namenode.shared.edits.dir
            qjournal://node3:8485;node4:8485;node5:8485/ns1
    
    
            dfs.journalnode.edits.dir
            /journalnode
    
    
            dfs.client.failover.proxy.provider.ns1
    org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
    
    
            dfs.ha.fencing.methods
            sshfence
    
    
            dfs.ha.fencing.ssh.private-key-files
            /home/root/.ssh/id_rsa
        

            dfs.ha.automatic-failover.enabled
            true


    vim slaves
    node3
    node4
    node5

    4.  启动
    node3,node4,node5
    hadoop-daemon.sh start journalnode
    zkServer.sh start
  node1
    hdfs namenode -format
        scp –r /Hadoop/tmp node2:/Hadoop/
  hdfs zkfc –formatZK
  start-dfs.sh

    5.  验证HDFS HA
    通过浏览器查看node1与node2 namenode状态
    ![](https://cache.yisu.com/upload/information/20200310/72/146158.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
    ![](https://cache.yisu.com/upload/information/20200310/72/146160.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

    hadoop-daemon.sh stop namenode

    ![](https://cache.yisu.com/upload/information/20200310/72/146161.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名网站空间、营销软件、网站建设、兴安网站维护、网站推广。
网站名称:HDFS高可用环境搭建-创新互联
浏览地址:http://myzitong.com/article/cseejo.html