- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在Windows上创建了三个虚拟机,用于构建hadoop2.6高可用性集群以进行学习,一段时间后,通过webui界面查看hdfs启动并且未加载本地editsLog,但是加载了QJM Cluster,我确定有本地的editsLog,与QJM相同,但这是什么意思?如果本地缺少editsLog,肯定会给QJM集群加载,不明白,hdfs默认配置editsLog不仅写本地,而且还写QJM的意图,因为QJM editsLOg是共享的,并且仅加载已加载的QJM集群editsLog,然后本地editsLog已成为装饰? enter image description here
最佳答案
此行为将取决于您的确切配置。我怀疑您已将QJM配置为dfs.namenode.shared.edits.dir
,而将dfs.namenode.edits.dir
保留为本地目录(或为空白,在这种情况下,它将使用dfs.namenode.name.dir
的值)。共享的编辑目录将用作真相的来源。
通常,如果您配置QJM,则应将其视为HA群集的事实来源。其他编辑日志只是备份。这很重要,因为在故障转移方案(更改 Activity 的NameNode)中,新的 Activity (先前的备用数据库)可能本地没有可用的编辑,因此必须通过QJM来确定需要应用哪些编辑。
即使配置了共享编辑目录(从3.0.0开始),也必须指定dfs.namenode.edits.dir
有点令人讨厌。为了解决这个问题,您可以将其值设置为与dfs.namenode.shared.edits.dir
匹配,从而有效地禁用本地编辑。
关于hadoop - HDFS启动时,为什么不加载本地editsLog,然后再加载QsM上的editsLog?而是仅加载到QJM editsLog上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47494047/
我是一名优秀的程序员,十分优秀!