HDFS问题集锦
1. 使用root身份,执行hdfs相关操作,报权限问题
1 | mkdir: Permission denied: user=root, access=WRITE, inode="/1":hdfs:hdfs:drwxr-xr-x |
解决办法:1
2
3
4 方式一:使用hdfs用户执行hdfs相关操作
sudo -u hdfs hdfs dfs -mkdir /lyz01
方式二:设置dfs.permissions.enabled
在 ambari页面修改hdfs的配置,找到dfs.permissions.enabled,使其值为false。
2. Restart NameNode 失败
1 | 2018-03-16 23:36:33,970 - Retrying after 10 seconds. Reason: Execution of '/usr/hdp/current/hadoop-hdfs-namenode/bin/hdfs dfsadmin -fs hdfs://lyz01.ambari.com:8020 -safemode get | grep 'Safe mode is OFF'' returned 1. |
解决办法:1
2
3
4
5
6
7
8
9 su hdfs //切换到hdfs用户,若关闭了hdfs的权限则可略过这一步
hadoop dfsadmin -safemode leave //让namenode离开安全模式
这样就可以解决问题。
附录
dfsadmin -safemode value 参数value的说明如下:
enter - 进入安全模式
leave - 强制NameNode离开安全模式
get - 返回安全模式是否开启的信息
wait - 等待安全模式结束。
3. 远程连接 hdfs 失败
1 | java.io.IOException: Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group tag did not match expected tag.; Host Details : local host is: "liuyongzhi9lc11/172.16.0.111"; destination host is: "lyz01.ambari.com":9000; |
解决方法:1
CDH的hdfs的端口号是8020,将端口号9000改为8020即可实现hdfs的远程连接。
4. hdfs 出现 Missing Block 的处理方法
1 | 一般情况下,很难出现missing block。HDFS拥有较为健壮的自愈能力。但当该问题出现时,一般较难恢复。 |
解决办法:
1 | hadoop fsck / # 使用命令查看 missing block的文件列表 |
点关注,不迷路
好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。
白嫖不好,创作不易。各位的支持和认可,就是我创作的最大动力,我们下篇文章见!
如果本篇博客有任何错误,请批评指教,不胜感激 !
原文作者: create17
原文链接: https://841809077.github.io/2018/03/19/HDFS/HDFS问题集锦.html
版权声明: 转载请注明出处(码字不易,请保留作者署名及链接,谢谢配合!)