HDFS-HA 自动模式_conf.set("dfs.ha.automatic-failover.enabled","true-程序员宅基地

技术标签: # Hadoop  hdfs  hadoop  big data  

HDFS-HA 自动故障转移工作机制

自动故障转移为 HDFS 部署增加了两个新组件:ZooKeeper 和 ZKFailoverController(ZKFC)进程,如图所示。ZooKeeper 是维护少量协调数据,通知客户端这些数据的改变和监视客户端故障的高可用服务。

在这里插入图片描述

HDFS-HA 自动故障转移的集群规划

hadoop102 hadoop103 hadoop104
NameNode NameNode NameNode
JournalNode JournalNode JournalNode
DataNode DataNode DataNode
Zookeeper Zookeeper Zookeeper
ZKFC ZKFC ZKFC

配置 HDFS-HA 自动故障转移

1)具体配置
(1)在 hdfs-site.xml 中增加

<?xml version="1.0" encoding="utf-8"?>

<!-- 启用 nn 故障自动转移 -->
<property> 
  <name>dfs.ha.automatic-failover.enabled</name>  
  <value>true</value> 
</property>

(2)在 core-site.xml 文件中增加

<?xml version="1.0" encoding="utf-8"?>

<!-- 指定 zkfc 要连接的 zkServer 地址 -->
<property> 
  <name>ha.zookeeper.quorum</name>  
  <value>hadoop102:2181,hadoop103:2181,hadoop104:2181</value> 
</property>

(3)修改后分发配置文件

[root@hadoop102 etc]$ pwd
/opt/ha/hadoop-3.1.3/etc
[root@hadoop102 etc]$ xsync hadoop/

2)启动
(1)关闭所有 HDFS 服务:

[root@hadoop102 ~]$ stop-dfs.sh

(2)启动 Zookeeper 集群:

[root@hadoop102 ~]$ zkServer.sh start
[root@hadoop103 ~]$ zkServer.sh start
[root@hadoop104 ~]$ zkServer.sh start

(3)启动 Zookeeper 以后,然后再初始化 HA 在 Zookeeper 中状态:

[root@hadoop102 ~]$ hdfs zkfc -formatZK

(4)启动 HDFS 服务:

[root@hadoop102 ~]$ start-dfs.sh

启动之前,查看start-dfs.sh 和 stop-dfs.sh 里面 确保配置如下内容,方可启动,否则会报错

TANODE_USER=root
HDFS_JOURNALNODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
HDFS_ZKFC_USER=root

(5)可以去 zkCli.sh 客户端查看 Namenode 选举锁节点内容:

[zk: localhost:2181(CONNECTED) 7] get -s 
/hadoop-ha/mycluster/ActiveStandbyElectorLock
myclusternn2 hadoop103 �>(>
cZxid = 0x10000000b
ctime = Tue Jul 14 17:00:13 CST 2020
mZxid = 0x10000000b
mtime = Tue Jul 14 17:00:13 CST 2020
pZxid = 0x10000000b
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x40000da2eb70000
dataLength = 33
numChildren = 0

如下图:
在这里插入图片描述
3)验证
(1)将 Active NameNode 进程 kill,查看网页端三台 Namenode 的状态变化

[root@hadoop102 ~]$ kill -9 namenode 的进程 id
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45417821/article/details/121271167

智能推荐

linux vi编辑器 乱码,vi编辑器笔记 + vim乱码的解决-程序员宅基地

文章浏览阅读367次。vi 文件名 进入命令模式命令模式--i、a、o、I、A、O-->插入模式--ESC键-->命令模式i:在光标之前添加文本I:在光标行首添加文本a:在光标之后添加文本A:在光标行末添加文本o:在光标下插入新行O:在光标上插入新行命令模式--:-->编辑模式--回车-->命令模式:set nu 回车设置行号:set nonu 回车取消行号:n 移至文件的第n行:n1,n2d ..._vi unicode乱码

Verilog编程之道-- task 和 function_verilog function可综合吗-程序员宅基地

文章浏览阅读2.8k次。注意:task和function 都是可以综合的,但是有诸多的要求和限制,所以要谨慎使用不同点 1function 不能包含时序控制语句,只能在一个时间单位执行,而task就可以包含时序控制语句 2 function 不能调用task,而task 可以调用function 3 function至少要有一个input参数,不能有output 和 inout 类型参数,而task既可以没有参数,也可以有各种类型参数 4 function..._verilog function可综合吗

poj2386 dfs_poj2386算法思路-程序员宅基地

文章浏览阅读116次。题意:有一个N*M的院子,八连通的积水是认为被连接在一的,求有几个水洼。思路:从每个M开始向八个方向搜,把搜过的M变成.知道搜不到为止。时间复杂度O(8*N*M)Sample Input10 12W........WW..WWW.....WWW....WW...WW..........WW..........W....W......W...W.W.....WW.W.W.W........_poj2386算法思路

Windows Server 配置(七)VPN服务器的安装-程序员宅基地

文章浏览阅读5.2k次。VPN服务器是双网卡或多网卡的配置,一块网卡连接内网,另一块连接外网,同时外网或远程的客户端可以通过建立VPN连接访问到内网资源。两块网卡分别设置好地址,外网网卡的地址是否能做的,或者是在路由器上做NAT需要进一步了解。VPN的配置VPN的配置创建用户以上操作完成后在VPN服务器上就创建了可以远程连接的用户。

Light oj 1045 (求某个数的阶乘在x进制下的位数)_求x进制下的位数-程序员宅基地

文章浏览阅读437次。Digital Of factorialTime Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %lluSubmit Status Practice LightOJ 1045 uDebugDescriptionFactorial of an integer is defi_求x进制下的位数

URDF/COLLADA file is not a valid robot model.解决方法-程序员宅基地

文章浏览阅读1.9k次。URDF/COLLADA file is not a valid robot model.解决方法很多次遇到URDF/COLLADA file is not a valid robot model,是各种各样的错误导致的,写下来希望能对我这样的新手有所帮助。很可能是在打开moveit_setupassistant前,没有打开roscore.1.通过SolidWorks生产URDF文件之后,是不是没有编译? 新建一个文件夹,在文件夹内部创建src文件夹,把SolidWorks生成的URDF文件夹放进sr_urdf/collada file is not a valid robot model.

随便推点

java 连接 sftp失败_关于java调用sftp下载文件报 No such File 错误的问题总结-程序员宅基地

文章浏览阅读2.2k次。/*** 对账文件入库*@paramtyjSaleActrDTOList*@throwsIOException*/private String cmPaymentCheckInsertData(List tyjSaleActrDTOList) throwsIOException {logger.info("====对账文件入库开始========");String flag= "0";Calend..._java new sftp连接失败不抛出异常

python能在excel运行吗-Python:使用Python运行Excel宏-程序员宅基地

文章浏览阅读611次。我需要通过python运行一个Excel宏,我总是会得到以下错误:result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0..._excel trigger python 环境运行

session入memcache_session 入memcache-程序员宅基地

文章浏览阅读321次。<?phpini_set("session.save_handler", "memcache");ini_set("session.save_path", "tcp://localhost:11211");session_start();header("Content-type:text/html;charset=utf-8");$_SESSION['view'] = 'zhangsan_session 入memcache</div>

创建Tableau Public个人站点_创建tableau站点-程序员宅基地

文章浏览阅读2.4k次。Tableau Public是Tableau的免费版本,所以不能进行本地的保存,只能在Tableau的服务器创建个人的站点,进行可视化图谱的保存,每个用户有 10G的空间,可以进行发布。所以我们需要进行站点注册站点注册注册在Tableau Public的网站进行注册【链接】,点击注册创建配置文件在完善配置文件之后,即可创建个人站点个人中心查看以上,就表示个人站点已经创建成功,在使用Tableau Public创建文件,需要发布可视化图谱之后,即可发布到个人站点。..._创建tableau站点

先访问redis再访问mysql_Redis和MySQL数据一致中出现的几种情况-程序员宅基地

文章浏览阅读476次。1. MySQL持久化数据,Redis只读数据redis在启动之后,从数据库加载数据。读请求:不要求强一致性的读请求,走redis,要求强一致性的直接从mysql读取写请求:数据首先都写到数据库,之后更新redis(先写redis再写mysql,如果写入失败事务回滚会造成redis中存在脏数据)2.MySQL和Redis处理不同的数据类型MySQL处理实时性数据,例如金融数据、交易数据Redis处..._为什么要先从redis里获取数据再数据库

apt 软件安装_aptlite 安装软件-程序员宅基地

文章浏览阅读994次。文章目录一、安装卸载二、配置软件源一、安装卸载对应英文:Advanced Packaging Toolapt 是 Linux 系统中的 安装包管理工具序号命令作用01sudo apt install 软件名安装软件02sudo apt remove 软件名卸载软件03sudo apt uograde升级已安装的软件包二、配置软件源..._aptlite 安装软件

推荐文章

热门文章

相关标签