Cha*_*ion 4 java hadoop javac word-count cloudera
我正在尝试在Cloudera 4的Linux(CentOS)安装上编译一个简单的WordCount.java map-reduce示例.当我引用任何hadoop类时,我一直在遇到编译器错误,但我无法弄清楚哪个罐子是/ usr/lib/hadoop下的数百个我需要添加到我的类路径来编译.任何帮助将不胜感激!我最喜欢的是一个用于字数统计的java文件(以防万一我找到的那个由于某种原因是坏的)以及编译和运行它的相关命令.
我试图使用javac而不是Eclipse来做到这一点.我的主要问题是Cloudera 4安装的Hadoop库究竟是什么,我需要包含这些库以便编译经典的WordCount示例.基本上,我需要将Java MapReduce API类(Mapper,Reducer等)放在我的类路径中.
我有一个构建我的hadoop类的脚本.尝试:
#!/bin/bash
program=`echo $1 | awk -F "." '{print $1}'`
if [ ! -d "${program}_classes" ]
then mkdir ${program}_classes/;
fi
javac -classpath /usr/lib/hadoop/hadoop-common-2.0.0-cdh4.0.1.jar:/usr/lib/hadoop/client/h\
adoop-mapreduce-client-core-2.0.0-cdh4.0.1.jar -d ${program}_classes/ $1
jar -cvf ${program}.jar -C ${program}_classes/ .;
Run Code Online (Sandbox Code Playgroud)
你可能错过了关键的罐子:
/usr/lib/hadoop/hadoop-common-2.0.0-cdh4.0.1.jar
Run Code Online (Sandbox Code Playgroud)
和
/usr/lib/hadoop/client/hadoop-mapreduce-client-core-2.0.0-cdh4.0.1.jar
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7908 次 |
| 最近记录: |