`

终于成功运行第一个Hadoop程序

阅读更多

 

之前一直只在Windows上玩 为了Hadoop 只好迁移到Ubuntu上~

 



 

记录一下自己的历程:

 

1. Windows上安装Ubuntu

 

方法就是通过wubi安装,全自动化,非常傻瓜,太适合我这种linux小白了!

 

wubi可以直接在官网下载,当时我不知道,使用的还是从iso之中解压出来的程序 哈哈

 

下载地址:http://www.ubuntu.com/download/desktop/windows-installer

 

自己选择合适的来用啊

 

 

 

 

2. 进行各种配置,包括: JDK Hadoop, 当然也包括安装一个拼音输入法。。。。

 

JDK以及配置Hadoop的方法,完全参考的:http://os.51cto.com/art/201211/364167.htm

 Note: 跟着上面的步骤走下来我才知道,这个实际上是伪分布式~

 

3. 开始跑一个例子程序吧~

hadoop自带的例子程序 就在解压出来的hadoop文件夹之中,但是一开始一直遇到一个很奇怪的问题:报错如下:

 

13/07/06 20:10:59 ERROR security.UserGroupInformation: PriviledgedActionException as:hadoop cause:org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://localhost:9000/usr/local/hadoop/input

org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://localhost:9000/usr/local/hadoop/input

at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus(FileInputFormat.java:235)

at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits(FileInputFormat.java:252)

at org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:1054)

at org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:1071)

at org.apache.hadoop.mapred.JobClient.access$700(JobClient.java:179)

at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:983)

at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:936)

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

at javax.security.auth.Subject.doAs(Subject.java:415)

at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)

at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:936)

at org.apache.hadoop.mapreduce.Job.submit(Job.java:550)

at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:580)

at org.apache.hadoop.examples.WordCount.main(WordCount.java:82)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68)

at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139)

at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:64)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.apache.hadoop.util.RunJar.main(RunJar.java:160)

 

在各种google之后才知道,hdfs里面还没有把input这个文件夹加上去

 

敲入命令:

 

hadoop@ubuntu:/usr/local/hadoop$ bin/hadoop dfs -put input input

 

这样之后,通过dfs-ls命令终于能找到input文件夹:

 

hadoop@ubuntu:/usr/local/hadoop$ bin/hadoop dfs -ls

Found 1 items

drwxr-xr-x - hadoop supergroup 0 2013-07-06 20:12 /user/hadoop/input

 

 

 

这个时候再次执行运行例子程序的命令,就没有之前遇到的异常:

 

Input path does not exist: hdfs://localhost:9000/usr/local/hadoop/input

 

最后正确执行的log如下:

 

hadoop@ubuntu:/usr/local/hadoop$ bin/hadoop jar hadoop-examples-1.2.0.jar wordcount input wc_output2

13/07/06 20:12:39 INFO input.FileInputFormat: Total input paths to process : 1

13/07/06 20:12:39 INFO util.NativeCodeLoader: Loaded the native-hadoop library

13/07/06 20:12:39 WARN snappy.LoadSnappy: Snappy native library not loaded

13/07/06 20:12:40 INFO mapred.JobClient: Running job: job_201307061937_0006

13/07/06 20:12:41 INFO mapred.JobClient: map 0% reduce 0%

13/07/06 20:12:46 INFO mapred.JobClient: map 100% reduce 0%

13/07/06 20:12:53 INFO mapred.JobClient: map 100% reduce 33%

13/07/06 20:12:55 INFO mapred.JobClient: map 100% reduce 100%

13/07/06 20:12:55 INFO mapred.JobClient: Job complete: job_201307061937_0006

13/07/06 20:12:56 INFO mapred.JobClient: Counters: 29

13/07/06 20:12:56 INFO mapred.JobClient: Job Counters

13/07/06 20:12:56 INFO mapred.JobClient: Launched reduce tasks=1

13/07/06 20:12:56 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=4785

13/07/06 20:12:56 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=0

13/07/06 20:12:56 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=0

13/07/06 20:12:56 INFO mapred.JobClient: Launched map tasks=1

13/07/06 20:12:56 INFO mapred.JobClient: Data-local map tasks=1

13/07/06 20:12:56 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=8917

13/07/06 20:12:56 INFO mapred.JobClient: File Output Format Counters

13/07/06 20:12:56 INFO mapred.JobClient: Bytes Written=24591

13/07/06 20:12:56 INFO mapred.JobClient: FileSystemCounters

13/07/06 20:12:56 INFO mapred.JobClient: FILE_BYTES_READ=34471

13/07/06 20:12:56 INFO mapred.JobClient: HDFS_BYTES_READ=46619

13/07/06 20:12:56 INFO mapred.JobClient: FILE_BYTES_WRITTEN=180119

13/07/06 20:12:56 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=24591

13/07/06 20:12:56 INFO mapred.JobClient: File Input Format Counters

13/07/06 20:12:56 INFO mapred.JobClient: Bytes Read=46510

13/07/06 20:12:56 INFO mapred.JobClient: Map-Reduce Framework

13/07/06 20:12:56 INFO mapred.JobClient: Map output materialized bytes=34471

13/07/06 20:12:56 INFO mapred.JobClient: Map input records=561

13/07/06 20:12:56 INFO mapred.JobClient: Reduce shuffle bytes=34471

13/07/06 20:12:56 INFO mapred.JobClient: Spilled Records=4992

13/07/06 20:12:56 INFO mapred.JobClient: Map output bytes=77170

13/07/06 20:12:56 INFO mapred.JobClient: Total committed heap usage (bytes)=219152384

13/07/06 20:12:56 INFO mapred.JobClient: CPU time spent (ms)=2450

13/07/06 20:12:56 INFO mapred.JobClient: Combine input records=7804

13/07/06 20:12:56 INFO mapred.JobClient: SPLIT_RAW_BYTES=109

13/07/06 20:12:56 INFO mapred.JobClient: Reduce input records=2496

13/07/06 20:12:56 INFO mapred.JobClient: Reduce input groups=2496

13/07/06 20:12:56 INFO mapred.JobClient: Combine output records=2496

13/07/06 20:12:56 INFO mapred.JobClient: Physical memory (bytes) snapshot=280190976

13/07/06 20:12:56 INFO mapred.JobClient: Reduce output records=2496

13/07/06 20:12:56 INFO mapred.JobClient: Virtual memory (bytes) snapshot=2009939968

13/07/06 20:12:56 INFO mapred.JobClient: Map output records=7804

 

 

 

 

 

最后,查看运行完成之后的结果:

 

bin/hadoop dfs -cat wc_output2/* | more

 

 

 

备注:

 

几个GUI管理网址:[目前我知道的]

 

http://localhost:50070/dfshealth.jsp 

 

http://localhost:50030/jobtracker.jsp

 

 

0
1
分享到:
评论

相关推荐

    Hadoop的单机伪分布式搭建和运行第一个WordCount程序

    Hadoop单机伪分布式搭建和运行第一个WordCount程序 Hadoop是Apache基金会下的一个开源的大数据处理框架,它广泛应用于数据处理、数据分析和机器学习等领域。下面是关于Hadoop单机伪分布式搭建和运行第一个WordCount...

    Hadoop学习全程记录-在Eclipse中运行第一个MapReduce程序.docx

    在本文中,我们将深入探讨如何在Eclipse环境中编写并运行你的第一个MapReduce程序,这是一个针对Hadoop初学者的教程。Hadoop是一个开源框架,用于处理和存储大量数据,而MapReduce是Hadoop的核心计算模型,它将...

    Hadoop_windows运行解决办法

    通过以上步骤,你就可以在Windows环境下使用Eclipse开发和运行Hadoop应用程序了。请记住,尽管Windows支持Hadoop,但在生产环境中通常推荐使用Linux,因为Linux与Hadoop有更好的兼容性和性能。在学习和实验过程中,...

    动手实验 Oracle Hadoop装载程序

    Oracle Hadoop装载程序是一个用于将Hadoop上的数据文件装载到Oracle数据库中的工具,它允许用户通过简单配置和执行,实现大数据到传统关系型数据库的迁移和处理。Oracle Hadoop装载程序可以处理多种格式的数据文件,...

    安装hadoop_配置hadoop的运行环境视频

    9. **测试Hadoop**:可以通过上传文件到HDFS并运行简单的MapReduce程序来验证安装是否成功。 这个视频教程可能详细讲解了上述步骤,包括可能出现的问题及解决方案。学习过程中,注意每个步骤的细节,理解配置文件中...

    Hadoop权威指南 第二版(中文版)

    Hadoop的I/O、MapReduce应用程序开发;MapReduce的工作机制;MapReduce的类型和格式;MapReduce的特性;如何构建Hadoop集群,如何管理Hadoop;Pig简介;Hbase简介;Hive简介;ZooKeeper简介;开源工具Sqoop,最后还...

    hadoop本地运行所需winutils.exe文件

    确保正确安装和配置winutils.exe以及相关的环境变量,是成功在Windows上运行Hadoop的第一步。对于初次接触Hadoop的开发者,这可能会带来一些挑战,但通过阅读文档和社区资源,可以克服这些困难,享受到Hadoop带来的...

    大数据课程-Hadoop集群程序设计与开发-5.Yarn资源调度器_lk_edit.pptx

    3. **ApplicationMaster (AM)**:每个应用程序都有一个AM,负责申请资源,分配给内部任务,同时监控任务状态,进行容错处理。Container是Yarn中的资源抽象,包含了如内存、CPU、磁盘和网络等资源。 4. **Container*...

    hadoop eclips 的插件 和实例程序

    Hadoop是大数据处理领域的重要工具,它提供了一个分布式文件系统(HDFS)和MapReduce计算框架,使得在大规模数据集上进行并行处理成为可能。Eclipse是一款流行的Java集成开发环境(IDE),对于Hadoop开发者来说,...

    Hadoop实现大矩阵乘法

    大矩阵乘法的基本概念是两个矩阵A(m×n)和B(n×p)相乘得到一个新的矩阵C(m×p),其中C的每个元素ci,j是通过将A的第i行与B的第j列对应元素相乘并求和得出的。对于非常大的矩阵,传统的单机计算方法会面临内存和计算...

    Hadoop第一次培训材料

    【Hadoop第一次培训材料】是针对初学者设计的一份详细教程,旨在介绍分布式计算框架Hadoop的核心概念和技术。Hadoop是Apache软件基金会开发的一个开源项目,它为处理和存储大量数据提供了可扩展的、可靠的解决方案。...

    hadoop-demo

    至于文件名"hadoopSecond",这可能是一个目录或文件,表示这是第二个Hadoop相关的练习或者项目,可能是在前一个示例的基础上进行了更深入的学习和实践,例如,可能涉及更复杂的数据处理逻辑,或者引入了Hadoop生态...

    新版Hadoop视频教程 段海涛老师Hadoop八天完全攻克Hadoop视频教程 Hadoop开发

    第一天 hadoop的基本概念 伪分布式hadoop集群安装 hdfs mapreduce 演示 01-hadoop职位需求状况.avi 02-hadoop课程安排.avi 03-hadoop应用场景.avi 04-hadoop对海量数据处理的解决思路.avi 05-hadoop版本选择和...

    hadoop权威指南英文第四版Hadoop_ The Definitive Guide, 4th Edition

    HBase是一个分布式的、面向列的NoSQL数据库,适用于需要随机实时读/写访问大规模非关系型数据的应用程序。ZooKeeper是一个分布式协调服务,提供了配置维护、命名服务、分布式同步和群组服务等基础服务。Oozie是用于...

    hadoop权威指南第三版完整版

    - **ZooKeeper**:一种分布式的协调服务,用于分布式应用程序之间的同步,比如配置维护、域名服务、分布式同步等。 - **Sqoop**:用于在Hadoop和关系型数据库之间高效传输数据的工具。 - **Flume**:一个高可靠、高...

    eclipse连接hadoop所需要的hadoop.ddl和eclipse插件和hadoop运行案例

    1. 下载插件:可以在Apache Hadoop官方网站或者其他第三方网站找到适合Eclipse版本的Hadoop插件。 2. 安装插件:将下载的插件文件(通常为`.zip`或`.jar`格式)导入Eclipse,通过“Help” > “Install New Software...

    Hadoop权威指南(第2版).pdf

    - Hadoop MapReduce:一个Java软件框架,用于编写应用程序,以并行方式处理大数据集。 - Hadoop Ozone:为Hadoop提供一个通用的、可扩展的和高可用的存储平台。 Hadoop的使用场景非常广泛,包括但不限于: - 网络...

    Hadoop权威指南中文版第一版

    - **Pig**:一种高层数据流语言及其执行框架,简化了Hadoop MapReduce程序的编写过程。 - **HBase**:基于HDFS的分布式列式存储数据库,支持实时读写和随机访问。 - **ZooKeeper**:提供一个高性能的协调服务,用于...

    细细品味Hadoop_Hadoop集群(第5期)_Hadoop安装配置

    1. 安装Java开发工具包(JDK),因为Hadoop依赖Java运行。 2. 设置环境变量,如JAVA_HOME,确保Hadoop能找到Java环境。 3. 下载Hadoop二进制包,并解压到适当目录。 4. 配置Hadoop的配置文件,如hdfs-site.xml(HDFS...

Global site tag (gtag.js) - Google Analytics