我在TEZ和MapReduce执行引擎上遇到问题。两者都与权限相关,但对于我的生活,我迷失了。
当我通过TEZ执行它时,我收到此消息:
org.apache.hadoop.hdfs.BlockMissingException:无法获取块: BP-300459168-127.0.1.1-1478287363661:blk_1073741961_1140 文件= / TMP /蜂巢/ hiveuser / _tez_session_dir / 03029ffd-a9c2-43de-8532-1e1f322ec0cd /蜂房hcatalog-core.jar添加
查看HDFS中的文件权限但它们看起来是正确的:
drwx ------ - hiveuser hadoop 0 2016-11-11 09:54 / tmp / hive / hiveuser / _tez_session_dir / 03029ffd-a9c2-43de-8532-1e1f322ec0cd
drwx ------ - hiveuser hadoop 0 2016-11-11 09:54 /tmp/hive/hiveuser/_tez_session_dir/03029ffd-a9c2-43de-8532-1e1f322ec0cd/.tez
-rw-r - r-- 3 hiveuser hadoop 259706 2016-11-11 09:54 /tmp/hive/hiveuser/_tez_session_dir/03029ffd-a9c2-43de-8532-1e1f322ec0cd/hive-hcatalog-core.jar
在MapReduce上,消息是这个
无法获得阻止: BP-300459168-127.0.1.1-1478287363661:blk_1073741825_1001 文件= / HDP /应用/ 2.5.0.0-1245 /映射精简/ mapreduce.tar.gz
该文件的文件权限
-r - r - r-- 3 hdfsuser hadoop 51232019 2016-11-04 16:40 /hdp/apps/2.5.0.0-1245/mapreduce/mapreduce.tar.gz
谁能告诉我我在那里失踪了什么?请?
答案 0 :(得分:0)
1)键入hadoop fsck HDFS_FILE
检查特定hdfs文件是否正常如果不是,则特定文件已损坏。删除损坏的文件,并尝试复制该jar并尝试下面的命令
2)键入hadoop dfsadmin -report检查Missing块的值是否为0
3)检查名称节点web UI启动进度 - >安全模式是100% 否则离开安全模式
hadoop dfsadmin -safemode leave
然后运行fsck
删除丢失的块
答案 1 :(得分:0)
我终于明白这一点,并认为发布解决方案对我很友好。其中一个,当你最终得到它时,你会想,“呃,那是如此明显”。一个重要的注意事项,如果您遇到Hive问题,请务必检查Yarn日志!
我对此问题以及许多其他问题的解决方案是确保我的所有节点都在其主机文件中拥有所有其他节点的ip地址。这可以确保Ambari通过主机名获取所有正确的IP。我在Ubuntu上,所以我做了以下事情:
$ vim / etc / hosts 然后文件看起来像这样:
127.0.0.1 localhost
#127.0.1.1 ambarihost.com ambarihost
# Assigning static IP here so ambari gets it right
192.168.0.20 ambarihost.com ambarihost
#Other hadoop nodes
192.168.0.21 kafkahost.com kafkahost
192.168.0.22 hdfshost.com hdfshost