1. 程式人生 > >Hive執行命令時遇到的一個坑!!!

Hive執行命令時遇到的一個坑!!!

一、今天在使用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的操作。最終命令執行成功!往往一些坑都是在最不起眼的地方,多去留意容易忽視的地方,就能找到解決方案!