Centos下命令行编译MapReduce代码(Java)并打包在Hadoop中执行
前提条件:搭建好Hadoop系统
新建文件夹:input 和 output
hdfs dfs -mkdir /input
hdfs dfs -mkdir /output
查看文件系统
hdfs dfs -ls /
配置hadoop的架包路径,修改~/.bashrc
vim ~/.bashrc
添加(路径以自己的系统中的安装路径为准)
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.5
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
然后source一下使其生效
source ~/.bashrc
或者
. ~/.bashrc
接下来需要编译代码,以及打包
找到已经写好的MapReduce代码(conf是我的配置文件,工程需要)
开始编译
javac LocationOfCars.java
打包
jar -cvf LocationOfCars.jar ./LocationOfCars*.class
可以将包拷贝到自己的专有文件夹下,比如我的 jar 文件夹
在此路径下来执行代码(我的代码需要一个输入路径,三个输出路径(三个MR))
hadoop jar LocationOfCars.jar LocationOfCars /input /output/out1 output/out2 output/out3
这样就可以执行了
本节完......