日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hadoop 运行java类_hadoop运行java类

發布時間:2024/9/27 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

總結

以上是生活随笔為你收集整理的hadoop 运行java类_hadoop运行java类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。