CDH6.3配置HDFS高可用,多NameNode

CDH6.3配置HDFS高可用,多NameNode,第1张

搭建HDFS的NameNode集群, 在单个NameNode宕机或繁忙时, 可以做故障转移和压力平摊配置的过程比较复杂, 网上的可查资料也很少

开启了高可用, 不需要SecondaryNameNode, 该角色并不具备故障转移的功能, 可以理解为一个备份点, 解读Secondary NameNode的功能

在只有一个NameNode的情况下, 必须配置SecondaryNameNode但多个NameNode的时候, 如果没删除会报错校验不通过, 这里先忽略不理

建议NameNode进行一次格式化, DataNode的数据目录进行清空, 生产环境慎重 *** 作. 重启的时候DataNode放在最后执行, 确保所有的节点都是正常的, 通过Hadoop的UI可以查看准确的状态(9870端口)如果在日志种出现如下报错, Block pool ID needed, but service not yet registered with NN

可尝试在每台DataNode将错误的文件删掉(/dfs/dn/current), 日志中有详细的打印, 删除之后节点状态恢复正常

执行hdfs的增删改查命令做测试, 如cat,ls,put,mkdir等, 通过即为正常

NameNode和Failover Controller所在的机器要一一对应, NameNode还要执行zkfc命令进行初始化, 在运行Controller要开启故障转移, 并要确保初始化Zk的命令

去NameNode的机器执行离开安全的 *** 作

/var/run的权限过大, 把/var/run/hdfs-sockets目录删掉或重新授权

在不开启高可用的时候, 必须配置SecondaryNameNode

官方NameNode高可用配置说明

解读Secondary NameNode的功能

Cannot find any valid remote NN to service request

备注:

CDH 6.3.1

如下图所示,刚安装的CDH,提示存在丢失块,也存在副本不足的块

测试记录:

过滤出 MISSING的信息

可以看到都是oozie这个空间丢失的块

查看丢失的文件块信息

导致这个问题产生时是由于初始化集群后,只有两个节点的datanode,所以将副本调整为2 、dfs.replication=2,在切换后对hdfs做了抑制,导致告警出现;现在重新加入一个datanode,重新恢复3个datanode节点3副本模式。

测试记录:

现在看丢失块的问题解决:

1. https://www.cnblogs.com/hqt0731/articles/8804924.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11770957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存