Hbase学习笔记.doc
文本预览下载声明
参考书籍: Hadoop in action, 吴超沉思录
1.Hbase简介
1.面向列的分布式数据库
2. 以HDFS作为文件系统
3. 利用MapReduce处理Hbase中海量数据
4. ZookKeeper作为协调工具
5. sqoop提供Hbase到关系型数据库中数据导入功能
6. Hive和pig提供高层语言支持如HSQL
2. 伪分布式安装
准备: 安装Hadoop 详细见上一篇日志:? HYPERLINK /wishyouhappy/p/3706647.html hadoop分布式安装
hbase版本:?hbase-0.94.7-security.tar.gz
安装目录 /usr/local
步骤:
1. ?安装 tar -zxvf hbase-0.94.7-security.tar.gz?
2. 重命名: mv?hbase-0.94.7-security hbase
3. 配置环境变量hbase_home ?(vi /etc/profile)
4. 修改配置文件
1. hbase_home/conf/hbase_env.sh
修改java_home export
JAVA_HOME=/usr/local/jdk/
修改zookeeper(最后一行)
export HBASE_MANAGES_ZK=true(使用Hbase托管的ZooKeeper)
2. hbase_home/conf/hbase-site.xml文件
configuration 中加入:
property
namehbase.rootdir/name
valuehdfs://hadoop0:9000/hbase/value/propertyproperty
namehbase.cluster.distributed/name
valuetrue/value/propertyproperty
namehbase.zookeeper.quorum/name
valuehadoop0/value/propertyproperty
namedfs.replication/name
value1/value/property
5. 启动hbase
先启动hadoop(start-all.sh)
启用hbase (start-hbase.sh)
jps查看进程 (HMaster,HRegionServer, HQuorumPeer)
http://hadoop0:60010可以查看管理界面,如下:
6. 进程说明:
HMaster: 管理Hbase table的DDL操作
给region分配工作
HResionServer: 原则上每个slave对应一个HRegionServer
HQuorumPeer: ZooKeeper的守护进程,此处我们使用的是Hbase内置的ZooKeeper(在hbase-env.sh中有配置)?
3. 分布式安装
准备条件: hadoop分布式环境已安装,查看? HYPERLINK /wishyouhappy/p/3706647.html hadoop分布式安装
hadoop0主机上hbase伪分布已安装完成
安装:
1. scp -rp /usr/local/hbase hadoop1:/usr/local
2. 在hadoop0上更改hbase_home/conf/regionservers 将localhost更改为hadoop1
3. 在hadoop0上启动hbase
4. jps查看,如下:
hadoop0上进程:
??INCLUDEPICTURE \d /vQR3mu.jpg \* MERGEFORMATINET
hadoop1上进程:
INCLUDEPICTURE \d /URZ7zq.png \* MERGEFORMATINET
同理可通过 hostname:60010访问hbase管理界面,同分布式安装部分
4. 数据模型
1. Hbase数据库采用了和Bigtable非常类似的数据类型,表格是稀疏的;
1. row key 行键,table的主键
2. timestamp 时间戳,数据操作时对应的时间戳,可以看成数据的version number
3. Column Family 列簇,每个family可以由任意多个column组成,列名是族名:标签形式;一个表格的族名时固定的,除非使用管理员权限来改变表格的族名; 不过可以在任何时候添加新的标签;
eg:course对于表来说是一个有两个列的列族(该列族由两个列组成math和art);
rowkey name TimeStamp course
显示全部