在执行hive sql命令时报错
Diagnostic Messages for this Task:
Container launch failed for container_1487750980920_0003_01_000006 : org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container.This token is expired. current time is 1487921690088 found 1487921687251
Note: System times on machines may be out of sync. Check system time and time zones.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
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.mapreduce.v2.app.launcher.ContainerLauncherImpl$Container.launch(ContainerLauncherImpl.java:155)
at org.apache.hadoop.mapreduce.v2.app.launcher.ContainerLauncherImpl$EventProcessor.run(ContainerLauncherImpl.java:375)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
首先选择一部机器开启ntpd服务,并关闭防火墙,hadoop其它节点运行 ntpdate命令同步时钟,问题解决
运行hive 为什么会对时钟有要求呢?其它方法也可以试试
在每台服务器上执行:ntpdate asia.pool.ntp.org 同步所有的服务器的时间
设置参数set hive.exec.parallel=true;
解释:同一个sql中的不同的job是否可以同时运行,默认为false: