两种模式运行Hadoop分布式并行程序

开发 架构 分布式 Hadoop
Hadoop可能大家还不是很了解,这里就向大家简单介绍一下Hadoop的概念以及Hadoop分布式并行程序方面的知识,欢迎大家一起来学习,希望本文的介绍对你的学习有所帮助。

本节和大家一起学习一下Hadoop方面的知识,主要包括Hadoop的概念和两种模式实现Hadoop分布式并行程序等,希望通过本节的介绍大家对Hadoop有新的认识。

Hadoop初体验

Hadoop支持Linux及Windows操作系统,但其官方网站声明Hadoop的分布式操作在Windows上未做严格测试,建议只把Windows作为Hadoop的开发平台。在Windows环境上的安装步骤如下(Linux平台类似,且更简单一些):

(1)在Windows下,需要先安装Cgywin,安装Cgywin时注意一定要选择安装openssh(在Netcategory)。安装完成之后,把Cgywin的安装目录如c:\cygwin\bin加到系统环境变量PATH中,这是因为运行Hadoop要执行一些linux环境下的脚本和命令。

(2)安装Java1.5.x,并将JAVA_HOME环境变量设置为Java的安装根目录如C:\ProgramFiles\Java\jdk1.5.0_01。

(3)到Hadoop官方网站http://hadoop.apache.org下载HadoopCore,最新的稳定版本是0.16.0.将下载后的安装包解压到一个目录,本文假定解压到c:\hadoop-0.16.0。

4)修改conf/hadoop-env.sh文件,在其中设置JAVA_HOME环境变量:exportJAVA_HOME="C:\ProgramFiles\Java\jdk1.5.0_01”(因为路径中ProgramFiles中间有空格,一定要用双引号将路径引起来)

至此,一切就绪,可以运行Hadoop了。以下的运行过程,需要启动cygwin,进入模拟Linux环境。在下载的HadoopCore包中,带有几个示例程序并且已经打包成了hadoop-0.16.0-examples.jar。其中有一个WordCount程序,功能是统计一批文本文件中各个单词出现的次数,我们先来看看怎么运行这个程序。Hadoop共有三种运行模式:单机(非分布式)模式,伪分布式运行模式,分布式运行模式,其中前两种运行模式体现不了Hadoop分布式计算的优势,并没有什么实际意义,但对程序的测试及调试很有帮助,我们先从这两种模式入手,了解基于Hadoop的分布式并行程序是如何编写和运行的。

单机(非分布式)模式

这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统。

注意事项:运行bin/hadoopjarhadoop-0.16.0-examples.jarwordcounttest-intest-out时,务必注意第一个参数是jar,不是-jar,当你用-jar时,不会告诉你是参数错了,报告出来的错误信息是:Exceptioninthread"main"java.lang.NoClassDefFoundError:org/apache/hadoop/util/ProgramDriver,笔者当时以为是classpath的设置问题,浪费了不少时间。通过分析bin/hadoop脚本可知,-jar并不是bin/hadoop脚本定义的参数,此脚本会把-jar作为Java的参数,Java的-jar参数表示执行一个Jar文件(这个Jar文件必须是一个可执行的Jar,即在MANIFEST中定义了主类),此时外部定义的classpath是不起作用的,因而会抛出java.lang.NoClassDefFoundError异常。而jar是bin/hadoop脚本定义的参数,会调用Hadoop自己的一个工具类RunJar,这个工具类也能够执行一个Jar文件,并且外部定义的classpath有效。

伪分布式运行模式

这种模式也是在一台单机上运行,但用不同的Java进程模仿分布式运行中的各类结点(NameNode,DataNode,JobTracker,TaskTracker,SecondaryNameNode),请注意分布式运行中的这几个结点的区别:从分布式存储的角度来说,集群中的结点由一个NameNode和若干个DataNode组成,另有一个SecondaryNameNode作为NameNode的备份。从分布式应用的角度来说,集群中的结点由一个JobTracker和若干个TaskTracker组成,JobTracker负责任务的调度,TaskTracker负责并行执行任务。TaskTracker必须运行在DataNode上,这样便于数据的本地计算。JobTracker和NameNode则无须在同一台机器上。
 

【编辑推荐】

  1. Hadoop机架感知及启动停止方法详解
  2. Hadoop概念及其用法专家讲解
  3. Hadoop集群与Hadoop性能优化
  4. HadoopHBase实现配置简单的单机环境
  5. Hadoop命令手册使用指南

 

 

 

责任编辑:佚名 来源: csdn.net
相关推荐

2018-08-02 09:13:34

分离式超融合存储

2014-05-21 11:00:55

Windows Azu分布式部署

2010-06-03 18:54:57

Hadoop

2023-10-26 18:10:43

分布式并行技术系统

2011-02-23 12:49:31

KonquerorEmbedded

2010-06-02 15:29:06

SVN版本控制

2023-06-18 12:21:42

分布式系统模式架构设计

2023-11-01 20:10:53

分布式并行技术

2020-03-12 10:06:32

Redis分布式锁两种

2012-09-19 14:09:20

Hadoop开源

2011-11-17 10:34:44

并行程序

2013-05-27 14:31:34

Hadoop 2.0

2014-07-15 11:15:44

hadoop分布式部署

2019-09-26 15:43:52

Hadoop集群防火墙

2017-08-10 10:17:32

Hadoop分布式搭建

2021-06-01 05:51:37

云计算并行计算分布式计算

2017-07-02 05:45:50

分布式对抗网络模型

2009-06-29 18:11:40

JSP设计模式

2024-06-06 08:32:52

.NET框架代码

2010-06-04 18:45:43

Hadoop分布式文件
点赞
收藏

51CTO技术栈公众号