hadoop 运行java类_hadoop运行java类

使用hadoop运行自己写的java类报错:

/home/hadoop/bin/hadoop MaxTemperature /home/hadoop/input/sample.txt output

Exception in thread "main" java.lang.NoClassDefFoundError: MaxTemperature

Caused by: java.lang.ClassNotFoundException: MaxTemperature

at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

Could not find the main class: MaxTemperature. Program will exit. 查了很多资料,总结运行java类的步骤。

步骤1:设置java环境变量,编辑 conf/hadoop-env.sh文件,至少需要将JAVA_HOME设置为Java安装根路径。

步骤2:行java程序时要先编译成class文件,才能用hadoop命令,但是编译的时候会有如下错误:

axTemperature.java:5: 软件包 org.apache.hadoop.fs 不存在

import org.apache.hadoop.fs.Path;

^

MaxTemperature.java:6: 软件包 org.apache.hadoop.io 不存在

import org.apache.hadoop.io.IntWritable;

^

MaxTemperature.java:7: 软件包 org.apache.hadoop.io 不存在

import org.apache.hadoop.io.Text;

^

MaxTemperature.java:8: 软件包 org.apache.hadoop.mapred 不存在

import org.apache.hadoop.mapred.FileInputFormat;

^

MaxTemperature.java:9: 软件包 org.apache.hadoop.mapred 不存在

import org.apache.hadoop.mapred.FileOutputFormat;

.... 上面的信息很明确,找不到hadoop相关的java类,请在CLASSPATH设置一下

export CLASSPATH=.:/home/hadoop/hadoop-0.20.2-core.jar:$CLASSPATH 步骤3:运行自己写的java类。

有的时候报错:

root@tianbaoxing-virtual-machine:/home/hadoop/java# /home/hadoop/bin/hadoop MaxTemperature /home/hadoop/input/sample.txt output

Exception in thread "main" java.lang.NoClassDefFoundError: MaxTemperature

Caused by: java.lang.ClassNotFoundException: MaxTemperature

at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

Could not find the main class: MaxTemperature. Program will exit. 上面的信息报错找不到运行的类,

是因为没有设置classpath,在hadoop环境下怎么设置classpath呢?

export HADOOP_CLASSPATH=/home/hadoop/java 我把要运行的java类全部放在了/home/hadoop/java 这个文件夹下面了。

最后正确的运行结果:

/home/hadoop/bin/hadoop MaxTemperature /home/hadoop/input/sample.txt output

13/04/10 11:00:31 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=

13/04/10 11:00:31 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.

13/04/10 11:00:32 WARN mapred.JobClient: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String).

13/04/10 11:00:32 INFO mapred.FileInputFormat: Total input paths to process : 1

13/04/10 11:00:33 INFO mapred.JobClient: Running job: job_local_0001

13/04/10 11:00:33 INFO mapred.FileInputFormat: Total input paths to process : 1

13/04/10 11:00:33 INFO mapred.MapTask: numReduceTasks: 1

13/04/10 11:00:33 INFO mapred.MapTask: io.sort.mb = 100

13/04/10 11:02:48 INFO mapred.MapTask: data buffer = 79691776/99614720

13/04/10 11:02:48 INFO mapred.MapTask: record buffer = 262144/327680

13/04/10 11:02:48 INFO mapred.LocalJobRunner: file:/home/hadoop/input/sample.txt:0+2336

13/04/10 11:02:48 INFO mapred.JobClient: map 0% reduce 0%

13/04/10 11:02:48 INFO mapred.MapTask: Starting flush of map output

13/04/10 11:02:52 INFO mapred.MapTask: Finished spill 0

13/04/10 11:02:52 INFO mapred.TaskRunner: Task:attempt_local_0001_m_000000_0 is done. And is in the process of commiting

13/04/10 11:02:52 INFO mapred.LocalJobRunner: file:/home/hadoop/input/sample.txt:0+2336

13/04/10 11:02:52 INFO mapred.TaskRunner: Task 'attempt_local_0001_m_000000_0' done.

13/04/10 11:02:52 INFO mapred.LocalJobRunner:

13/04/10 11:02:52 INFO mapred.Merger: Merging 1 sorted segments

13/04/10 11:02:52 INFO mapred.JobClient: map 100% reduce 0%

13/04/10 11:02:52 INFO mapred.Merger: Down to the last merge-pass, with 1 segments left of total size: 189 bytes

13/04/10 11:02:52 INFO mapred.LocalJobRunner:

13/04/10 11:02:53 INFO mapred.TaskRunner: Task:attempt_local_0001_r_000000_0 is done. And is in the process of commiting

13/04/10 11:02:53 INFO mapred.LocalJobRunner:

13/04/10 11:02:53 INFO mapred.TaskRunner: Task attempt_local_0001_r_000000_0 is allowed to commit now

13/04/10 11:02:53 INFO mapred.FileOutputCommitter: Saved output of task 'attempt_local_0001_r_000000_0' to file:/home/hadoop/java/output

13/04/10 11:02:53 INFO mapred.LocalJobRunner: reduce > reduce

13/04/10 11:02:53 INFO mapred.TaskRunner: Task 'attempt_local_0001_r_000000_0' done.

13/04/10 11:02:53 INFO mapred.JobClient: map 100% reduce 100%

13/04/10 11:02:53 INFO mapred.JobClient: Job complete: job_local_0001

13/04/10 11:02:53 INFO mapred.JobClient: Counters: 13

13/04/10 11:02:53 INFO mapred.JobClient: FileSystemCounters

13/04/10 11:02:53 INFO mapred.JobClient: FILE_BYTES_READ=30485

13/04/10 11:02:53 INFO mapred.JobClient: FILE_BYTES_WRITTEN=52400

13/04/10 11:02:53 INFO mapred.JobClient: Map-Reduce Framework

13/04/10 11:02:53 INFO mapred.JobClient: Reduce input groups=2

13/04/10 11:02:53 INFO mapred.JobClient: Combine output records=0

13/04/10 11:02:53 INFO mapred.JobClient: Map input records=17

13/04/10 11:02:53 INFO mapred.JobClient: Reduce shuffle bytes=0

13/04/10 11:02:53 INFO mapred.JobClient: Reduce output records=2

13/04/10 11:02:53 INFO mapred.JobClient: Spilled Records=34

13/04/10 11:02:53 INFO mapred.JobClient: Map output bytes=153

13/04/10 11:02:53 INFO mapred.JobClient: Map input bytes=2336

13/04/10 11:02:53 INFO mapred.JobClient: Combine input records=0

13/04/10 11:02:53 INFO mapred.JobClient: Map output records=17

13/04/10 11:02:53 INFO mapred.JobClient: Reduce input record=17

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos的mysql怎么删用户_linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤...

linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤销权限linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤销权限root权限高,安全性考虑,一般只允许本地(本机)访问…

采取 过滤 php_这3种php高级过滤了解一下,很实用!

在php中有很多的过滤,可以对输入的字符串进行过滤,同时也可以对邮件地址进行过滤,接下来我要讲的是php中的3种高级过滤,在开发中很实用。第一种:过滤数值范围在php经常要接收各种数据,其中数值是非常普遍的…

java打乱一组正序数字,Leetcode︱4.Median of Two Sorted Arrays寻找两个正序数组的中位数.java...

题目给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。示例 :输入:nums1 [1,3], nums2 [2]输出:2.00000解释:合并数组 [1,2,3] ,中位数 2说明:nums1.leng…

php中的oop思想,避免OOP的形式,POP的思想_PHP

避免OOP的形式,POP的思想_PHP避免OOP的形式,POP的思想好久没发技术性文章了,今天在21PHP里看到有位兄弟发了这贴子,转了过来.对加强OOP的学习有些用----------------------------------------------------------避免OOP的形式,POP的思想随着PHP对OOP(面向对象编程)支持的增强以…

吃PHP小孩智力好,这7种鱼千万不能给孩子吃,会影响孩子的智力!

所以,给宝宝添加鱼类时一定要注意,有7种鱼含有大量金属元素,是千万不能给宝宝吃的!1罗非鱼罗非鱼深青色的外表有几分像鲫鱼。由于罗非鱼的成长周期较长,它们体内汞的含量也就相比其他鱼偏高,小朋友吃罗非鱼…

java监控rabbitMq服务状态,spring cloud 的监控turbine-rabbitmq的示例

前提是你已经有了注册中心,然后搭建一个基础spring cloud 服务,并配置注册服务等等前提环境搭建接下来描述的服务提供者和服务调用者的配置都是一样的,来自《spring cloud 与 docker微服务架构实战》的读后的个人总结.pom文件中需要引入spring-cloud-starter-hystrix/spring-cl…

支付宝php40247,支付宝APP支付 显示 系统繁忙 请稍后再试 ALI40247

PHP服务端生成地址传给IOS端调用 一直显示系统繁忙 请稍后再试 ALI40247 密钥也正常 也按照官方说明来走。官方的PHP端SDK是错误的 根本不加密biz_content 字段随后百度找不到相关的资料 只有人说换成 1.0版本 也就是 移动支付移动支付相关文档 https://doc.open.alipay.com…

java jlabel构造方法,浅谈标签和JLabel类构造方法 原创

搜索热词标签有 JLabel 类定义,它的父类为 JComponet 类。标签可以显示一行只读文本、一个图像或带图像的文本。它并不能产生任何类型的事件,只能简单地展示图片和文本,但是可以使用标签的特性指定标签上文本的对齐方式。JLabel类提供了多种构…

php改变iframe的src,js动态改变iframe的src属性

今天在Chrome下显示如下的iframe,src设置为空,但打开页面时iframe一直处于刷新状态,看了下面的博文,觉得是不是默认不显示时src应该写成about:blank,明天回去测试下,回来更新结果写一个,src地址…

java弹球轨迹运动解说,动态弹球的实现 加入了多线程技术-javaSE游戏准备工作

动态弹球的实现 加入了多线程技术--javaSE游戏准备工作任务描述:实现了动态弹球的功能,对于有弹球功能的SE游戏奠定了基础。package 运用线程技术的小球;import java.awt.*;import java.awt.event.*;import java.awt.geom.*;//不清楚这个有什么用import java.util.*…

Java语言矩形与立方体的继承,沈阳师范大学大一下册C++语言PTA题目集以及答案(编程题篇)...

沈阳师范大学大一下册C语言PTA题目集以及答案(编程题篇)7-1 测试c (20分)倒序输出从控制台输入的n个整数输入格式:第一行输入一个数n,代表行数依次输入n个整数输出格式:将n个整数倒序输出输入样例:31 2 3输出样例:321#includeint main(){int n,i;std::cin>>i;…

php启动 大量sess文件,关于PHP中Session文件过多的问题

PHP的默认机制:每一次php请求,会有1/100的概率(默认值)触发“session回收”。如果“session回收”发生,那就会检查/tmp/sess_*的文件,如果最后的修改时间到现在超过了1440秒(gc_maxlifetime的值),就将其删除&#xff0…

MATLAB求图片两圆圆心,求助:如何求此图中两圆的圆心距?

对于你给出的图片,我根据之前提到的思路编写了以下程序。感觉还蛮准的。这个程序只能用于两圆相交的情况。当小圆在大圆内部时,需要在其中加以判定。仅供参考。clear;clcc imread(1.jpg);cc c;tic[m n] size(c);for i1:mindex find(~c(i,:));if leng…

php-fpm 启动拥有者,php-fpm 的各种启动方式

启动 php-fpm 最简单的操作:/usr/local/php/sbin/php-fpmphp 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,所以不要再看这种老掉牙的命令了,需要使用信号控制:maste…

java比较时间的先后utc时间,日期、时间与UTC

传统日期的局限人类在对时间的测定上存在一个进化的过程,最早通过观察天体的自转与公转来确定时间,比如地球自转一周为一天,月球公转一周为一月,地球公转一周为一年。我们先考虑天和年,他们之间就像数学一样存在一个粗…

php主题怎么增加导航页,教你如何给wordpress主题添加导航栏

烈火建站学院转载 不是所有的wordpress主题都自带导航栏的,我早就想自行添加一个。昨天的标题前有“GOOGLE是个好老师”这个句子,今早赶紧删了,倒不是不认同,而是觉得在添加导航栏这个事情上还真不是那么回事情。以前我就说过&…

python 画线条进行到指定区域更改颜色,使用Colormaps在matplotlib中设置线条的颜色...

线条样式,标记和定性颜色的组合,来自matplotlib:import itertoolsimport matplotlib as mplimport matplotlib.pyplot as pltN 8*410l_styles [-,--,-.,:]m_styles [,.,o,^,*]colormap mpl.cm.Dark2.colors # Qualitative colormapfor …

asp php 用户登录,一个简单的asp.net 单点登录实现

以下是实现的效果图:首先上图的点击火车订票链接,就会打开http://学生信息平台网站/LoginToTrainSite.asa页面。LoginToTrainSite.asa页面的大致代码如下:Response.Buffer TrueResponse.ExpiresAbsolute Now() - 1Response.Expires 0Respo…

ajax怎么发送数据给php,ajax怎么发送数据给php

在网上看了很久,发现数据的利用ajax提交数据到后台其实很简单,但是很多讲解的并不清楚,对于初学者来说,很多真的是看着有点糊涂,拿来直接用,又想去了解怎么回事,其实利用ajax提交数据到后台是非…

oracle10无法安装打开,64位win10添加oracle odbc驱动时提示无法加载oracle怎么办

对于win10 64位系统添加oracle odbc驱动时提示无法加载oracle的问题相信部分用户都应该有所了解了,但是对于如何解决这个问题的实际操作的用户来说可能不多,因此,为了帮助出现这种问题的用户,小编在这里就来教大家64位win10添加or…