- 浏览: 588558 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
maleking:
太感谢了。新手搭建hadoop集群环境,dat ...
启动hadoop后没有datanodes的问题 -
system_mush:
NoClassDefFoundError: com/google/common/collect/Maps -
di1984HIT:
呵呵,我学习一下。
Katta源码分析 -
di1984HIT:
呵呵, 不管怎么说,挺好的。
zookeeper3.3学习笔记2:配置参数介绍 -
zoezhang:
谢谢了,可以解决
maven2报cannot be cast to javax.servlet.Filter错误解决
为了水平扩展命名服务的规模,federation 使用多个Namenode和命名空间代替过去的单个Namenode的模式。多个Namenode被联合在一起提供服务,但是每个Namenode又是独立的,且每个Namenode不需要与其他Namenode协调工作。而Datenode的存储方式还是和过去一样使用块来存储,但每个Datenode需要注册到集群中所有的Namenode上。Datanode周期性的发布心跳、块操作的报告和从Namenode发送来的操作命令的响应。
背景
HDFS包括两个层次:
1.Namespace
包括目录、文件和blocks
HDFS支持所有与namespace相关的操作,包括增删查改,列出文件和目录等操作。
2.块(block)存储,也包括两个方面
块的管理(哪些已经在namenode上记录了)
HDFS通过注册和心跳机制为hadoop提供一个datanode群组
处理从datanode上传的块报告,并维护本地的块信息
提供针对块的操作,例如增删查改和定位一个块的位置。
管理备份的布局,拷贝要备份的块,删除已经备份的块。
存储 - 由datanode提供用来存储块在每个datanode本地文件系统,并且控制读和写的访问权限。
目前的HDFS架构只支持一个集群一个namenode,一个单独的namenode管理namespace。HDFS Federation 对现有架构进行修改,一个HDFS系统支持多个namenode。
HDFS Federation
Block Pool
一个block pool 是属于一个单独namespace的块的集合。集群中所有Datanode为每个block pool存储所有块。block pool相对于其他block pool来说是独立存在的,相互之间没有影响。这样就允许一个namespace为新生成的块创建Block ID而不需要与其他namespace沟通协调。一个namenode挂掉并不会影响集群中datanode为其他namenode提供服务。
一个namespace和它管理的block pool合称为Namespace Volume。它是一个自给自足的独立系统。当一个Namenode/namespace被删除,在集群全部datanode上与之相关的block pool 将被一起删除。在集群升级的时候每个namespace volume 可以单独的升级。
ClusterID
一个新的标示符ClusterID 被创建,用来识别集群中的每个节点。当一个namenode被格式化,可以手工提供或自动创建一个ClusterID。这个ID可能在集群中其他namenode格式化的时候被用到。
核心利益
- Namespace 扩展性 - HDFS集群存储可以水平的扩展,但是namespace不行。通过增加在集群中的namenode数量来扩展namespace有利于大量的调度任务或者调度大量的小文件。
- 性能 - 文件系统的吞吐量普遍收到单个namenode的制约。为集群增加namenode增加了文件系统的读写操作的吞吐量。
- 隔离性 - 单namenode在多用户环境中没有隔离性可言。一个实验性的项目可以使namenode满负荷运行,从而降低生产环境下得项目的速度。使用多namenode后,不同类别的用户和项目通过不同的namespace被隔离。
Namenode | dfs.namenode.rpc-address dfs.namenode.servicerpc-address dfs.namenode.http-address dfs.namenode.https-address dfs.namenode.keytab.filedfs.namenode.name.dir dfs.namenode.edits.dir dfs.namenode.checkpoint.dir dfs.namenode.checkpoint.edits.dir |
Secondary Namenode | dfs.namenode.secondary.http-address dfs.secondary.namenode.keytab.file |
BackupNode | dfs.namenode.backup.address dfs.secondary.namenode.keytab.file |
<configuration> <property> <name>dfs.federation.nameservices</name> <value>ns1,ns2</value> </property> <property> <name>dfs.namenode.rpc-address.ns1</name> <value>hdfs://nn-host1:rpc-port</value> </property> <property> <name>dfs.namenode.http-address.ns1</name> <value>nn-host1:http-port</value> </property> <property> <name>dfs.namenode.secondaryhttp-address.ns1</name> <value>snn-host1:http-port</value> </property> <property> <name>dfs.namenode.rpc-address.ns2</name> <value>hdfs://nn-host2:rpc-port</value> </property> <property> <name>dfs.namenode.http-address.ns2</name> <value>nn-host2:http-port</value> </property> <property> <name>dfs.namenode.secondaryhttp-address.ns2</name> <value>snn-host2:http-port</value> </property> .... Other common configuration ... </configuration>
> $HADOOP_PREFIX_HOME/bin/hdfs namenode -format [-clusterId <cluster_id>]
> $HADOOP_PREFIX_HOME/bin/hdfs namenode -format -clusterId <cluster_id>
> $HADOOP_PREFIX_HOME/bin/hdfs start namenode --config $HADOOP_CONF_DIR -upgrade -clusterId <cluster_ID>
> $HADOOP_PREFIX_HOME/bin/hdfs dfadmin -refreshNameNode <datanode_host_name>:<datanode_rpc_port>
> $HADOOP_PREFIX_HOME/bin/start-dfs.sh
> $HADOOP_PREFIX_HOME/bin/stop-dfs.sh
Balancer
Balancer 已经发生了改变去适应多namenode的架构来均衡集群数据。Balancer 可以使用如下命令启动:"$HADOOP_PREFIX"/bin/hadoop-daemon.sh --config $HADOOP_CONF_DIR --script "$bin"/hdfs start balancer [-policy <policy>]
- node - 这是默认策略。均衡器会在datanode层面来均衡数据。这和之前版本的均衡策略很类似。
- blockpool - 在block pool层次来均衡存储。在blockpool 层次均衡存储和在datanode层面均衡存储都要做。
Decommissioning
"$HADOOP_PREFIX"/bin/distributed-exclude.sh <exclude_file>
"$HADOOP_PREFIX"/bin/refresh-namenodes.sh
- 集群概要:文件数,块数,整个存储容量,集群中可用和已用的存储空间。
- 列出所有namenode和它们包含的文件数、块数、丢失的块数,每个namenode包含的正常和挂掉的datanode数量。还提供一个链接快速的访问到每个namenode节点。
- 也提供被卸载的datanode的状态
发表评论
-
apache hadoop 2
2012-06-14 00:54 1179apache hadoop 2.x 是在1.x版本上做了重 ... -
hadoop乱码
2011-12-12 14:36 2059文件存入hadoop出现乱码,尤其是在windows下的c ... -
Partitioner, SortComparator and GroupingComparator in Hadoop
2011-12-12 14:15 1361hadoop 0.20.2 api里面,作业被重新定义 ... -
HDFS Federation设计动机与基本原理
2011-12-06 10:50 1301HDFS Federation是Hadoop最新发布版本H ... -
Apache Hadoop 0.23 MapReduce 2.0 (MRv2 or YARN) 介绍
2011-12-05 15:27 2736MapReduce 在hadoop 0.23版本中经历了一次大 ... -
读hadoop0.23源码(1):Job
2011-11-23 10:47 1246每次配置job的时候,最后一步总是 System.ex ... -
MapReduce名词解释
2011-11-08 10:23 1504在网上收集了一些mapreduce中常用的一些名词的解释, ... -
hadoop问题汇总
2011-11-02 09:39 11221.系统时钟。zookeeper会根据系统时钟判断两台机器多久 ... -
进程间通信IPC、LPC、RPC
2011-09-06 11:20 1002进程间通信(IPC,I ... -
hadoop的一个恶心错误
2011-09-02 10:17 935今早机器被网管重启了,启动hadoop发现节点都启动不了 s ... -
Hadoop的配置类 Configuration
2011-08-04 14:11 1982Hadoop的配置类是由资源指定 ... -
hadoop错误:"failed to report status for 600 seconds"
2011-07-19 14:39 2711<property> <name ... -
hadoop/mapred 优化方法
2011-07-14 08:30 1178从三个方面着手优化 : 1. hadoop配置 2. ... -
Hadoop传递参数的方法总结
2011-07-07 14:39 3226写MapReduce程序通常要传递各种各样的参数,选择合 ... -
hadoop hdfs的一些用法
2011-07-04 09:25 1472Example 3-1. Displaying files f ... -
Changes of Hadoop 0.20笔记
2011-07-01 13:21 1129最近学习hadoop 0.20.1,网上找到一篇文章《Wh ... -
hadoop0.18.3 到 0.20.2
2011-07-01 13:10 1814以前用的是0.18.3,现在改用0.20.2,結果发现ma ... -
自定义hadoop map/reduce输入文件切割InputFormat
2011-07-01 11:17 2501hadoop会 ... -
Hadoop开发常用的InputFormat和OutputFormat
2011-07-01 11:02 1527Hadoop中的Map Reduce框架依赖InputFo ... -
hadoop inputformat
2011-07-01 10:09 2332作业的输入 InputFormat 为Map/Red ...
相关推荐
第二代Hadoop则包括0.23.x和2.x,这两个版本带来了全新的架构,主要特点是HDFS Federation和YARN。 Hadoop版本间的差异主要体现在以下几个关键特性: 1. **Append支持**:在Hadoop的某些版本中,文件追加功能...
这两个版本相对于Hadoop 1.0,采用了一套全新的架构,包括HDFS Federation和YARN两个系统。2.x版本相较于0.23.x版本增加了NameNode HA(高可用性)和Wire-compatibility(线程兼容性)等特性。 Hadoop遵从Apache...
Hadoop 2.0(基于0.23.x和2.x系列)是Hadoop的重大变革,引入了两个核心特性:YARN和HDFS Federation。YARN,全称"Yet Another Resource Negotiator",是一个通用资源管理系统,替代了原来的MapReduce v1(MRv1),...
Apache Hadoop经历了多次版本迭代,从最初的Hadoop 1.0(0.20.x,0.21.x,0.22.x)到Hadoop 2.0(0.23.x,2.x),引入了如HDFS Federation、YARN、NameNode HA等重要改进,增强了系统的可扩展性和稳定性。...
这些版本相比1.0进行了重大重构,引入了HDFS Federation和YARN等新特性,其中2.x还增加了NameNode HA和Wire-compatibility等重要功能。 - **社区与商业发行版**:Hadoop遵循Apache开源许可,允许用户自由使用和修改...
第二代版本(Hadoop 2.0)包含两个版本,即0.23.x和2.x,其采用了全新的架构,引入了HDFS Federation(HDFS联邦)和YARN(Yet Another Resource Negotiator)两大系统。2.x版本相较于0.23.x新增了NameNode高可用(HA...
- HDFSFederation 和 YARN。 - **新特性**: 2.x 版本新增了 NameNodeHA 和 Wire-compatibility。 #### 4. Hadoop 安装方式 - **单机模式**: - **特点**: 安装简单,无需额外配置。 - **用途**: 仅限于调试。 - ...