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
最後
目前能想到的就這麼多,但是期間各種小問題也算磨人,還有一些問題等我想到或者遇到再補充,希望對大家有所幫助!
致謝
@上述廣大網友
@實驗室小哥
@時不時耐心的自己哈哈哈