zoukankan      html  css  js  c++  java
  • 原创hadoop2.6.4 namenode HA+Federation集群高可用部署

    今天下午刚刚搭建了一个高可用hadoop集群,整理如下,希望大家能够喜欢。
     
    namenode HA:得有两个节点,构成一个namenode HA集群
    namenode Federation:可以有多个HA集群,分管不同的数据
    至少得有4个节点,才能满足要求
    节点 NN JournalNode DN ZK 归属组
    Hmaster Y Y     cluster1
    Hslave1 Y Y Y Y
    Hslave2 Y Y Y Y cluster2
    Hslave3 Y   Y Y
     
    一、配置hosts、ssh免密登录、ZK集群等通用
    二、有hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves 6个文件需要配置
    (1)hadoop-env.sh
    export JAVA_HOME=/usr/java/jdk1.8.0_91
    (2)core-site.xml
    fs.defaultFS hdfs://cluster1
    hadoop.tmp.dir /home/hadoop/hadoop/tmp
    ha.zookeeper.quorum Hslave1:2181,Hslave2:2181,Hslave3:2181
    (3)hdfs-site.xml
    dfs.nameservices cluster1,cluster2 备注
    dfs.ha.namenodes.cluster1 nn1,nn2  
    dfs.namenode.rpc-address.cluster1.nn1 Hmaster:9000  
    dfs.namenode.rpc-address.cluster1.nn2 Hslave1:9000  
    dfs.namenode.http-address.cluster1.nn1 Hmaster:9000  
    dfs.namenode.http-address.cluster1.nn2 Hslave1:50070  
    dfs.client.failover.proxy.provider.cluster1 org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider  
    dfs.ha.automatic-failover.enabled.cluster1 true  
    dfs.namenode.shared.edits.dir qjournal://Hmaster:8485;Hslave1:8485;Hslave2:8485/cluster1 只能出现在cluster1节点上
    dfs.ha.namenodes.cluster2 nn1,nn2  
    dfs.namenode.rpc-address.cluster2.nn1 Hslave2:9000  
    dfs.namenode.rpc-address.cluster2.nn2 Hslave3:9000  
    dfs.namenode.http-address.cluster2.nn1 Hslave2:9000  
    dfs.namenode.http-address.cluster2.nn2 Hslave3:50070  
    dfs.client.failover.proxy.provider.cluster2 org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider  
    dfs.ha.automatic-failover.enabled.cluster2 true  
    dfs.namenode.shared.edits.dir qjournal://Hmaster:8485;Hslave1:8485;Hslave2:8485/cluster2 只能出现在cluster2节点上
    dfs.journalnode.edits.dir /home/hadoop/hadoop/tmp/journal  
    dfs.ha.fencing.methods sshfence  
    dfs.ha.fencing.ssh.private-key-files /home/hadoop/.ssh/id_rsa  
    dfs.ha.fencing.ssh.connect-timeout 5000  
    dfs.datanode.data.dir file:///home/hadoop/dfs/data  
    dfs.replication 3  
    (4)mapred-site.xml
    mapreduce.framework.name yarn true
    (5)yarn-site.xml
    yarn.resourcemanager.hostname Hmaster RM目前是单节点,存在单点故障,以后配成RM HA
    yarn.nodemanager.aux-services mapreduce_shuffle  
    (6)slaves(DataNode节点)
    Hslave1
    Hslave2
    Hslave3
    分发到各节点,只有hdfs-site.xml中标红字段,根据cluster情况注释掉不必要的
    三、启动集群
    (1)启动、格式化ZK集群。
    在每个ZK上执行:启动 zkServer.sh start
    在每个cluster的其中一个节点执行: 建立HA节点:hdfs zkfc –formatZK
    (2)启动JournalNode集群
    每个节点上执行:hadoop-daemon.sh start journalnode
    (3)格式化、启动NameNode集群
    格式化并启动集群cluster1的namenode:
    先在集群中的一个节点执行:hdfs namenode -format -clusterId c1 hadoop-daemon.sh start namenode
    再在另一个节点执行(数据同步):hdfs namenode -bootstrapStandby hadoop-daemon.sh start namenode
    cluster2集群类似
    (4)启动DataNode
    hadoop-daemons.sh start datanode
    (5)启动YARN
    start-yarn.sh
    (6)启动ZooKeeperFailoverController
    在其中一个节点执行:hadoop-daemons.sh start zkfc
    四、测试
    http://Hmaster:50070 看namenode的情况
    http://Hmaster:8080/cluster 看集群的情况
    kill其中一个namenode后,发现集群仍可正常使用
  • 相关阅读:
    win7-64系统下安装nodejs
    Vue项目使用npm run dev出现npm ERR! missing script: dev
    本地环境时覆盖Apollo配置
    金蝶K3序时簿页面增加物料即时库存显示功能
    LeetCode——开篇
    url 与 params 参数的常见操作归纳汇总(含精心准备的注释)
    如何让 arcgis require 里定义的方法可以在全局访问?
    字体图标库 iconfont、iconmoon 的维护管理与使用探索
    【转载】ES5-ES12 常用语法特性
    一次 outline 去除经验(非继承属性,看着像继承)
  • 原文地址:https://www.cnblogs.com/codetouse/p/5903769.html
Copyright © 2011-2022 走看看