MacOS Sierra 10.12.1
Hadoop 2.7.3
Hive 1.2.1
前言
本来安逸搞个local 的spark算了,但是过几天我还要搞个网易云音乐的大新闻,没有hive不得劲,遂装,期间遇到的问题,一一记录
安装
基础安装,先照这个来吧,反正肯定不会一次成功,科科,还可以自己百度,很多很多的
问题
这才是重点,坑
Hadoop MapReduce Error - /bin/bash: /bin/java: is a directory
这是macos的java路径不对的问题,hadoop默认为bin/java,但是在macos中是/usr/bin/java,你不行可以which java看下是不是
解决方案:修改路径即可,在/hadoop-2.7.3/etc/hadoop目录下,vi hadoop-env.sh进行java路径配置,添加如下
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
当然这里的路径是自己的javajdk的路径,如果你装了jdk1.8.0_131.jdk版本的,那就应该是这个
进入hive的安装目录后, bin/hive 启动卡在Logging initialized using configuration in file:/Users/mrlevo/Documents/apache-hive-1.2.1-bin/conf/hive-log4j.properties进不去
解决方案:使用sudo bin/hive
Tracking URL里的application metrics参数都是0,node的log为空只显示http://
具体表现样式:
解决方案:这是内存配置的问题,具体解决方案请看@KaP–MapReduce job hangs, waiting for AM container to be allocated
hive能够正常查询等简单操作,但是Mapred job的时候就卡着不动了
解决方案:首先看看自己机器有没有联网,别笑,真的遇到过,然后看能否启动分配任务,比如有Tracking URL = http://MacdeMacBook-Pro.local:8088/proxy/application_1498720375962_0011/这个显示,那么启动没问题,进去查看log,log中一般显示Hadoop MapReduce Error - /bin/bash: /bin/java: is a directory,科科,请返回第一个问题
启动hive后报错如下 Exception in thread “main” Java.lang.IllegalArgumentException:java.net.URISyntaxException: Relative path in absolute URI:{system:java.io.tmpdir%7D/%7Bsystem:user.name%7D
解决方案:
方法一:请看hive启动时{system:java.io.tmpdir%7D/%7Bsystem:user.name%7D错误
方法二:请看@zhangwx–这里
题外话,用他们的方式后,我还是会遇到这个问题,只不过是%7Bsystem:user.name%7D问题,最后解决方案只好把hive-site.xml中的{system:user.name}删掉,解决。
Permission denied: user=root, access=EXECUTE, inode=”/tmp/hadoop-yarn”:grid:supergroup:drwx——
解决方案:这是由于权限不够造成的,对要操作的文件location或者启动都好,首先确定自己的文件具有的权限,使用hadoop fs -lsr /查看自己hdfs上所有文件,查看一下自己要操作文件的属性,使用hadoop fs -chmod 777 /你的hdfs文件目录
配置完成后,重新多次格式化namenode,启动start-all.sh,之后jps查看的时候,发现datanode没起来,导致hive启动失败
解决方案:原因是,Namenode和Datanode的NamenodeID不一致,最直接有效的办法就是修改Datanode上的namenodeID(位于/dfs/data/current/VERSION文件中)或修改NameNode的namespaceID(位于/dfs/name/current/VERSION文件中),使其一致。晋心–datanode启动不起来的各种原因
刚刚还能启动hive并且跑mapred的,怎么现在不行了
解决方案:请保持网络连接(:这个zz问题真是太玄妙了!我屮艸芔茻了,这个单机版的还要网络连接什么鬼,但真的是这样!没有网络还启动不了了,可能我配置时候连了ESC上的节点?
方法二:如果还是不行,那就看下节点有没有掉的,使用jps,看下nodemanager,resourcemanager在不在,如果不在,先停掉yarn,使用stop-yarn.sh,然后再start-yarn.sh
最后
目前能想到的就这么多,但是期间各种小问题也算磨人,还有一些问题等我想到或者遇到再补充,希望对大家有所帮助!
致谢
@上述广大网友
@实验室小哥
@时不时耐心的自己哈哈哈