在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作業。