共计 1559 个字符,预计需要花费 4 分钟才能阅读完成。
1. 概要
1.1HBase 的使用场景
大数据量(100s TB 级数据)且有快速随机访问的需求。
例如淘宝的交易历史记录。数据量巨大无容置疑,面向普通用户的请求必然要即时响应。
容量的优雅扩展。
大数据的驱使,动态扩展系统容量的必须的。例如:webPage DB。
业务场景简单,不需要关系数据库中很多特性(例如交叉列、交叉表,事务,连接等等)。
优化方面:合理设计 rowkey。因为 hbase 的查询用 rowkey 是最高效的,也几乎的唯一生产环境可行的方式。所以把你的查询请求转换为查询 rowkey 的请求吧。
1.2 软件准备
hbase-0.98.8【下载地址】
zookeeper-3.4.6【下载地址】
2. 配置
sudo vi /etc/profile
HBASE_HOME=/home/Hadoop/source/hbase-0.98.8
ZK_HOME=/home/hadoop/source/zookeeper-3.4.6
PATH=$HBASE_HOME/bin:$ZK_HOME/bin
export HBASE_HOME ZK_HOME
hbase-env.sh
export Java_HOME=/usr/jdk1.7
启动 shell:
hbase shell
启动 hbase:
start-hbase.sh
3.ZK
3.1 概要
zk 可以用来保证数据在 zk 集群之间事务性一致,如:
删除 Server1 中的数据后,其他集群的 Server 会自动同步删除之后的数据。
3.2 安装
-
集群的规模小于等于 3,各个集群的系统时间必须一致。
- 安装
(1)解压 zk 的压缩包到指定位置。
(2)修改 conf 文件,cp zoo_sample.cfg zoo.cfg
(3)编辑 zoo.cfg 修改 dataDir=/home/zk/data 新增 server.0=hadoop0:2888:3888 server.1=hadoop1:2888:3888 server.2=hadoop2:2888:3888
(4)创建文件夹 mkdir /home/zk/data 在 data 目录下,创建文件 myid,值为 0
(5)用 scp 命令分发 zk 文件夹到集群
3.3 启动 / 验证
启动 zk 的服务:zkServer.sh start
验证 zk 的启动状态:zkServer.sh status
4 奇数选举
zookeeper 的集群数推荐配置奇数,Leader 选举算法采用了 Paxos 协议,该协议的核心思想是当多数 Server 写成功时,则任务数据写成功,如:
- 有 3 个 Server,则两个写成功即可;
- 有 4 或 5 个 Server,则三个写成功即可;
- 如果有 3 个 Server,则最多运行 1 个 Server 挂掉
- 如果有 4 个 Server,则同样最多运行 1 个 Server 挂掉
由此,我们可以看出 3 台服务器和 4 台服务器的容灾能力是一样的,所以为了节约服务器资源,一般我们采用奇数个数,作为服务器部署个数。
Hadoop+ZooKeeper+HBase 集群配置 http://www.linuxidc.com/Linux/2013-06/86347.htm
Hadoop 集群安装 &HBase 实验环境搭建 http://www.linuxidc.com/Linux/2013-04/83560.htm
基于 Hadoop 集群的 HBase 集群的配置 http://www.linuxidc.com/Linux/2013-03/80815.htm‘
Hadoop 安装部署笔记之 -HBase 完全分布模式安装 http://www.linuxidc.com/Linux/2012-12/76947.htm
单机版搭建 HBase 环境图文教程详解 http://www.linuxidc.com/Linux/2012-10/72959.htm
HBase 的详细介绍 :请点这里
HBase 的下载地址 :请点这里