之前一直只在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
相关推荐
Hadoop单机伪分布式搭建和运行第一个WordCount程序 Hadoop是Apache基金会下的一个开源的大数据处理框架,它广泛应用于数据处理、数据分析和机器学习等领域。下面是关于Hadoop单机伪分布式搭建和运行第一个WordCount...
在本文中,我们将深入探讨如何在Eclipse环境中编写并运行你的第一个MapReduce程序,这是一个针对Hadoop初学者的教程。Hadoop是一个开源框架,用于处理和存储大量数据,而MapReduce是Hadoop的核心计算模型,它将...
通过以上步骤,你就可以在Windows环境下使用Eclipse开发和运行Hadoop应用程序了。请记住,尽管Windows支持Hadoop,但在生产环境中通常推荐使用Linux,因为Linux与Hadoop有更好的兼容性和性能。在学习和实验过程中,...
Oracle Hadoop装载程序是一个用于将Hadoop上的数据文件装载到Oracle数据库中的工具,它允许用户通过简单配置和执行,实现大数据到传统关系型数据库的迁移和处理。Oracle Hadoop装载程序可以处理多种格式的数据文件,...
9. **测试Hadoop**:可以通过上传文件到HDFS并运行简单的MapReduce程序来验证安装是否成功。 这个视频教程可能详细讲解了上述步骤,包括可能出现的问题及解决方案。学习过程中,注意每个步骤的细节,理解配置文件中...
Hadoop的I/O、MapReduce应用程序开发;MapReduce的工作机制;MapReduce的类型和格式;MapReduce的特性;如何构建Hadoop集群,如何管理Hadoop;Pig简介;Hbase简介;Hive简介;ZooKeeper简介;开源工具Sqoop,最后还...
确保正确安装和配置winutils.exe以及相关的环境变量,是成功在Windows上运行Hadoop的第一步。对于初次接触Hadoop的开发者,这可能会带来一些挑战,但通过阅读文档和社区资源,可以克服这些困难,享受到Hadoop带来的...
3. **ApplicationMaster (AM)**:每个应用程序都有一个AM,负责申请资源,分配给内部任务,同时监控任务状态,进行容错处理。Container是Yarn中的资源抽象,包含了如内存、CPU、磁盘和网络等资源。 4. **Container*...
Hadoop是大数据处理领域的重要工具,它提供了一个分布式文件系统(HDFS)和MapReduce计算框架,使得在大规模数据集上进行并行处理成为可能。Eclipse是一款流行的Java集成开发环境(IDE),对于Hadoop开发者来说,...
大矩阵乘法的基本概念是两个矩阵A(m×n)和B(n×p)相乘得到一个新的矩阵C(m×p),其中C的每个元素ci,j是通过将A的第i行与B的第j列对应元素相乘并求和得出的。对于非常大的矩阵,传统的单机计算方法会面临内存和计算...
【Hadoop第一次培训材料】是针对初学者设计的一份详细教程,旨在介绍分布式计算框架Hadoop的核心概念和技术。Hadoop是Apache软件基金会开发的一个开源项目,它为处理和存储大量数据提供了可扩展的、可靠的解决方案。...
至于文件名"hadoopSecond",这可能是一个目录或文件,表示这是第二个Hadoop相关的练习或者项目,可能是在前一个示例的基础上进行了更深入的学习和实践,例如,可能涉及更复杂的数据处理逻辑,或者引入了Hadoop生态...
第一天 hadoop的基本概念 伪分布式hadoop集群安装 hdfs mapreduce 演示 01-hadoop职位需求状况.avi 02-hadoop课程安排.avi 03-hadoop应用场景.avi 04-hadoop对海量数据处理的解决思路.avi 05-hadoop版本选择和...
HBase是一个分布式的、面向列的NoSQL数据库,适用于需要随机实时读/写访问大规模非关系型数据的应用程序。ZooKeeper是一个分布式协调服务,提供了配置维护、命名服务、分布式同步和群组服务等基础服务。Oozie是用于...
- **ZooKeeper**:一种分布式的协调服务,用于分布式应用程序之间的同步,比如配置维护、域名服务、分布式同步等。 - **Sqoop**:用于在Hadoop和关系型数据库之间高效传输数据的工具。 - **Flume**:一个高可靠、高...
1. 下载插件:可以在Apache Hadoop官方网站或者其他第三方网站找到适合Eclipse版本的Hadoop插件。 2. 安装插件:将下载的插件文件(通常为`.zip`或`.jar`格式)导入Eclipse,通过“Help” > “Install New Software...
- Hadoop MapReduce:一个Java软件框架,用于编写应用程序,以并行方式处理大数据集。 - Hadoop Ozone:为Hadoop提供一个通用的、可扩展的和高可用的存储平台。 Hadoop的使用场景非常广泛,包括但不限于: - 网络...
- **Pig**:一种高层数据流语言及其执行框架,简化了Hadoop MapReduce程序的编写过程。 - **HBase**:基于HDFS的分布式列式存储数据库,支持实时读写和随机访问。 - **ZooKeeper**:提供一个高性能的协调服务,用于...
1. 安装Java开发工具包(JDK),因为Hadoop依赖Java运行。 2. 设置环境变量,如JAVA_HOME,确保Hadoop能找到Java环境。 3. 下载Hadoop二进制包,并解压到适当目录。 4. 配置Hadoop的配置文件,如hdfs-site.xml(HDFS...