解决Hadoop集群zkfc服务无法启动
发表于|更新于|Hadoop
|总字数:132|阅读时长:1分钟|浏览量:
新建集群以后,由于fs.defaultFS的配置与hdfs-site.xml的配置不一致,后来集群运行以后用重新修改了配置,重启集群后发现zkfc服务无法启动,导致namenode不自动切换了。
解决办法:
原因是因为修改配置文件后,重启集群,会把zookeeper中的znode给删除,为什么会删除我也不清楚,反正我在zookeeper中没有发现这个目录。
只需要执行如下命令即可:
1 | hdfs zkfc -formatZK |
文章作者: Charles
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 码农笔记!
相关推荐

2017-07-24
关于DataXceiver error processing unknown operation的错误
接到监控同事电话,有一台datanode机器因为重启,导致无法启动datanode服务。后来启动以后,监控日志发现有如下报错: 1234562017-07-24 09:41:09,456 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: NDAPP-DATA-13:50010:DataXceiver error processing unknown operation src: /10.1.220.44:46565 dst: /10.1.0.52:50010java.io.EOFException at java.io.DataInputStream.readShort(DataInputStream.java:315) at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.readOp(Receiver.java:56) at org.apache.hadoop.hdfs.server.datanode.DataX...

2017-07-21
查看修复HDFS中丢失的块
检测缺失块1hdfs fsck -list-corruptfileblocks 1hdfs fsck / | egrep -v '^\.+$' | grep -v eplica 查看上面某一个文件的情况 1hdfs fsck /path/to/corrupt/file -locations -blocks -files 解决方法如果文件不重要,可以直接删除此文件;或删除后重新复制一份到集群中如果不能删除,需要从上面命令中找到发生在哪台机器上,然后到此机器上查看日志。 参考 http://centoshowtos.org/hadoop/fix-corrupt-blocks-on-hdfs/ http://stackoverflow.com/questions/19205057/how-to-fix-corrupt-hadoop-hdfs

2021-09-01
如何查看HDFS默认的nameservices命名空间
查看HDFS的默认命名空间命令: 1hdfs getconf -confKey fs.default.name 或者 1hdfs getconf -confKey fs.defaultFS 或者查询core-site.xml中的dfs.nameservices的值。 1hdfs getconf -confKey dfs.nameservices

2017-07-21
Journal Storage Directory not formatted
Hadoop启动的时候发现JournalNode节点一直启动不起来,查看后台日志发现异常信息JournalNode not formatted,通常这种异常大概有如下三种情况导致的: 新搭建的集群,我配置的时候没有吧fs.defaultFS配置一致,导致执行hadoop命令的时候报错,后来修改了以后重启集群就出现这个问题了,此时需要重新格式化namenode,因为在格式化namenode的时候,就顺便把JournalNode格式化了。 如果是正在用运行的集群,其中一台机器的JournalNode没有被格式化,那么检查完权限没问题以后,从其他JournalNode复制一份到没有格式化的JournalNode。 如果是从no-HA更新到HA,只需要执行如下命令: 1hdfs namenode -initializeSharedEdits 也就是你可以不用格式化NameNode就可以格式化你的JournalNode目录

2017-07-21
Hadoop命令-fsck
在HDFS中,提供了fsck命令,用于检查HDFS上文件和目录的健康状态、获取文件的block块信息和位置信息等。 具体命令介绍: -move: 移动损坏的文件到/lost+found目录下-delete: 删除损坏的文件-openforwrite: 输出检测中的正在被写的文件-list-corruptfileblocks: 输出损坏的块及其所属的文件-files: 输出正在被检测的文件-blocks: 输出block的详细报告 (需要和-files参数一起使用)-locations: 输出block的位置信息 (需要和-files参数一起使用)-racks: 输出文件块位置所在的机架信息(需要和-files参数一起使用) 例如要查看HDFS中某个文件的block块的具体分布,可以这样写:hadoop fsck /your_file_path -files -blocks -locations -racks示例: 1234567891011121314151617181920212223242526#hdfs fsck /tmp/test/input...

2023-06-14
macOS安装Hadoop提示operation not permitted
背景最近重新复习下大数据相关的知识,于是就决定在mbp上安装一套大数据服务(Hadoop、Hive、Spark),使用brew比较简单,很容易就安装好了,按时启动的时候出现了如下错误: 12345678910111213141516171819202023-06-14 23:24:03,271 INFO org.apache.hadoop.hdfs.server.common.Storage: Lock on /Users/liyang/Documents/hadoop/tmp/dfs/name/in_use.lock acquired by nodename 26147@liyangdeMacBook-Pro.local2023-06-14 23:24:03,275 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered exception loading fsimagejava.io.FileNotFoundException: /Users/liyang/Documents/hadoop...
评论
公告
开始忙了,长草期。





