开启了高可用, 不需要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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)