Hadoop作业在本地模式下运行。但是Oozie作业在分布式模式下运行
在我们的集群上,即使是最简单的作业“wordcount”也在本地模式下运行。但是以前有一些作业是使用oozie运行的,我们观察到它们是在集群模式下运行的。本机hadoop作业与使用oozie运行的hadoop作业是否存在冲突?这是错误堆栈跟踪-Hadoop作业在本地模式下运行。但是Oozie作业在分布式模式下运行,hadoop,cloudera,oozie,Hadoop,Cloudera,Oozie,在我们的集群上,即使是最简单的作业“wordcount”也在本地模式下运行。但是以前有一些作业是使用oozie运行的,我们观察到它们是在集群模式下运行的。本机hadoop作业与使用oozie运行的hadoop作业是否存在冲突?这是错误堆栈跟踪- java.lang.IllegalArgumentException: Can't read partitions file at org.apache.hadoop.hbase.mapreduce.hadoopbackport.TotalOrd
java.lang.IllegalArgumentException: Can't read partitions file
at org.apache.hadoop.hbase.mapreduce.hadoopbackport.TotalOrderPartitioner.setConf(TotalOrderPartitioner.java:111)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
at org.apache.hadoop.mapred.MapTask$NewOutputCollector.<init>(MapTask.java:560)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:639)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:323)
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:210)
java.lang.IllegalArgumentException:无法读取分区文件
位于org.apache.hadoop.hbase.mapreduce.hadoopbackport.TotalOrderPartitioner.setConf(TotalOrderPartitioner.java:111)
位于org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62)
位于org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
位于org.apache.hadoop.mapred.MapTask$NewOutputCollector。(MapTask.java:560)
位于org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:639)
位于org.apache.hadoop.mapred.MapTask.run(MapTask.java:323)
在org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:210)上
原因:java.io.FileNotFoundException:文件_partition.lst不存在。
位于org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:408)
位于org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:251)
位于org.apache.hadoop.fs.FileSystem.getLength(FileSystem.java:825)
位于org.apache.hadoop.io.SequenceFile$Reader。(SequenceFile.java:1480)
位于org.apache.hadoop.io.SequenceFile$Reader。(SequenceFile.java:1475)
位于org.apache.hadoop.hbase.mapreduce.hadoopbackport.TotalOrderPartitioner.readPartitions(TotalOrderPartitioner.java:296)
位于org.apache.hadoop.hbase.mapreduce.hadoopbackport.TotalOrderPartitioner.setConf(TotalOrderPartitioner.java:82)
我们的工作在没有安装Oozie的测试集群上运行良好。因此,不确定这两件事是否相关。
提前谢谢
我们正在使用Cloudera发行版。听起来他们好像在使用不同的配置。首先,我要确保您运行的所有东西都使用相同的HADOOP\u HOME。经过多次尝试,我们现在已切换到BigInsights。我个人认为CDH是一种很棒的Hadoop风格。但是由于我们没有完成最初的安装,依赖的开销对于我们的项目来说太大了。由于我们之前在BigInsights方面取得了成功,我们希望复制它。如果这有帮助,我将提供更多详细信息。显然,我们正在本地提交工作。Hadoop未配置为运行本地提交的作业。因此,作业跟踪器没有运行作业。因此,我们可能需要在job conf.mapred.job.tracker=:8021中更改以下参数;fs.default.name=hdfs://:8020;hdfs:hadoop在代码中使用conf.set。我希望代码保持不变,而不是硬编码,而是更喜欢修改hadoop conf文件的解决方案。非常感谢您的帮助。