HBase-0.90.4集群安装配置
HBase是Hadoop数据库,能够实现随机、实时读写你的Big Data,它是Google的Bigtable的开源实现,可以参考Bigtable的论文Bigtable: A Distributed Storage System for Structured。HBase的存储模型可以如下三个词来概括:distributed, versioned, column-oriented。HBase并非只能在HDFS文件系统上使用, 你可以应用在你的本地文件系统上部署HBase实例来存储数据。
准备工作
- hbase-0.90.4.tar.gz [http://labs.renren.com/apache-mirror//hbase/stable/hbase-0.90.4.tar.gz]
- zookeeper-3.3.4.tar.gz
下面介绍Standalone和Distributed安装过程。
Standalone模式
这种安装模式,是在你的本地文件系统上安装配置一个HBase实例,安装配置比较简单。
首先,要保证你的本地系统能够通过ssh无密码访问,配置如下:
- ssh-keygen -t dsa
- cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
- chmod 755 ~/.ssh
- chmod 644 ~/.ssh/authorized_keys
- cd /home/shirdrn/hadoop
- tar -xvzf hbase-0.90.4.tar.gz
- cd hbase-0.90.4
- export JAVA_HOME=/usr/java/jdk1.6.0_16
修改hbase-site.xml中配置,示例如下:
- <?xml version="1.0"?>
- <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
- <configuration>
- <property>
- <name>hbase.rootdir</name>
- <value>file:///home/shirdrn/hadoop/hbase-0.90.4/data</value>
- </property>
- </configuration>
接着,就可以启动HBase实例,提供本地存储服务:
- bin/start-hbase.sh
- tail -500f logs/hbase-shirdrn-master-localhost.log
- ps -ef | grep HMaster
通过日志可以看出,HBase实例启动了所有的HBase和Zookeeper守护进程,并且这些进程都是在同一个JVM中。下面,可以启动HBase shell,来简单测试HBase的数据存储的基本命令:
- cd bin
- hbase shell
- hbase(main):001:0> help
- hbase(main):002:0> status
- hbase(main):003:0> version
- // 创建表'pagedb',列簇(Column Family)为metadata、text、status
- hbase(main):004:0> create 'pagedb', 'metadata', 'text', 'status'
- // 插入数据
- hbase(main):005:0> put 'pagedb', 'http://www.mafengwo.cn/i/764197.html', 'metadata:site', 'www.mafengwo.cn'
- hbase(main):006:0> put 'pagedb', 'http://www.mafengwo.cn/i/764197.html', 'metadata:pubdate', '2011-12-20 22:09'
- hbase(main):007:0> put 'pagedb', 'http://www.mafengwo.cn/i/764197.html', 'text:title', '南国之境'
- hbase(main):008:0> put 'pagedb', 'http://www.mafengwo.cn/i/764197.html', 'text:content', '如果海會說话, 如果風愛上砂 我會聆聽浪花,...'
- hbase(main):009:0> put 'pagedb', 'http://www.mafengwo.cn/i/764197.html', 'status:extracted', '0'
- hbase(main):010:0> put 'pagedb', 'http://www.mafengwo.cn/i/764197.html', 'status:httpcode', '200'
- hbase(main):011:0> put 'pagedb', 'http://www.mafengwo.cn/i/764197.html', 'status:indexed', '1'
- // 扫描表'pagedb'
- hbase(main):012:0> scan 'pagedb'
- // 获取记录'http://www.mafengwo.cn/i/764197.html'的所有列的数据
- hbase(main):013:0> get 'pagedb', 'http://www.mafengwo.cn/i/764197.html'
- // 获取记录'http://www.mafengwo.cn/i/764197.html'的metadata列簇数据
- hbase(main):014:0> get 'pagedb', 'http://www.mafengwo.cn/i/764197.html', 'metadata'
- // 获取记录'http://www.mafengwo.cn/i/764197.html'的列metadata:site数据
- hbase(main):015:0> get 'pagedb', 'http://www.mafengwo.cn/i/764197.html', 'metadata:site'
- // 增加一个列status:state,并指定值为4
- hbase(main):016:0> incr 'pagedb', 'http://www.mafengwo.cn/i/764197.html', 'status:state', 4
- // 修改status:httpcode的值为500
- hbase(main):017:0> put 'pagedb', 'http://www.mafengwo.cn/i/764197.html', 'status:httpcode', '500'
- // 统计表'pagedb'中的记录行数
- hbase(main):018:0> count 'pagedb'
- // disable表'pagedb'
- hbase(main):019:0> disable 'pagedb'
- // enable表pagedb
- hbase(main):020:0> enable 'pagedb'
- // 清空表'pagedb'
- hbase(main):021:0> truncate 'pagedb'
- // 列出所有表
- hbase(main):022:0> list
- // 删除'http://www.mafengwo.cn/i/764197.html'数据行
- hbase(main):023:0> deleteall 'pagedb','http://www.mafengwo.cn/i/764197.html'
- // 删除表'pagedb',删除之前必须先disable表
- hbase(main):024:0> drop 'pagedb'
如果想练习使用其他更多命令,可以通过help查看其他命令。
相关推荐
pigsmall 2020-11-19
SXIAOYI 2020-09-16
linuxprobe0 2013-04-01
83560193 2013-06-25
kidneybeans 2013-06-17
加菲猫园 2013-06-16
年轻就要对味 2014-07-11
稻草人的高粱地 2014-07-02
smilebestSun 2014-06-12
xusong 2014-05-17
zfszhangyuan 2013-09-12
80183053 2013-09-12
gaozhlzh 2013-09-11
87453169 2014-01-17
Tom天天 2013-07-12
Ladyseven 2020-07-25
whileinsist 2020-06-24
gufudhn 2020-06-12