oozie server系统时钟偏差导致sqoop报错

使用oozie通过sqoop导数报错如下

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SqoopMain], main() threw exception, begin > end in range (begin, end): (1464673410428, 1464673380508)
java.lang.IllegalArgumentException: begin > end in range (begin, end): (1464673410428, 1464673380508)
	at org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationsRequestPBImpl.setStartRange(GetApplicationsRequestPBImpl.java:338)
	at org.apache.oozie.action.hadoop.LauncherMainHadoopUtils.getChildYarnJobs(LauncherMainHadoopUtils.java:57)
	at org.apache.oozie.action.hadoop.LauncherMainHadoopUtils.killChildYarnJobs(LauncherMainHadoopUtils.java:88)
	at org.apache.oozie.action.hadoop.SqoopMain.run(SqoopMain.java:167)
	at org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:46)
	at org.apache.oozie.action.hadoop.SqoopMain.main(SqoopMain.java:46)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:228)
	at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
	at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453)
	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
	at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.runSubtask(LocalContainerLauncher.java:370)
	at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.runTask(LocalContainerLauncher.java:295)
	at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.access$200(LocalContainerLauncher.java:181)
	at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler$1.run(LocalContainerLauncher.java:224)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
通过查找源代码发现如下问题
 
long startTime = 0L;
try {
    startTime = Long.parseLong((System.getProperty("oozie.job.launch.time")));
} catch(NumberFormatException nfe) {
throw new RuntimeException("Could not find Oozie job launch time", nfe);
}
String tag = actionConf.get("mapreduce.job.tags");
if (tag == null) {
throw new RuntimeException("Could not find Yarn tags property (mapreduce.job.tags)");
}
GetApplicationsRequest gar = GetApplicationsRequest.newInstance();
gar.setScope(ApplicationsRequestScope.OWN);
gar.setStartRange(startTime, System.currentTimeMillis());
 
public void setStartRange(long begin, long end) throws IllegalArgumentException {
if(begin > end) {
throw new IllegalArgumentException("begin > end in range (begin, end): (" + begin + ", " + end + ")");
    } else {
this.start = new LongRange(begin, end);
    }
}


分析得知是由于oozie job启动时间大于系统当前时间,去查cloudera oozie server发现两台oozie server中一台存在 时钟偏差,由于是测试环境,直接将oozie ha禁用,只保留没有时钟偏差的server,重跑job问题解决。

当然后续必须得解决时钟偏差问题了,报错以作记录备忘

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值