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 ...
随机推荐
- HDUOJ-----2068RPG的错排
RPG的错排 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- 清除Eclipse中的内置浏览器中的历史记录
eclipse内置浏览器的访问记录是存储在对应的工程目录下的.metadata配置中, 也就是说你新建一个工程的话就没有了. 如果确实要删除那就找到工作空间中的org.eclipse.ui.brows ...
- iOS设备的标识---UUID和IDFA
一:1.1 :UDID 简介:UDID的全称是Unique Device Identifier,顾名思义,它就是苹果IOS设备的唯一识别码,它由40个字符的字母和数字组成.在很多需要限制一台设备一个账 ...
- Asp.Net Core 轻松学-一行代码搞定文件上传 JSONHelper
Asp.Net Core 轻松学-一行代码搞定文件上传 前言 在 Web 应用程序开发过程中,总是无法避免涉及到文件上传,这次我们来聊一聊怎么去实现一个简单方便可复用文件上传功能:通过创建 ...
- go学习 --- Chan (通道)
Golang使用Groutine和channels实现了CSP(Communicating Sequential Processes)模型,channles在goroutine的通信和同步中承担着重要 ...
- JWPlayer高速入门指南(中文)
将JW Player嵌入到网页中很的简单,仅仅须要进行例如以下3个步骤: 1.解压mediaplayer-viral.zip文件.将jwplayer.js和player.swf文件复制到project ...
- Python rjust() 方法
描述 rjust() 返回一个原字符串右对齐,并使用指定字符填充至指定长度的新字符串,默认的填充字符为空格.如果指定的长度小于原字符串的长度则返回原字符串. 语法 rjust() 方法语法: S.rj ...
- byte[] 转Hex String
一.一个字符串转byte数组怎么转? byte[] byteArray = String.getBytes(); 二.又想把生成的数组转回字符串怎么办? String covertString = n ...
- 超低压差LDO XC6206P332MR
XC6206:It is selectable in 0.1V increments within a range of 1.2V to 5.0V. 可实现压差为0.1V的降压,最大输出电流200毫安 ...
- 服务商域名DNS大全
服务商域名DNS: 服务商 DNS服务器 常用DNS: 英文域名DNS 主DNS名称:ns11.xincache.com 辅DNS名称:ns12.xincache.com 说明:新网共有5组DN ...