Hadoop2对HDFS的改进很大,支持HDFS(NameNode) 和ResourceManager高可用性,避免集群中单点故障造成整个集群不可用。那么,从本文开始将部署一套高可用Hadoop集群及家族中相关开源系统,具体根据下面规划来,本文只部署高可用Hadoop集群,后续很快更新其他软件部署及使用。
一、部署前准备
操作系统:CentOS7_x64
安装目录:/opt
1. 节点分配
HostName | IP | Hadoop | HBase | Zookeeper | Hive | |
HMaster0 | 192.168.18.215 | NameNode | HMaster | / | Hive | |
HMaster1 | 192.168.18.216 | NameNode | HMaster | / | Hive-client | |
HSlave0 | 192.168.18.217 | DataNode | HRegionServer | QuorumPeerMain | / | |
HSlave1 | 192.168.18.218 | DataNode | HRegionServer | QuorumPeerMain | / | |
HSlave2 | 192.168.18.219 | DataNode | HRegionServer | QuorumPeerMain | / |
2. 版本及功能
软件名 | 版本号 | 功能 |
Hadoop | hadoop-2.6.0.tar.gz | 为海量数据提供分布式存储(HDFS)和分布式计算(YARN)。 |
HBase | hbase-1.0.1.1-src.tar.gz | 基于Hadoop的分布式、面向列的NoSQL数据库,适用于非结构化数据存储的数据库。 |
Zookeeper | zookeeper-3.4.6.tar.gz | 一个分布式应用程序协调服务,为应用提供一致性服务,是Hadoop和Hbase的重要组件。 |
Hive | apache-hive-1.2.0-bin.tar.gz | 基于Hadoop的一个数据仓库工具,将结构化的数据文件映射成一张表,并提供简单的SQL查询功能,将SQL语句转换为MapReduce任务运行处理。 |
Phoenix | phoenix-4.4.0-HBase-1.0-bin.tar.gz | Hbase的SQL驱动,Phoenix让Hbase支持以JDBC方式访问,并将SQL查询转换成Hbase的扫描和相应的操作。 |
JDK | jdk-7u79-linux-x64.gz | JAVA运行环境 |
Hadoop生态系统下载地址:http://www.apache.org/dist/ JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html |
3. 逻辑结构图
NameNode(NN) HA实现方式:
一种是将NN维护的元数据保存一份到NFS上,当NN故障,可以通过另一台NNe读取NFS目录中的元数据备份进行恢复工作,需要手动进行操作,并不是真正意义上的HA方案。
另一种是准备一台备用NN节点,通过定期下载NN的元数据和日志文件来备份,当NN故障时,可以通过这台进行恢复,由于主备节点元数据和日志并不是实时同步,所以会丢失一些数据。
前两种方案都不是很理想,社区提供一种更好的方案,基于QJM(Qurom Journal Manager)的共享日志方案。QJM的基本原理是NN(Active)把日志写本地和2N+1(奇数)台JournalNode上,当数据操作返回成 功时才写入日志,这个日志叫做editlog,而元数据存在fsimage文件中,NN(Standby)定期从JournalNode上读取 editlog到本地。在这手动切换的基础上有开发了基于Zookeeper的ZKFC(ZookeeperFailover Controller)自动切换机制,Active和Standby节点各有ZKFC进程监控NN监控状况,定期发送心跳,当Active节点故障时 Standby会自动切换为ActiveNode,我们这次就用的此方案,如下图所示。
ResourceManager(RM) HA实现方式:
RM将状态信息存储在Zookeeper中,当Active故障,Standby切换为Active后,从ZK读取相应的作业信息,重新构建作业的内存信息,然后开始接受NodeManager心跳,并接受客户端提交作业的请求等。
二、搭建高可用Hadoop集群
1.基础环境配置
1.1 安装JDK(每台配置)
免责声明:本文来源于李振良的技术博客,本文仅代表作者个人观点,与网赢中国无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
有意与本网合作者请与《网赢中国》联系。未经《网赢中国》书面授权,请勿转载或建立镜像,否则即为侵权。 大数据营销
编辑推荐
推荐工具
热点关注
行业资讯排行
|