hadoop NameNode 手动HA

官网配置地址:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html

 

《hadoop NameNode 手动HA》

 

HDFS HA主要是通过Quorum Journal Manager (QJM)在Active  NameNode和Standby NameNode之间共享edit logs 

hdfs-site.xml的配置

dfs.nameservices – nameservice的逻辑名称,可以是任意的名称,此处配置为cluster

<property>
  <name>dfs.nameservices</name>
  <value>cluster</value>
</property>

dfs.ha.namenodes.[nameservice ID] – 配置nameservice中的每一个NameNode, NameNode的个数建议不超过5个,最好是3个,此处配置两个

<property>
  <name>dfs.ha.namenodes.cluster</name>
  <value>nn1,nn2</value>
</property>

dfs.namenode.rpc-address.[nameservice ID].[name node ID] – 配置NameNode的RPC具体地址,m2和m3为主机名

<property>
  <name>dfs.namenode.rpc-address.cluster.nn1</name>
  <value>m2:9820</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.cluster.nn2</name>
  <value>m3:9820</value>
</property>

dfs.namenode.http-address.[nameservice ID].[name node ID] – 配置NameNode HTTP监听的地址

<property>
  <name>dfs.namenode.http-address.cluster.nn1</name>
  <value>m2:9870</value>
</property>
<property>
  <name>dfs.namenode.http-address.cluster.nn2</name>
  <value>m3:9870</value>
</property>

dfs.namenode.shared.edits.dir – 配置JournalNodes上NameNode读和写的edits文件URL地址,URL格式: qjournal://*host1:port1*;*host2:port2*;*host3:port3*/*journalId*.

<property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://m4:8485;m5:8485;/mycluster</value>
</property>

dfs.client.failover.proxy.provider.[nameservice ID] – HDFS客户端联系Active NameNode的java类

<property>
  <name>dfs.client.failover.proxy.provider.cluster</name>
  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyPr
ovider</value>
</property>

dfs.ha.fencing.methods –  防止脑裂,两种方法,此处使用shell 这种方法

<property>
   <name>dfs.ha.fencing.methods</name>
   <value>shell(shell(/bin/true))</value>
</property> 

dfs.journalnode.edits.dir – JournalNode存储本地状态的路径

<property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/home/hadoop/app/hadoop-2.7.3/journalnode/data</value>
</property>

core-site.xml配置

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://cluster</value>
</property>

<property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hadoop/app/hadoop-2.7.3/tmp/data</value>
</property>

 

 

至此配置已经结束,接下来启动集群。

1、首先启动journalnode,通过./hadoop-daemon.sh start journalnode命令启动journalnode(m4, m5节点)

      jps:可以发现JournalNode进程

2、通过hdfs namenode -format命令初始化集群,格式化完成后拷贝元数据到另外一个namenode节点上

3、启动hadoop集群start-dfs.sh 

4、通过hdfs haadmin手动切换namenode是否为active

 

    原文作者:天之涯0204
    原文地址: https://www.cnblogs.com/heml/p/5993277.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞