hadoop初识

原创
2011/10/26 07:15
阅读数 322

introduce:Hadoop is a distributed computing platform.its primary consists of (主要由...构成)the HDFS(Hadoop Distributed FileSystem) and an implemention of the Map-Reduce programming paradigm(范例).

Hadoop features:

Scalable(扩展性极强):它能可靠的存储和处理 petabytes(PB)

Economical(经济的):它通过大量普通可用的计算机cluster来分布数据和处理.这些clusters可以达到上千个节点.

Efficient(高效的):Hadoop可以并行处理加载到这些节点上面的分布式的数据.这使得它相当快(速度).

Reliable(可靠的):Hadoop自动维护多份数据拷贝,自动重新部署失败的计算任务.

Requirements:

平台:Hadoop已在基于GNU/Linux平台上证实2000个节点的cluster.win32只是被作为一个开发平台支持,分布式操作还没有被很发的测试基于win32,因此它不是一个产品平台.

所需软件:

1.Java 1.6.x 最好来自于Sun.为root帐户设置Java_home ,java安装路径

2.ssh必须安装,sshd必须运行以使用Hadoop脚本来管理远程Hadoop daemons.

3.rsync 可以安装用来使用Hadoop命令来管理远程Hadoop安装.

windowns下所需软件:

cygwin:

安装所需软件:

如果您的平台没有以上所需软件,你将不得不先安装它们:

以Ubuntu Linux为例:

$sudo apt-get install ssh

$sudo apt-get install rsync

Getting startted:

首先,你需要一份Hadoop代码的拷贝.

编辑conf/hadoop-env.sh 最少得修改JAVA_HOME

然后运行下面的命令:

bin/hadoop

它将会展示Hadoop命令脚本的文档.

单机操作:

Hadoop默认配置为非分布式模式,只是作为一个单一的Java 程序.它对调试是很有用的,它可以按以下流程被展示:

mkdir input

cp conf/*.xml input

bin/hadoop jar hadoop-examples-*.jar grep input out 'dfs[a-z.]+'

cat output/*

注意这里输入和输出都作为一个包含文件的目录.

分布式部署:

为了配置Hadoop分布式操作,你必须按以下流程设置:

1.Namenode host(分布式文件系统主机).修改配置文件中的属性fs.default.name来指定它.

2.JobTracker(MapReduce主任务) host和port.修改属性mapred.job.tracker.

3.一个从属文件列出该集群中所有的主机名称.默认文件为conf/slaves.

Hadoop 0.20.205 core include packages :

org.apache.hadoop.conf:系统参数配置.

org.apache.hadoop.fs:一个抽象的文件系统API.

它下面还包括:ftp/kfs(Kosmos文件系统的一个客户端)/permission(权限)/s3(分布式基于块实现的Amazon S3文件系统的后备存储)/s3native(基于Amazon S3的一个分布式读写文件实现)/shell

org.apache.hadoop.http:

org.apache.hadoop.io:读写数据到网络,数据库和文件时使用的通用I/O代码定义.

它下面包括compress压缩,有bzip2,zlib等.retry(A mechanism for selectively retrying methods that throw exceptions under certain circumstances.)/serializer(该机制提供在hadoopk 使用不同的串行化框架)

org.apache.hadoop.ipc:帮助定义网络客户端和服务端的工具

org.apache.hadoop.jmx:该包通过JMXJsonServlet类访问JMX主类.

org.apache.hadoop.log:logging

org.apache.hadoop.mapred:一个容易编写处理大数据量数据(multi-terabyte data-sets)并行处理在普通硬件组成的大集群(thousands of nodes)以可靠,容错的方式.

org.apache.hadoop.mapred.jobcontrol:管理从属jobs的工具.

org.apache.hadoop.mapred.join:

org.apache.hadoop.mapred.lib

org.apache.hadoop.mapred.lib.aggregate

org.apache.hadoop.mapred.lib.db

org.apache.hadoop.mapred.pipes

org.apache.hadoop.mapred.tools

org.apache.hadoop.mapreduce

org.apache.hadoop.mapreduce.security:安全性

org.apache.hadoop.metrics:

org.apache.hadoop.net:网络相关的类

org.apache.hadoop.record

org.apache.hadoop.security:hadoop安全性相关类

org.apache.hadoop.util:hadoop的工具类.包括bloom布隆和hash哈希.

 

org.apache.hadoop.examples:hadoop例子,dancing/terasort两个具体例子.

先从大体上了解一个hadoop core的包结构.

 

 

 

 

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部