Hive執行命令時遇到的一個坑!!!
阿新 • • 發佈:2018-12-01
一、今天在使用Hive對資料處理時,遇到了這個問題!
執行命令:
hive> select distinct etl(name,region,huxing,area,chaoxiang,zhuangxiu,dianti,danPrice,sumPrice) from house where sumprice>=300;
執行結束後報如下錯誤:
Application application_1543456255999_0001 failed 2 times due to Error launching appattempt_1543456255999_0001_000002. Got exception: org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container. This token is expired. current time is 1543519140450 found 1543489504981 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.hadoop.yarn.api.records.impl.pb.SerializedExceptionPBImpl.instantiateException(SerializedExceptionPBImpl.java:168) at org.apache.hadoop.yarn.api.records.impl.pb.SerializedExceptionPBImpl.deSerialize(SerializedExceptionPBImpl.java:106) at org.apache.hadoop.yarn.server.resourcemanager.amlauncher.AMLauncher.launch(AMLauncher.java:123) at org.apache.hadoop.yarn.server.resourcemanager.amlauncher.AMLauncher.run(AMLauncher.java:254) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) . Failing the application.
二、問題處理方案
通過檢視日誌,以為是 yarn 配置檔案有問題,經過檢視,並沒有問題!最終死馬當作活馬醫,經過檢視虛擬記憶體,發現比較吃緊。試想給大點記憶體會不會好?
把虛擬機器關閉後,將記憶體調大一倍。再次開啟虛擬機器,開啟叢集;進行hive的操作。最終命令執行成功!往往一些坑都是在最不起眼的地方,多去留意容易忽視的地方,就能找到解決方案!