在Linux系统中,提交Hadoop作业通常涉及以下步骤:
编写MapReduce程序:
上传JAR文件到HDFS:
hadoop fs -put命令将JAR文件上传到HDFS的某个目录中。hadoop fs -put /path/to/your-job.jar /user/hadoop/jobs/
准备输入数据:
hadoop fs -put命令将本地数据上传到HDFS。设置作业配置:
hadoop jar /user/hadoop/jobs/your-job.jar com.yourcompany.YourJobClass -D mapreduce.job.inputformat=org.apache.hadoop.mapreduce.lib.input.TextInputFormat -D mapreduce.job.outputformat=org.apache.hadoop.mapreduce.lib.output.TextOutputFormat -D mapreduce.job.input.key.class=org.apache.hadoop.io.LongWritable -D mapreduce.job.input.value.class=org.apache.hadoop.io.Text -D mapreduce.job.output.key.class=org.apache.hadoop.io.Text -D mapreduce.job.output.value.class=org.apache.hadoop.io.Text -D mapreduce.job.name="Your Job Name" /user/hadoop/input /user/hadoop/output
提交作业:
hadoop jar命令提交作业。hadoop jar /user/hadoop/jobs/your-job.jar com.yourcompany.YourJobClass /user/hadoop/input /user/hadoop/output
监控作业进度:
查看作业输出:
hadoop fs -cat /user/hadoop/output/part-r-00000
假设你有一个名为WordCount的MapReduce程序,并且已经将其打包成wordcount.jar,输入数据在/user/hadoop/input,输出目录为/user/hadoop/output。
上传JAR文件到HDFS:
hadoop fs -put wordcount.jar /user/hadoop/jobs/
提交作业:
hadoop jar /user/hadoop/jobs/wordcount.jar org.apache.hadoop.examples.WordCount /user/hadoop/input /user/hadoop/output
通过以上步骤,你可以在Linux系统中成功提交Hadoop作业。