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 ...
随机推荐
- C实现9种排序算法
算法复杂度以及稳定性分析 算法名称 平均时间 辅助空间 稳定性 冒泡排序 O(n2) O(1) 是 选择排序 O(n2) O(1) 否 插入排序 O(n2) O(1) 是 自底向上归并排序 O(nlo ...
- 【LeetCode】144. Binary Tree Preorder Traversal (3 solutions)
Binary Tree Preorder Traversal Given a binary tree, return the preorder traversal of its nodes' valu ...
- 'Provide value on 'System.Windows.StaticResourceExtension' threw an exception.'
产生这个错误的原因是,StaticResource必须先定义再引用,但是DynamicResource就没有这个限制,为避免这个错误出现,可将StaticResource的定义放在Window.xam ...
- 【jQuery】form表单元素序列化为json对象
序列化form表单元素为json对象: <!Doctype html> <html xmlns=http://www.w3.org/1999/xhtml> <head&g ...
- PLSQL_Oracle Exception异常分类、异常抛出、异常处理、异常传播(概念)
2014-06-03 Created By BaoXinjian
- DBA_实践指南系列9_Oracle Erp R12应用补丁AutoPatch/AutoControl/AutoConfig(案例)
2013-12-09 Created By BaoXinjian
- Android特性与系统架构
Android特性与系统架构 一.Android特性 • 应用程序框架支持组件的重用与替换 • Dalvik 虚拟机专为移动设备优化 • 集成的浏览器基于开源的WebKit 引擎 • 优化的图形库包括 ...
- Python直接赋值、浅拷贝和深度拷贝解析
直接赋值:其实就是对象的引用(别名). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象 ...
- POJ 2299:Ultra-QuickSort
Ultra-QuickSort Time Limit: 7000MS Memory Limit: 65536K Total Submissions: 39397 Accepted: 14204 ...
- linux用户管理之创建用户和删除用户
一.常用命令: (1)创建用户命令两条: adduser useradd (2)用户删除命令: userdel 二.两个用户创建命令之间的区别 adduser: 会自动为创建的用户指定主目录.系统sh ...