草庐IT

hadoop - 为什么 mapreduce 作业指向本地主机 :8080?

我正在处理MapReduce作业并使用ToolRunner的运行方法执行它。这是我的代码:publicclassMaxTemperatureextendsConfiguredimplementsTool{publicstaticvoidmain(String[]args)throwsException{System.setProperty("hadoop.home.dir","/");intexitCode=ToolRunner.run(newMaxTemperature(),args);System.exit(exitCode);}@Overridepublicintrun(Stri

hadoop - hadoop job是如何运行在各个节点上的

我是Hadoop的新手,所以可能会问一些愚蠢的问题。假设我有3个Hadoop从节点,它们都有天气数据说Node-1有1900-1929年的天气数据;Node-2有1930-1959年的天气数据;Node-3有1960-1989年的天气数据;我有一个MapReduce作业来查找从1900年到1989年的更高温度。我的问题是:当我们提交mrjob时,Hadoop会自动在这三个节点上提交job吗?或者我们需要编写脚本来这样做。感谢您的耐心解答 最佳答案 HDFS是一个分布式文件系统。因此,天气数据将自动分配给3个从节点。默认情况下,它将被

java - hadoop 使用类名提交作业,为什么需要 job.setJarByClass()?

例如我有一个hadoop字数统计程序(来自互联网),字数统计.java:publicstaticclassWordCount{publicstaticvoidmain(String[]args)throwsException{....Jobjob=Job.getInstance(newConfiguration(),"wordcount");job.setJarByClass(WordCount.class);//Why?}}像这样将它编译成一个jar并提交给yarn:hadoopjarwordcount.jarWordCount[input-hdfs][output-hdfs]在这个

java - 在集群中启动 MapReduce 作业失败,退出代码为 : -1000 and job. jar 不存在

我正在尝试在Java代码中启动mapreduce作业并将作业提交给yarn。但出现以下错误:2018-08-2600:46:26,075WARN[main]util.NativeCodeLoader(NativeCodeLoader.java:(62))-Unabletoloadnative-hadooplibraryforyourplatform...usingbuiltin-javaclasseswhereapplicable2018-08-2600:46:27,526INFO[main]client.RMProxy(RMProxy.java:createRMProxy(92))-

java - Hadoop Map/Reduce WARN mapred.LocalJobRunner : job_local_0001 java. io.EOFException?

在Eclipse6.91中运行Hadoop0.20.2M/R应用。我在执行后收到这些错误和警告:13/07/2416:52:52INFOjvm.JvmMetrics:InitializingJVMMetricswithprocessName=JobTracker,sessionId=13/07/2416:52:52WARNmapred.JobClient:UseGenericOptionsParserforparsingthearguments.ApplicationsshouldimplementToolforthesame.13/07/2416:52:52WARNmapred.Jo

java - 无法使用 mapreduce.LoadIncrementalHFiles 将 HFiles 加载到 HBase

我想使用HBase批量加载APILoadIncrementalHFiles.doBulkLoad(newPath(),hTable)将我的map-reduce作业的输出插入到HBase表中。我从我的映射器发出KeyValue数据类型,然后使用HFileOutputFormat使用其默认缩减器准备我的HFile。当我运行我的map-reduce作业时,它没有任何错误地完成并创建了输出文件,但是,最后一步-将HFiles插入HBase并没有发生。我的map-reduce完成后出现以下错误:13/09/0803:39:51WARNmapreduce.LoadIncrementalHFiles

java - 如何在不使用 OOzie 的情况下创建 Hadoop 作业链

我想创建一个由三个Hadoop作业组成的链,其中一个作业的输出作为输入提供给第二个作业,依此类推。我想在不使用Oozie的情况下执行此操作。我已经编写了以下代码来实现它:-publicclassTfIdf{publicstaticvoidmain(Stringargs[])throwsIOException,InterruptedException,ClassNotFoundException{TfIdftfIdf=newTfIdf();tfIdf.runWordCount();tfIdf.runDocWordCount();tfIdf.TFIDFComputation();}publ

java - hadoop job -kill <ID> 无法杀死

我使用的是1.0.4版。有些工作一直挂起,所以我一直试图杀死这些工作以释放源...但是,killing命令似乎不起作用...这是我正在做的:hadoopjob-listJobIdStateStartTimeUserNamePrioritySchedulingInfojob_111473112865969xyzNORMALNAhadoopjob-killjob_1Killedjobjob_2在此之后,我再次运行list命令,被杀死的作业仍然存在:hadoopjob-listJobIdStateStartTimeUserNamePrioritySchedulingInfojob_11147

hadoop - Apache kylin cube 失败 "no counters for job"

使用kylin1.5.4,当我构建立方体时,它在第3步失败,日志显示“没有工作计数器”。它也没有获取配置单元表的基数。当我创建一个模型或多维数据集时,它会抛出无法采取行动的错误,但是当我关闭json页面时,它们就会被创建。它不获取日期分区列,抛出在日志中找不到的列。非常感谢任何帮助或见解。 最佳答案 这有点晚了,但我在当前项目中也遇到了这个问题,我得到了“没有工作计数器”错误。问题是我们在Hive中使用ORC表。我们只是将数据从ORC表移至新的TEXTFILE表,并使用新表在Kylin多维数据集中设置所有内容,一切正常。

java - 在 java 代码中设置 job.properties 文件以启动 oozie 操作

我正在尝试使用Java代码启动oozie操作。使用命令行时,我们通过“-configjob.properties”指定属性文件,它知道选择哪个工作流程。我们如何在java代码中定义“job.properties”文件来完成相同的任务?conf.setProperty(OozieClient.APP_PATH,"hdfs://clusterdb05.com:8020/user/apps/merge-logs/workflow.xml");conf.setProperty("jobTracker","jobtracker.com:8021");conf.setProperty("nameN