我在tez和mapreduce执行引擎上都有问题。两者似乎都与权限有关,但就我的生命而言,我迷失了方向。
当我通过tez执行它时,我得到这样一个信息:
org.apache.hadoop.hdfs.blockmissingexception:无法获取块:bp-300459168-127.0.1.1-14782873661:blk_file=/tmp/hive/hiveuser/\u tez_session\u dir/03029ffd-a9c2-43de-8532-1e1f322ec0cd/hive-hcatalog-core.jar
查看hdfs中的文件权限,但它们看起来是正确的:
drwx------hiveuser hadoop 0 2016-11-11 09:54/tmp/hive/hiveuser/\u tez\u session\u dir/03029ffd-a9c2-43de-8532-1e1f322ec0cd
drwx------hiveuser hadoop 0 2016-11-11 09:54/tmp/hive/hiveuser/\u tez\u session\u dir/03029ffd-a9c2-43de-8532-1e1f322ec0cd/.tez
-rw-r--r--3 hiveuser hadoop 259706 2016-11-11 09:54/tmp/hive/hiveuser/\u tez\u session\u dir/03029ffd-a9c2-43de-8532-1e1f322ec0cd/hive-hcatalog-core.jar
在mapreduce上的消息是
无法获取块:bp-300459168-127.0.1.1-1478287363661:blk_file=/hdp/apps/2.5.0.0-1245/mapreduce/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
有人能告诉我我在那里错过了什么吗?拜托?
2条答案
按热度按时间agyaoht71#
1) 类型
hadoop fsck HDFS_FILE
检查特定的hdfs文件是否正常如果不正常,则说明特定的文件已损坏。删除损坏的文件,并尝试复制该jar,然后尝试下面的命令2) 键入hadoop dfsadmin-report检查是否缺少块的值:0
3) 检查名称节点web ui启动进度->安全模式为100%否则退出安全模式
那就跑吧
fsck
删除丢失的块zzzyeukh2#
我终于明白了这一点,并认为这将是友好的,我张贴的解决方案。其中一个,当你最终得到它时,你会想,“啊,那太明显了”。一个重要的注意事项,如果你有麻烦与Hive一定要检查Yarn日志了!
我的解决方案是确保所有节点的主机文件中都有其他节点的ip地址。这样可以确保ambari按主机名获取所有正确的ip。我在ubuntu上,所以我做了以下工作:
$vim/etc/hosts,然后文件显示如下: