![自己动手做大数据系统(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/236/32375236/b_32375236.jpg)
2.6 ZooKeeper和HBase
前面介绍过,Hadoop的HDFS是为了解决大数据系统中统一数据的物理存储而出现的。使用HDFS可以把各种业务数据集中到统一的分布式文件处理系统中;但是这些已经落地的来自各个地方、各种业务类型的数据是杂乱无章的,需要进一步进行基于业务逻辑的梳理,从而生成满足业务需要的聚合统计指标表。这一过程通过Hive实现。Hive实际使用类SQL语句来定义数据流向,而最终的数据计算和存储是通过Hadoop的分布式计算和存储来实现的。这种海量数据的批量数据计算产生了业务所使用的查询表。但是,Hive无法满足数据的低延迟快速查询需求,这时就需要使用HBase来对应。HBase针对海量数据进行了底层索引逻辑存储设计的优化。
HBase架构如图2-7所示。
HBase与Hive相同的地方是,其也依赖Hadoop的HDFS作为底层存储;不同的是,HBase会基于HDFS在存储设计上做优化,以满足海量数据的快速查询需求。HBase数据库又叫NoSQL数据库,是一种基于列式存储的分布式数据库,这样的设计特别适合针对部分列进行查询的场景。由于是分布式数据库,因此分布式节点的数据一致性需要有可靠的保障机制设计。HBase使用的是ZooKeeper工具来确保分布式数据库中各个节点的状态一致。所以,安装HBase工具需要先安装ZooKeeper工具。
![](https://epubservercos.yuewen.com/EE9D0A/17493186606224406/epubprivate/OEBPS/Images/txt003_57.jpg?sign=1738884382-tO5FJ6TldQbMdkvU6Yv8BzV505E1JSRs-0-9029fa766d9a4b348137d1c482f793f6)
图2-7 HBase架构图
ZooKeeper对应的安装及配置信息如下。
2.6.1 ZooKeeper安装文件的准备
ZooKeeper的安装文件:可以在Apache官网下载zookeeper-3.4.6.tar.gz。
2.6.2 ZooKeeper的安装及配置
首先,在master节点上进行安装和配置,然后复制至各安装节点:
![](https://epubservercos.yuewen.com/EE9D0A/17493186606224406/epubprivate/OEBPS/Images/txt003_58.jpg?sign=1738884382-xiykKj5aK4AQloPbQD8RJ1IgwztflOnP-0-e9c29811facb5e8bd52044d352c36ff7)
例如,在slave02节点上对应的myid使用cat myid命令查看并确认对应的ID数字是否正确。
2.6.3 ZooKeeper运行验证
![](https://epubservercos.yuewen.com/EE9D0A/17493186606224406/epubprivate/OEBPS/Images/txt003_59.jpg?sign=1738884382-KzcYWCNRaALgM60MqmSFS2NvdhHfPBIS-0-38596062e235a8ea8f07d5762d514a79)
slave02为leader角色,会显示Mode:leader。
slave01为从节点:会显示Mode:follower。
HBase依赖于Hadoop,在ZooKeeper安装完成后,下面进行HBase的安装及配置。
2.6.4 HBase安装文件的准备
从HBase官网下载对应的安装包hbase-1.4.0-bin.tar.gz。
2.6.5 HBase的安装及配置
首先在master节点上进行安装和配置,然后复制到各安装节点:
![](https://epubservercos.yuewen.com/EE9D0A/17493186606224406/epubprivate/OEBPS/Images/txt003_60.jpg?sign=1738884382-BSq1TlaNiMyxC4Py1cLu8d9pX5nHxpVO-0-77d058dec77f8e7e020f52fac3de4e5c)
![](https://epubservercos.yuewen.com/EE9D0A/17493186606224406/epubprivate/OEBPS/Images/txt003_61.jpg?sign=1738884382-9lSqqujWB4HbVuIpXZoyuYAQIpWKmuRX-0-d3010d84f9d18b4b2261fcabe76ec15f)
2.6.6 HBase运行验证
![](https://epubservercos.yuewen.com/EE9D0A/17493186606224406/epubprivate/OEBPS/Images/txt003_62.jpg?sign=1738884382-wK0CAEbXFv7kYACC8Ar485mNcbMoAFLt-0-742ffc0ea459d6b03b88bcd23fa5079d)