一、第一种方法

重启namenode(1.1.1.1 1.1.1.2)
重启standby节点:1.1
hadoop-daemon.sh stop zkfc
hadoop-daemon.sh stop namenode
hadoop-daemon.sh start namenode
hadoop dfsadmin -safemode get #查看安全模式是否退出
hadoop-daemon.sh start zkfc
tail -300f /log/hadoop/hadoop-hdfs-zkfc-xxx.log #查看zkfc日志是否已注册节点返回信息(standby)

重启1.2(从1.2切换到1.1)
停止1.4的zkfc:hadoop-daemon.sh stop zkfc
查看1.1是否已自动切换为active
tail -300f /log/hadoop/hadoop-hdfs-zkfc-xxx.log #查看zkfc日志是否已注册节点返回信息(active)
如已切换,重启1.2 namenode
hadoop-damon.sh stop namenode
hadoop-damon.sh start namenode
hadoop dfsadmin -safemode get #查看安全模式是否退出
hadoop-daemon.sh start zkfc
tail -300f /log/hadoop/hadoop-hdfs-zkfc-xxx.log #查看zkfc日志是否已注册节点返回信息(standby)

从1.1切换到1.2
停止1.1的zkfc
hadoop-daemon.sh stop zkfc
查看1.2是否已自动切换为active
tail -300f /log/hadoop/hadoop-hdfs-zkfc-xxx.log #查看zkfc日志是否已注册节点返回信息(active)
hadoop dfsadmin -safemode get #查看安全模式是否退出
http://1.1.1.1:50070/dfshealth.html#tab-overview
http://1.1.1.2:50070/dfshealth.html#tab-overview
如已切换,启动1.1的zkfc
hadoop-daemon.sh start zkfc
tail -300f /log/hadoop/hadoop-hdfs-zkfc-xxx.log #查看zkfc日志是否已注册节点返回信息(standby)

################################################################
#切换ative nn
#hdfs haadmin -failover nn2 nn1
#
#把nn1置为:standby hdfs haadmin -transitionToStandby nn1
#把nn2置为:Active hdfs haadmin -transitionToActive nn2
#
#hdfs haadmin -transitionToActive nn1
#hadoop-daemon.sh stop namenode (nn2)
#hadoop-daemon.sh start namenode (nn2)
#nn2 变为standby
#
#hdfs haadmin -transitionToStandby -forcemanual nn2
#
#hdfs haadmin -failover --forcefence --forceactive nn2 nn1
#hdfs haadmin -failover --forcefence --forceactive nn1 nn2
##############################################################

二、第2种方法

1.保证standby节点和active节点的zkfc正常运行

2.停止active节点的zkfc,查看standby节点的zkfc日志是否已切换为active

3.如已切换,开启已停止的zkfc,待状态已切换,切换完成

Hadoop记录-切换NN的更多相关文章

  1. Hadoop记录-Apache hadoop+spark集群部署

    Hadoop+Spark集群部署指南 (多节点文件分发.集群操作建议salt/ansible) 1.集群规划节点名称 主机名 IP地址 操作系统Master centos1 192.168.0.1 C ...

  2. hadoop记录-如何换namenode机器

    namenode机器磁盘IO负载持续承压,造成NAMENODE切换多次及访问异常. 1 初始化新机器1.1 在新器1.1.1.3部署hadoop软件(直接复制standby1.1.1.2节点)1.2 ...

  3. hadoop记录-Hadoop参数汇总

    Hadoop参数汇总 linux参数 以下参数最好优化一下: 文件描述符ulimit -n 用户最大进程 nproc (hbase需要 hbse book) 关闭swap分区 设置合理的预读取缓冲区 ...

  4. Hadoop记录-日常运维操作

    1.Active NameNode hang死,未自动切换 #登录当前hang死 Active namenode主机,停止Namenode,触发自动切换.hadoop-daemon.sh stop n ...

  5. Hadoop记录-hdfs转载

    Hadoop 存档 每个文件均按块存储,每个块的元数据存储在namenode的内存中,因此hadoop存储小文件会非常低效.因为大量的小文件会耗尽namenode中的大部分内存.但注意,存储小文件所需 ...

  6. Hadoop记录-hadoop2.x常用端口及定义方法

    Hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问.而随着Hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如 ...

  7. Hadoop记录-Hadoop NameNode 高可用 (High Availability) 实现解析

    Hadoop NameNode 高可用 (High Availability) 实现解析   NameNode 高可用整体架构概述 在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDF ...

  8. Hadoop记录-Federation联邦机制

    在Hadoop2.0之前,HDFS的单NameNode设计带来诸多问题:  单点故障.内存受限,制约集群扩展性和缺乏隔离机制(不同业务使用同一个NameNode导致业务相互影响)等 为了解决这些问题, ...

  9. HADOOP HA切换后出现MSSING BLOCK

    HDFS HA切换后missing block问题分析 今天因为调整一个NN的参数,所以切换一个ACTIVE的NN,发生了MISSING BLOCK. 怀疑可能是EDITLOG没有同步完成,可能是误报 ...

随机推荐

  1. jquery实现静态柱形图(写死的数据,只为系统首页UI更美观)

    这段时间比较空闲,便阅读公司做好的项目的源代码,学习学习同事的开发思路. 在项目中使用图表可以很好地提高人机交互的友好度,开发的时候看到项目的首页有两个很小的柱形图,很漂亮,便找到对应的代码看了看,发 ...

  2. ORA-279 signalled during: alter database recover logfile

    在RMAN的RECOVER还原过程中,RMAN界面正常,但是检查.刷新告警日志,发现告警日志里面有ORA-279,如下所示: alter database recover logfile '/u06/ ...

  3. oracle sql developer 出现 : 适配器无法建立连接问题解决方案 The Network Adapter could not establish the connection

    直接上图比较直观 tips one:先看看自己 控制台的 SQLplus 可以登录不 可以直接往下面走 ,如果不可以就现在服务里面找到 Oracle 开头的服务启动就好 实在不会可以百度 注:由于该步 ...

  4. <input>内容居中、去框、不可编辑等

    <input class="i" type="text" value="Sin(x)" readonly="readonly ...

  5. 一个简易的kmp教学并给出java实现

    简单介绍一下问题 给定source字符串,找出target字符串出现的首位 例如 source   为“abddabddabc” target 为 “abddabc” 从第一位开始比较 |a b d ...

  6. 我的第一个python web开发框架(37)——职位管理功能

    对于职位管理,我们可以理解它为角色权限的管理,就像前面所说的一样,有了职位管理,后台管理系统绑定好对应的权限以后,新进员工.离职或岗位调整,管理员操作起来就非常的便捷了,只需要重新绑定对应职位就可以做 ...

  7. js关于new Date() 日期格式

    下面是关于Date的对象 var oDay = new Date(); oDay.getYear(); //当前年份 oDay.getFullYear(); //完整的年月日(xx年,xx月,xx日) ...

  8. Python多线程操作

    多线程是一门编程语言的重要操作. GIL(全局解释器锁)存在于python解释器中,用来确保当前只有一个线程被执行,当一个线程获得GIL后,这个线程将被执行,退出时释放GIL,由下一个获得GIL的线程 ...

  9. 三十七、小程序页面跳转传参参数值为url时参数丢失

    当参数的值为url的时候,在options中的值没有参数“?”之后字符串被截取.例如:let url="http://baidu.com/?a=1&b=2"wx.navig ...

  10. 巧妙使用excel 实现行转列

    1. 本来想通过写sql的方式来实现简单的行转列 但是 时间要求很紧 (主要是自己懒 并且sql写的不好. ) 通过同事提醒 以及百度 找到一个很简单的方法,通过excel 来实现. 2. 具体操作步 ...