1.hadoop的dfs.nameservices如何配置?
2.集群配置中hdfs://mycluster的作用是什么?
3.如何将namenode2切换为active状态?

在参考本手册前请确保Hadoop中HDFS组件已经成功部署并正常运行,同时系统基本环境完备,包括ssh免密码登录、/etc/hosts等。
         假设目前NameNode在服务器namenode1上运行,服务器namenode2作为standbynamenode,确保namenode2上至少已经安装了namenode服务。
         操作过程中尽量避免使用root用户操作,这里假设使用hadoop用户操作,具体部署步骤如下:
1.        关闭所有节点上的HDFS进程,主要是namenode1上的namenode和datanode进程。
2.        修改系统配置文件core-site.xml和hdfs-site.xml

  • hdfs-site.xml中添加:
[XML] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<!-- HA Setup Head !--> 
         <property>
           <name>dfs.nameservices</name>
           <value>mycluster</value>
         </property>
 
         <property>
           <name>dfs.ha.namenodes.mycluster</name>
           <value>nn1,nn2</value>
         </property>
 
         <property>
           <name>dfs.namenode.rpc-address.mycluster.nn1</name>
           <value> namenode1:8020</value>
         </property>
         <property>
           <name>dfs.namenode.rpc-address.mycluster.nn2</name>
           <value> namenode2:8020</value>
         </property>
 
         <property>
           <name>dfs.namenode.shared.edits.dir</name>
           <value>qjournal://namenode1:8485;namenode2:8485/mycluster</value>
         </property>
 
         <property>
           <name>dfs.client.failover.proxy.provider.mycluster</name>
           <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
         </property>
 
         <property>
           <name>dfs.ha.fencing.methods</name>
           <value>sshfence</value>
         </property>
         <property>
           <name>dfs.ha.fencing.ssh.private-key-files</name>
           <value>/home/hadoop/.ssh/id_rsa</value>
         </property>
    <property>
           <name>dfs.ha.fencing.ssh.connect-timeout</name>
           <value>30000</value>
         </property>
 
         <property>
           <name>dfs.journalnode.edits.dir</name>
           <value>/path/to/hdfs/jn</value>
         </property>
 
<!-- HA Setup End !-->
  • core-site.xml中修改
fs.default hdfs://mycluster

注意:这些更改需要更新到每个运行HDFS进程的节点。
其中,namenode1和namenode2在hdfs-site.xml中有一项配置不同:

服务器 配置项
namenode1 dfs.namenode.http-address namenode1:50070
namenode2 dfs.namenode.http-address namenode2:50070

3.        分别在namenode1和namenode2上启动journalnode:
$HADOOP_HOME/sbin/hadoop-daemon.sh start  journalnode

4.        在namenode1上对journalnode的共享数据进行初始化,然后启动namenode进程:
$HADOOP_HOME/bin/hdfsnamenode  -initializeSharedEdits
$HADOOP_HOME/sbin/hadoop-daemon.sh start  namenode

5.        在namenode2上同步journalnode的共享数据,然后启动namenode进程:
$HADOOP_HOME/bin/hdfsnamenode  -bootstrapStandby
$HADOOP_HOME/sbin/hadoop-daemon.sh start  namenode

6.        分别在namenode1和namenode2中启动datanode:
$HADOOP_HOME/sbin/hadoop-daemon.sh  start datanode

7.        此时如果通过网页访问两个namenode的http-address,可以看到两个namenode都是standby状态,也可以通过hadoop自带的命令行工具来查看状态:
$HADOOP_HOME/bin/hdfs  haadmin -getServiceState  nn1
注意:此处的nn1为在hdfs-site.xml中配置的namenode服务的名称。

8.        确定要转为active的namenode的id,这里将namenode1设为active,使用命令行工具进行状态切换:
$HADOOP_HOME/bin/hdfs  haadmin -failover --forcefence --forceactive  nn2  nn1
注意:此处“nn2  nn1”的顺序表示active状态由nn2转换到nn1上(虽然nn2在转化前也是standby状态)。

9.        上一步中把namenode1的状态切换为active后,系统自动把namenode2上的namenode进程关闭,再把错误原因排除后重启该namenode进程,启动后该namenode状态为standby,等待下一次namenode1出现故障时即可将namenode2状态切换为active,使用命令行工具:
$HADOOP_HOME/bin/hdfs  haadmin -failover --forcefence --forceactive  nn1  nn2
         相应的,转换完以后namenode1上的namenode进程被关闭,需要排除故障后重新启动。

10.hdfs haadmin 

查考这里:http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html

参考本手册操作过程中,如遇实际错误,请自行查阅相关日志文件排除错误。

hadoop namenode ha--手动切换(转)的更多相关文章

  1. 通过tarball形式安装HBASE Cluster(CDH5.0.2)——Hadoop NameNode HA 切换引起的Hbase错误,以及Hbase如何基于NameNode的HA进行配置

    通过tarball形式安装HBASE Cluster(CDH5.0.2)——Hadoop NameNode HA 切换引起的Hbase错误,以及Hbase如何基于NameNode的HA进行配置 配置H ...

  2. hadoop NameNode HA 和ResouceManager HA

    官网配置地址: HDFS HA : http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSHighAvai ...

  3. Hadoop NameNode HA 和 ResourceManager HA

    1.集群规划 1.1 规划说明 hadoop1 cluster1 nameNode hadoop2 cluster1 nameNodeStandby ZooKeeper ResourceManager ...

  4. hadoop namenode HA集群搭建

    hadoop集群搭建(namenode是单点的)  http://www.cnblogs.com/kisf/p/7456290.html HA集群需要zk, zk搭建:http://www.cnblo ...

  5. Apache hadoop namenode ha和yarn ha ---HDFS高可用性

    HDFS高可用性Hadoop HDFS 的两大问题:NameNode单点:虽然有StandbyNameNode,但是冷备方案,达不到高可用--阶段性的合并edits和fsimage,以缩短集群启动的时 ...

  6. HADOOP namenode HA

    参考的文章:http://www.cnblogs.com/smartloli/p/4298430.html 当然,在操作的过程中,发现与上述文章中描述的还是有一些小小的区别. 配置好后,start-d ...

  7. hadoop yarn HA集群搭建

    可先完成hadoop namenode HA的搭建:http://www.cnblogs.com/kisf/p/7458519.html 搭建yarnde HA只需要在namenode HA配置基础上 ...

  8. hadoop NameNode 手动HA

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

  9. Hadoop集群搭建-HA高可用(手动切换模式)(四)

    步骤和集群规划 1)保存完全分布式模式配置 2)在full配置的基础上修改为高可用HA 3)第一次启动HA 4)常规启动HA 5)运行wordcount 集群规划: centos虚拟机:node-00 ...

随机推荐

  1. BZOJ2555——SubString

    0.题目很短,就不概括了 给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作. ...

  2. BZOJ2631——tree

    1.题目大意:bzoj1798的lct版本 2.分析:这个把线段树改成splay就好 #include <stack> #include <cstdio> #include & ...

  3. 在Linux上配置无线网络

    导读 iwconfig是Linux Wireless Extensions(LWE)的用户层配置工具之一.LWE是Linux下对无线网络配置的工具,包括内核的支持.用户层配置工具和驱动接口的支持三部分 ...

  4. angularjs入门基础一

    app.controller('firstController',function($scope,$rootScope){ $scope.name='张三'; $rootScope.age='30'; ...

  5. BZOJ 1468: Tree

    Description 真·树,问距离不大于 \(k\) 的点对个数. Sol 点分治. 同上. Code /********************************************* ...

  6. net-snmp子代理(SubAgent)编写详述

    net-snmp子代理(SubAgent)编写 net-snmp子代理(SubAgent)编写 Netsnmp_Node_Handler MIB/OID定义 1.头文件test.h的编写 2.test ...

  7. 3 EventTime 事件时间类和TimeNow函数——Live555源码阅读(一)基本组件类

    这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 这里是时间相关类的第三个部分,也是最后一个部分. EventTime 事件时间类 这个类和Dela ...

  8. COGS 2479 偏序 题解

    [题意] 给定一个有n个元素的序列,元素编号为1~n,每个元素有三个属性a,b,c,求序列中满足i<j且ai<aj且bi<bj且ci<cj的数对(i,j)的个数. 对于30%的 ...

  9. discuz内置常用CSS代码分析

    CSS多IE下兼容HACK写法 所有 IE浏览器适用:.ie_all .foo { ... } IE6 专用:.ie6 .foo { ... } IE7 专用:.ie7 .foo { ... } IE ...

  10. 《Head First Servlet JSP》容器工作原理(如tomcat)