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 ...
随机推荐
- mysql sleep连接太多怎么办
摘要:interactive_timeout和wait_timeout参数对sleep连接的影响 interactive_timeout 参数含义:服务器关闭交互式连接前等待活动的秒数.交互式客户端定 ...
- @Autowired(required = false)
标记在 方法上的时候,它会根据类型去spring容器中寻找 对于的形参并且注入. @Repository(value="userDao") public class UserDao ...
- [CXF REST标准实战系列] 一、JAXB xml与javaBean的转换(转)
转自:[CXF REST标准实战系列] 一.JAXB xml与javaBean的转换 文章Points: 1.不认识到犯错,然后得到永久的教训. 2.认识JAXB 3.代码实战 1.不认识到犯错,然后 ...
- 深入理解SpringBoot配置
一.application.properties的位置 1.当前目录的 "/config"的子目录下 2.当前目录下 3.classpath根目录的"/config&qu ...
- 验证码在后台的编写,并实现点击验证码图片时时发生更新 C# 项目发布到IIS后不能用log4net写日志
验证码在后台的编写,并实现点击验证码图片时时发生更新 验证码在软件中的地位越来越重要,有效防止这种问题对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试:下面就是实现验证码的基本步骤: ...
- mvc中Action前HttpPost的作用
本文导读:在ASP.NET MVC框架中,为了限制某个action只接受HttpPost的请求,对于HttpGet的请求则提示404找不到页面,可以在action的方法前面加上[HttpPost]属性 ...
- Android 中日期对话框的应用
import java.util.Calendar; import android.widget.DatePicker; import android.app.DatePickerDialog; // ...
- Linux内核(15) - 方法论
什么是方法论 方法论给人的第一感觉就是它是一个玄之又玄的很朦胧的东西,显然,学习本身就是一件很玄乎的事情,有些人整天潇潇洒洒没见怎么用心就能够获得很好的成绩,而有些人则相反,投悬梁锥刺骨也还是成绩平平 ...
- Accelerated C++学习笔记7—<使用库算法>
第6章 使用库算法 本章中主要教我们怎样使用几个库算法来解决与处理字符串和学生成绩相关的问题. 1.分析字符串 使用一个循环来连接两幅字符图案 <span style="font-f ...
- STM32F4—fsmc的配置步骤
0:开启GPIO时钟和FSMC时钟 1:配置GPIO 2:配置片选控制寄存器 3:配置片选时序寄存器 4:配置写入时序寄存器 GPIO_InitTypeDef GPIO_InitStructure;/ ...