查看修复HDFS中丢失的块
发表于|更新于|Hadoop
|总字数:130|阅读时长:1分钟|浏览量:
检测缺失块
1 | hdfs fsck -list-corruptfileblocks |
1 | hdfs fsck / | egrep -v '^\.+$' | grep -v eplica |
查看上面某一个文件的情况
1 | hdfs fsck /path/to/corrupt/file -locations -blocks -files |
解决方法
如果文件不重要,可以直接删除此文件;或删除后重新复制一份到集群中
如果不能删除,需要从上面命令中找到发生在哪台机器上,然后到此机器上查看日志。
参考
文章作者: Charles
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 码农笔记!
相关推荐

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

2019-09-13
Hadoop数据迁移
最近有个工作是把数据从CDH5.8迁移到新集群CDH6.1,数据迁移首先想到的就是hadoop distcp命令,distcp(distributed copy)是用于大型集群间/集群内复制的工具。它使用MapReduce来实现其分发,错误处理和恢复以及报告。它将文件和目录的列表扩展为映射任务的输入,每个任务都会复制源列表中指定的文件分区。 同版本集群间数据迁移对于Hadoop版本一致或差一两个小版本,可以使用HDFS协议即可,在target集群运行如下命令 1hadoop distcp hdfs://nn1:8020/foo/bar hdfs://nn2:8020/bar/foo 其中hdfs://nn1:8020/foo/bar为source集群,hdfs://nn2:8020/bar/foo为目标集群。 不同版本集群减数据迁移对于版本差距较大,互相不兼容的集群,可以使用hftp协议和webhdfs来实现数据迁移。 hftp协议在target集群运行如下命令: 1hadoop distcp hftp://nn1:8020/foo/bar hdfs://nn2:80...

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...

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...

2017-09-05
hbase 异常 Server is not running yet
发现问题同步时间后,发现Hbase统统挂掉了,重启hadoop后,发现Hbase无法正常启动了,报如下错误: 123456789Caused by: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yetat org.apache.hadoop.hbase.regionserver.RSRpcServices.checkOpen(RSRpcServices.java:886)at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:1956)at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.jav...

2023-06-20
macOS使用brew安装Hadoop
前言通常我一直在虚拟机中安装Hadoop、Hive、Hbase等大数据相关的组件,但随着我的笔记本使用年限越爱越长,性能也下降的很快,已经达到开虚拟机就会开的地步,于是我就考虑直接将Hadoop安装到macOS上,避免了虚拟机对资源的消耗,为了更好的管理,我选择使用brew来安装。 安装Hadoop使用brew安装Hadoop非常方便,执行如下命令即可: 1brew install hadoop 安装前建议提前安装好JDK,并且配置JAVA_HOME。 为了方便使用,我还配置了hosts 123sudo vim /etc/hosts127.0.0.1 hadoop 配置Hadoop配置免密登录macOS默认是关闭了远程登入的功能,所以需要先打开它。打开系统偏好设置 -> 共享,左边勾选远程登录,右边选择仅这些用户,并且把当前用户添加进去。 然后生成秘钥和公钥 123456789# 生成公钥和私钥ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # 将公钥追加到authorized_keys,实现免密登...
评论
公告
开始忙了,长草期。





