继6月份推出CDH4后,Cloudera于本月推出了CDH4.1版(注:Cloudera每年会推出一个新的CDH版本,并且大约每隔3个月会对当前的CDH作一次更新)。除了常规的补丁和性能改善,这一更新包含了关于HDFS和安全性方面的几个特性,值得关注一下。
- Quorum-based Storage HA
在CDH4提供的HDFS HA实现机制里,一对Name Node共享NFS目录。现在CDH4.1则添加了基于一组Quorum存储并使用一种叫作Quorum Journal Manager(QJM)的新机制。在这种新机制里,两个Name Node 和一组JournalNode daemon进行通信(奇数个,通常为3,5或7等)。在任何时候,只有Active NameNode能将文件系统的操作记录到这组JournalNodes中的大多数中;Standby NameNode则只能读取。和共享NFS目录这种被动的纯存储机制相比, JournalNodes能够防止接受多个NameNode同时对其写操作(所以 “fencing”这一步骤不是必须的)。不过,采用该机制实现HA的集群就变成了必须依赖于JournalNode Quorum才能正常工作。在这一点上,和HBase对Zookeeper的依赖有点类似。如果NameNode无法获取JournalNode Quorum,HDFS则会无法格式化或无法启动,会提示如下错误信息:
10/21/12 01:01:01 WARN namenode.FSEditLog: Unable to determine input streams from QJM to [10.0.1.10:8485, 10.0.1.10:8486, 10.0.1.10:8487]. Skipping. java.io.IOException: Timed out waiting 20000ms for a quorum of nodes to respond.
不过,这些JournalNode的负载不大,建议是可以运行在Master daemon的机器上。
在配置方面,除了常规HA外,需要指定JournalNode Quorum和JournalNode用于存储的目录位置。这两者分别通过“dfs.namenode.shared.edits.dir”和“dfs.journalnode.edits.dir”来指定。
- Data Encryption
在安全性方面,CDH4.1加入了支持对 MRv1/MRv2 的Shuffle数据和Web UIs进行加密,以及对所有通过网络传输的HDFS数据进行加密。
以下是最新CDH4.1.1包含的组件信息。更多相关信息(譬如Pig方面,添加了对LinkedIn开源的Pig UDF库DataFu的支持。DataFu包含了很多有用的功能,譬如对大量图计算PageRank,对数据集进行intersect和union等),请访问Cloudera网站上的相关文档
CDH Version 4.1.1 Packaging
CDH4 Project | Package Version | Tarball Version | Release Notes | Changes File |
Apache Hadoop | hadoop-2.0.0+545 | hadoop-2.0.0-cdh4.1.1.tar.gz | ||
DataFu | pig-udf-datafu-0.0.4+8 | datafu-0.0.4-cdh4.1.1.tar.gz | ||
Apache | flume-ng-1.2.0+121 | flume-ng-1.2.0-cdh4.1.1.tar.gz | ||
Apache HBase | hbase-0.92.1+156 | hbase-0.92.1-cdh4.1.1.tar.gz | ||
Apache Hive | hive-0.9.0+150 | hive-0.9.0-cdh4.1.1.tar.gz | ||
Hue | hue-2.1.0+210 | hue-2.1.0-cdh4.1.1.tar.gz | ||
Apache Mahout | mahout-0.7+6 | mahout-0.7-cdh4.1.1.tar.gz | ||
Apache MRv1 | hadoop-0.20-mapreduce-0.20.2+1261 | mr1-2.0.0-mr1-cdh4.1.1.tar.gz | ||
Apache Oozie | oozie-3.2.0+123 | oozie-3.2.0-cdh4.1.1.tar.gz | ||
Apache Pig | pig-0.10.0+50 | pig-0.10.0-cdh4.1.1.tar.gz | ||
Apache Sqoop | sqoop-1.4.1+53 | sqoop-1.4.1-cdh4.1.1.tar.gz | ||
Apache Whirr | whirr-0.8.0+15 | whirr-0.8.0-cdh4.1.1.tar.gz | ||
Apache ZooKeeper | zookeeper-3.4.3+27 | zookeeper-3.4.3-cdh4.1.1.tar.gz |