at org.apache.hadoop.util.RunJar.main(RunJar.java:153)
关于手动编译hadoop入门例子WordCount并执行
之前做的例子都是用hadoop中已经编译好jar包来运行示例的
但是这次想要手动编译个实例,练下手
没想到还是遇到点了小困难
[root@centos WordCount]# hadoop jar WordCount.jar /wc/input /wc/output
Exception in thread "main" java.lang.ClassNotFoundException: /wc/input
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.hadoop.util.RunJar.main(RunJar.java:153)
然后总是报这个错
1、准备编译的文件和环境
首先在找个地方把hadoop安装目录下的WordCount.java拷出来
在WordCount.java所在的文件夹下,建一个文件夹,这里建的是WordCount,用于编译用
[root@centos wordcount_class]# ls
commons-cli-1.2.jar hadoop-core-1.2.1.jar WordCount.java
[root@centos wordcount_class]# mkdir WordCount
[root@centos wordcount_class]# ls
commons-cli-1.2.jar hadoop-core-1.2.1.jar WordCount WordCount.java
2、编译到文件夹下
下面是编译了
需要两个jar包:hadoop-core-1.2.1.jar,commons-cli-1.2.jar
这两个jar包在hadoop安装目录下有
hadoop-core-1.2.1.jar是在根目录下,
commons-cli-1.2.jar是在根目录下的lib目录下
你可以用绝对路径,也可以把这两个jar包拷到之前建立的WordCount文件夹中
编译过程是:
javac -classpath hadoop-core-1.2.1.jar:commons-cli-1.2.jar WordCount.java -d WordCount
[root@centos wordcount_class]# javac -classpath hadoop-core-1.2.1.jar:commons-cli-1.2.jar WordCount.java -d WordCount
[root@centos wordcount_class]# cd WordCount
[root@centos WordCount]# ls
org
在这里解释下,-classpath可以简写为-cp,后面跟的是要用到的jar包的路径
WordCount.java是我们要用到的java源文件
-d是编译到后面接的WordCoun文件夹下
WordCount.java中的命名空间为如下,如果没有被改的话,
package org.apache.hadoop.examples;
则编译到WordCount文件夹下会会有很多嵌套的子文件夹生成,
比如WordCount下的org,org下的apache,等等,一直到examples是最后一个目录
3、打包jar包
编译完了之后我们要打包成jar包
这个时候,进入WordCount目录中,执行命令为:
jar cvf WordCount.jar *
这个时候WordCount下会出现一个WordCount.jar包
4、在hadoop下执行jar包
然后就可以用来执行了,这里往HDFS文件系统中传东西什么的就不在这儿写了
这里特别注意的是在WordCount中的命名空间,也就是package那一行的东西外加主类要放到jar包后面,
这里是org.apache.hadoop.example.WordCount
[root@centos WordCount]# hadoop dfs -rmr /wc/output
Deleted hdfs://centos:9000/wc/output
[root@centos WordCount]# hadoop jar WordCount.jar org.apache.hadoop.examples.WordCount /wc/input /wc/output
at org.apache.hadoop.util.RunJar.main(RunJar.java:153)的更多相关文章
- java.lang.NullPointerException at java.lang.ProcessBuilder.start(Unknown Source) at org.apache.hadoop.util.Shell.runCommand(Shell.java:482)
1:问题出现的原因,部署好的hadoop-2.6.4进行window10操作hadoop api出现的错误,具体错误是我向hdfs上传文件,还好点,之前解决过,这里不叙述,这里说一下从hdfs下载文件 ...
- ERROR [org.apache.hadoop.util.Shell] - Failed to locate the winutils binary in the hadoop binary path
错误日志如下: -- ::, DEBUG [org.apache.hadoop.metrics2.lib.MutableMetricsFactory] - field org.apache.hadoo ...
- Hadoop org.apache.hadoop.util.DiskChecker$DiskErrorException问题等价解决linux磁盘不足解决问题排查
org.apache.hadoop.util.DiskChecker$DiskErrorException问题等价解决linux磁盘不足解决问题排查 解决"/dev/mapper/cento ...
- 【解决】org.apache.hadoop.util.Shell$ExitCodeException: /bin/bash: line 0: fg: no job control
[环境信息] Hadoop版本:2.4.0 客户端OS:Windows Server 2008 R2 服务器端OS:CentOS 6.4 [问题现象] 在通过Windows客户端向Linux服务器提交 ...
- java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V
环境: Spark2.1.0 .Hadoop-2.7.5 代码运行系统:Win 7在运行Spark程序写出文件(savaAsTextFile)的时候,我遇到了这个错误: // :: ERROR U ...
- 执行Hive时出现org.apache.hadoop.util.RunJar.main(RunJar.java:136) Caused by: java.lang.NumberFormatException: For input string: "1s"错误的解决办法(图文详解)
不多说,直接上干货 问题详情 [kfk@bigdata-pro01 apache-hive--bin]$ bin/hive Logging initialized -bin/conf/hive-log ...
- Exceptionin thread "main" java.lang.UnsatisfiedLinkError:org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjav
在eclipse上运行hadoop报错:Exceptionin thread "main" java.lang.UnsatisfiedLinkError:org.apache.ha ...
- org.apache.hadoop.util.Shell demo/例子
package cn.shell; import java.io.IOException; import org.apache.hadoop.util.Shell; public class Shel ...
- hadoop错误org.apache.hadoop.util.DiskChecker$DiskErrorException Could not find any valid local directory for
错误: org.apache.hadoop.util.DiskChecker$DiskErrorException: Could not find any valid local directory ...
随机推荐
- Chrome实用调试技巧
如今Chrome浏览器无疑是最受前端青睐的工具,原因除了界面简洁.大量的应用插件,良好的代码规范支持.强大的V8解释器之外,还因为Chrome开发者工具提供了大量的便捷功能,方便我们前端调试代码,我们 ...
- hdu 4857 逃生 (拓扑排序+保证最小在前面)
逃生 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- GitHub搭建博客过程
1.参考 我的 Github 个人博客是怎样炼成的 http://www.jianshu.com/p/4fd3cb0a11da 到了第三节"三.使用 Jekyll 搭建个人博客"时 ...
- iOS - Label 数字动态变化
1.数字动态变化 具体实现代码见 GitHub 源码 QExtension QCountingLabel.h /// 文本数字变化方式枚举 typedef NS_ENUM(NSUInteger, QC ...
- ADF_ADF基本概要(汇总)
20150601 Created By BaoXinjian
- Linux内核scatterlist API介绍
1. 前言 我们在那些需要和用户空间交互大量数据的子系统(例如MMC[1].Video.Audio等)中,经常看到scatterlist的影子.对我们这些“非英语母语”的人来说,初见这个词汇,脑袋瞬间 ...
- mvn test 执行testng测试用例
maven项目,把testng用例防止test目录下,配置pom.xml 文件如下,执行mvn test 能自动执行testng里面的用例 <project xmlns="http:/ ...
- spineRunTime for cocos2dx v3 中动画播完删除animation
spineRunTime for cocos2dx v3 中删除animation,发现下面写法会崩溃: spine::SkeletonAnimation* animationNode = spi ...
- unity + win8.1 apps 小游戏demo
unity3d用的人挺多. . .本来想写个3d游戏试试. .额..貌似挺麻烦.. . .. ..先用unity写个简单的2d游戏吧.. (adsw回车 或者 触摸屏虚拟摇杆) 开发环境 unit ...
- php利用phpexcel导出数据
php中利用phpexcel导出数据的实现代码.对phpexcel类库不熟悉的朋友,可以阅读下<phpexcel中文帮助手册>中的内容,具体实例大家可以phpexcel快速开发指南中的相关 ...