基于MapReduce操作HBase中数据
2021-03-11田燕军王莉
田燕军 王莉
(山西经济管理干部学院 山西省太原市 030024)
1 为什么要用MapReduce处理HBase表中数据
MapReduce 是一种大规模数据处理的编程模型,用于大规模数据集的并行运算[1]。遵循着“分而治之,迭代汇总”的思想,即将海量的数据拆分到分布式文件系统中的不同机器上,让各个机器直接访问和处理拆分后的数据并获得局部结果,再汇总、合并这些局部结果形成全局结果。MapReduce 并行程序模型简单,易于编写,写一个分布式程序,只要简单的实现一些接口,就可以完成,同写一个简单的串行程序一模一样的,这个程序之后可以分布到大量的廉价的pc 机器上运行。MapReduce 也有不错的容错能力,因MapReduce 要运行在廉价的PC 机器上[2],这些机器随时可能出故障,在出了故障时,MapReduce 可自动把计算任务转移到另一个节点上运行,不需要人工参与。MapReduce 也有良好的扩展性,当程序运行起来硬件资源得不到满足时,可以通过增加机器来添加硬件资源。
HBase[3]中表的数据非常庞大,最高可达PB 级,如用传统串行程序处理HBase 表中数据,只能利用单机资源,会极大的降低处理HBase 表数据的效率; 但用MapReduce 分布式思想程序来处理HBase 表中的海量数据时,可利用集群资源,快速批量完成数据的处理,在实际工作中,对HBase 的操作也大多是与MapReduce 共同进行。
2 实验环境
使用三台PC 机搭建分布式计算平台,3 台PC 机分别都安装CentOS6.8 64 位操作系统,并按下边2.1 进行大数据集群环境准备,再按2.2 进行大数据平台软件安装。
2.1 大数据集群环境准备
修改/etc/sysconfig/network 文件,分别设置三台PC 机的主机名为:node01、node02、node03;……
