hbase集群安装--jared

部署笔记是在2014年年初记录的,现在放在51cto上。

***环境介绍
1台master,3台node。
master
node1
node2
node3
hadoop集群基础已经部署完毕,详细请参考如下链接:

http://ganlanqing.blog.51cto.com/6967482/1387210

1. 软件介绍
JDK版本:jdk-7u51-linux-x64.rpm
hadoop版本:hadoop-0.20.2.tar.gz
hbase版本:hbase-0.90.5.tar.gz
zookeeper版本:本集群采用hbase自带的zookeeper
在原来搭建的hadoop集群基础之上搭建hbase

2.环境变量
export JAVA_HOME=/usr/java/jdk1.7.0_51
export HADOOP_INSTALL=/home/jared/hadoop
export HBASE_INSTALL=/home/jared/hbase
export PATH=$PATH:$HADOOP_INSTALL/bin:$HBASE_INSTALL/bin

3.安装配置hbase
下载hbase版本以及解压过程略

hbase根目录/home/jared/hbase
[jared@master ]$ pwd
/home/jared/hbase

在master节点上修改以下的配置文件hbase-env.sh:加入jave的环境变量
[jared@master conf]$ cat hbase-env.sh
………………
# Set environment variables here.

# The java implementation to use.  Java 1.6 required.
export JAVA_HOME=/usr/java/jdk1.7.0_51/
………………
# Extra Java CLASSPATH elements.  Optional.
export HBASE_CLASSPATH=/home/jared/hadoop/conf
………………
export HBASE_MANAGES_ZK=true   #使用hbase自带的zookeeper

配置 hbase-site.xml
[jared@master conf]$ cat hbase-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
/**
 * Copyright 2010 The Apache Software Foundation
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-->
<configuration>

<property>
    <name>hbase.rootdir</name>                    #设置hbase数据库存放数据的目录
    <value>hdfs://master:9000/hbase</value>
 </property>
 <property>
    <name>hbase.cluster.distributed</name>        #打开hbase分布模式
    <value>true</value>
 </property>
 <property>
    <name>hbase.master</name>                     #指定hbase集群主控节点
    <value>master:60000</value>
 </property>
 <property>
    <name>hbase.zookeeper.quorum</name>            
    <value>master,node1,node2</value>             #指定zookeeper集群节点名,必须为奇数,因为是由zookeeper表决算法决定的
 </property>
 <property>
    <name>hbase.zookeeper.property.dataDir</name> #指zookeeper集群data目录
    <value>/home/jared/hbase/zookeeper</value>
 </property>

</configuration>

说明:
第一个配置是配置HRegionServer的数据库存储目录
第二个配置是配置hbase为完全分布式
第三个配置是配置hmaster的地址
第四个是配置ZooKeeper集群服务器的位置 这个注意必须是奇数个;
最后一个是配置zookeeper的属性数据存储目录,如果你不想重启电脑就被清空的话就要配置这个 因为默认是/tmp

添加regionservers节点,配置一下HRegionServer (前提是做好集群中的解析)
[jared@master conf]$ cat regionservers
node1
node2
node3

4.替换Jar包
[jared@master lib]$ pwd
/home/jared/hbase/lib
[jared@master lib]$ mv hadoop-core-0.20-append-r1056497.jar hadoop-core-0.20-append-r1056497.jar.sav
[jared@master lib]$ cp ../../hadoop/hadoop-0.20.2-core.jar .
[jared@master lib]$ ls
activation-1.1.jar          commons-net-1.4.1.jar                     jasper-compiler-5.5.23.jar  jetty-util-6.1.26.jar       slf4j-api-1.5.8.jar
asm-3.1.jar                 core-3.1.1.jar                            jasper-runtime-5.5.23.jar   jruby-complete-1.6.0.jar    slf4j-log4j12-1.5.8.jar
avro-1.3.3.jar              guava-r06.jar                             jaxb-api-2.1.jar            jsp-2.1-6.1.14.jar          stax-api-1.0.1.jar
commons-cli-1.2.jar         hadoop-0.20.2-core.jar                    jaxb-impl-2.1.12.jar        jsp-api-2.1-6.1.14.jar      thrift-0.2.0.jar
commons-codec-1.4.jar       hadoop-core-0.20-append-r1056497.jar.sav  jersey-core-1.4.jar         jsr311-api-1.1.1.jar        xmlenc-0.52.jar
commons-el-1.0.jar          jackson-core-asl-1.5.5.jar                jersey-json-1.4.jar         log4j-1.2.16.jar            zookeeper-3.3.2.jar
commons-httpclient-3.1.jar  jackson-jaxrs-1.5.5.jar                   jersey-server-1.4.jar       protobuf-java-2.3.0.jar
commons-lang-2.5.jar        jackson-mapper-asl-1.4.2.jar              jettison-1.1.jar            ruby
commons-logging-1.1.1.jar   jackson-xc-1.5.5.jar

修改权限,使其具有执行权限
[jared@master lib]$ chmod 755 hadoop-0.20.2-core.jar

5.向其它3个结点复制Hbase相关配置,使四个节点的hbase文件夹保持一致。
如果没有事先启动hadoop集群 请先启动hadoop集群这里主要是保证文件系统启动了,可以不用start-all 只启动文件系统也ok。
[jared@master ~]$ scp -r  hbase node1:/home/jared
[jared@master ~]$ scp -r  hbase node2:/home/jared
[jared@master ~]$ scp -r  hbase node3:/home/jared
[jared@master ~]$

添加HBase相关环境变量 (所有结点)
[root@master ~]# vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_51
export HADOOP_INSTALL=/home/jared/hadoop
export HBASE_INSTALL=/home/jared/hbase
export PATH=$PATH:$HADOOP_INSTALL/bin:$HBASE_INSTALL/bin
[root@master ~]# source /etc/profile
[jared@master ~]$ source /etc/profile

6.创建HBase主目录
[jared@master ~]$ hadoop fs -mkdir hbase

7.启动/关闭Hbase数据库集群
做完以上的配置我们就可以启动Hbase集群了,在启动之前我们要检查一下Hadoop集群是否已经启动,必须先启动Hadoop在启动Hbase,我想道理大家都应该明白吧!Hadoop是Hbase的宿主。
[jared@master ~]$ start-hbase.sh
node1: starting zookeeper, logging to /home/jared/hbase/bin/../logs/hbase-jared-zookeeper-node1.out    # 说明node1:HQuorumPeer进程已经启动
node2: starting zookeeper, logging to /home/jared/hbase/bin/../logs/hbase-jared-zookeeper-node2.out
master: starting zookeeper, logging to /home/jared/hbase/bin/../logs/hbase-jared-zookeeper-master.out
starting master, logging to /home/jared/hbase/bin/../logs/hbase-jared-master-master.out                # 说明HMaster进程已经启动
node2: regionserver running as process 12153. Stop it first.        # Region服务器                                  
node1: regionserver running as process 41086. Stop it first.
node3: regionserver running as process 7268. Stop it first.

master的进程状态
[jared@master ~]$ /usr/java/jdk1.7.0_51/bin/jps  
5196 SecondaryNameNode
6858 HMaster           #  Hbase集群的主控进程
5046 NameNode
6989 Jps
6817 HQuorumPeer       #  zookeeper集群进程
5263 JobTracker

node1的进程状态
[jared@node1 ~]$ /usr/java/jdk1.7.0_51/bin/jps
43728 DataNode
43818 TaskTracker
43901 HQuorumPeer      #  zookeeper集群进程
45225 HRegionServer    #  Hbase集群的Region服务器
45318 Jps
[jared@node1 ~]$

node2的进程状态
[jared@node2 ~]$ /usr/java/jdk1.7.0_51/bin/jps
23991 HRegionServer    #  Hbase集群的Region服务器
14792 DataNode
14883 TaskTracker
14966 HQuorumPeer      #  zookeeper集群进程
24119 Jps
[jared@node2 ~]$
 
node3的进程状态
[jared@node3 ~]$ /usr/java/jdk1.7.0_51/bin/jps
9603 TaskTracker
9513 DataNode
11245 HRegionServer    #  Hbase集群的Region服务器
11332 Jps
[jared@node3 ~]$

8.进入hbase shell测试
[jared@master ntp]$ hbase shell                   
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.90.5, r1212209, Fri Dec  9 05:40:36 UTC 2011

hbase(main):001:0> list
TABLE                                                                                                                                                        
0 row(s) in 0.7430 seconds

查询服务器状态
hbase(main):002:0> status
3 servers, 0 dead, 0.6667 average load

查询hbase版本
hbase(main):003:0> version
0.90.5, r1212209, Fri Dec  9 05:40:36 UTC 2011

hbase(main):004:0>

[jared@master ~]$ stop-hbase.sh
stopping hbase........
node2: stopping zookeeper.
node1: stopping zookeeper.
master: stopping zookeeper.
[jared@master ~]$

9. 遇到到问题
一、在停止hbase的时候,有可能会遇到停止很慢甚至一直处于stopping hbase..........................的状态;
二、集群在部署hbase的过程中,出现两个节点HRegionServer不稳定

问题一的解决办法:
将hbase相应的进程kill -9掉;如下操作:
[jared@master ~]$ netstat -lntp
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 :::55533                    :::*                        LISTEN      5046/java           
tcp        0      0 :::50030                    :::*                        LISTEN      5263/java           
tcp        0      0 :::3888                     :::*                        LISTEN      6817/java           
tcp        0      0 :::45781                    :::*                        LISTEN      5196/java           
tcp        0      0 :::50070                    :::*                        LISTEN      5046/java           
tcp        0      0 :::22                       :::*                        LISTEN      -                   
tcp        0      0 ::1:25                      :::*                        LISTEN      -                   
tcp        0      0 ::ffff:192.168.255.25:60000 :::*                        LISTEN      6858/java           
tcp        0      0 :::2181                     :::*                        LISTEN      6817/java           
tcp        0      0 :::39750                    :::*                        LISTEN      5263/java           
tcp        0      0 ::ffff:192.168.255.25:9000  :::*                        LISTEN      5046/java           
tcp        0      0 ::ffff:192.168.255.25:9001  :::*                        LISTEN      5263/java           
tcp        0      0 :::60010                    :::*                        LISTEN      6858/java           
tcp        0      0 :::50090                    :::*                        LISTEN      5196/java  
[jared@master ~]$ kill -9 6858
查看
[jared@master ~]$ netstat -lntp
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -                   
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 :::55533                    :::*                        LISTEN      5046/java           
tcp        0      0 :::50030                    :::*                        LISTEN      5263/java           
tcp        0      0 :::45781                    :::*                        LISTEN      5196/java           
tcp        0      0 :::50070                    :::*                        LISTEN      5046/java           
tcp        0      0 :::22                       :::*                        LISTEN      -                   
tcp        0      0 ::1:25                      :::*                        LISTEN      -                   
tcp        0      0 :::39750                    :::*                        LISTEN      5263/java           
tcp        0      0 ::ffff:192.168.255.25:9000  :::*                        LISTEN      5046/java           
tcp        0      0 ::ffff:192.168.255.25:9001  :::*                        LISTEN      5263/java           
tcp        0      0 :::50090                    :::*                        LISTEN      5196/java           
[jared@master ~]$ /usr/java/jdk1.7.0_51/bin/jps
5196 SecondaryNameNode
15134 Jps
5046 NameNode
5263 JobTracker
重新启动start-hbase.sh;hbase shell;list,随后一切正常!

问题二的解决方法:
 出现该问题的原因:hbase在hadoop完全分布式基础之上的部署,会涉及的时钟同步的问题,如果节点的时间不一致,可能会导致HRegionServer服务不稳定的现象!
 解决方法:在master上安装ntp服务,node上手动执行同步,保证各个node的时间与master的时间一致!
  操作细节:NTP服务器一般都是系统自带的,所以不需要安装。 # yum install ntp

NTP服务端配置
[root@master ~]# vim /etc/ntp.conf
#加上
restrict 220.130.158.71
restrict 59.124.196.83
restrict 59.124.196.84
……
restrict 192.168.255.0 mask 255.255.255.0 nomodify  <--放行局域网来源
……
server 220.130.158.71 prefer  <--以这台主机为最优先

server 59.124.196.83

server 59.124.196.84

**新插入变更记录:时钟同步
以下的定义是让NTP Server和其自身保持同步,如果在ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。
server 127.127.1.0 fudge
127.127.1.0 stratum 8

[root@master ~]# /etc/init.d/ntpd restart
[root@master ~]# chkconfig ntpd on
[root@master ~]# netstat -lntpu|grep ntp   #(查看启动端口:123)
udp        0      0 192.168.11.162:123          0.0.0.0:*                               21203/ntpd          
udp        0      0 192.168.255.25:123          0.0.0.0:*                               21203/ntpd          
udp        0      0 127.0.0.1:123               0.0.0.0:*                               21203/ntpd          
udp        0      0 0.0.0.0:123                 0.0.0.0:*                               21203/ntpd          
udp        0      0 fe80::20c:29ff:fe33:edb0:123 :::*                                    21203/ntpd          
udp        0      0 fe80::20c:29ff:fe33:edba:123 :::*                                    21203/ntpd          
udp        0      0 ::1:123                     :::*                                    21203/ntpd          
udp        0      0 :::123                      :::*                                    21203/ntpd
 #启动后不是马上就可以看得效果,需要过几分钟。
[root@master ~]# ntpstat   
synchronised to NTP server (220.130.158.71) at stratum 3
   time correct to within 153 ms
   polling server every 128 s  #查看到这些才正确。
注意:启动NTP服务器的过程是比较慢,所以要ntpstat完成就OK。

NTP客户端配置
#vim /etc/ntp.conf

restrict 192.168.255.25

server 192.168.255.25

#/etc/init.d/ntpd stop
如果需要校正时间在客户端输入:

#ntpdate 192.168.255.25

用date可以查看修改后的时间。
#/etc/init.d/ntpd start
#chkconfig ntpd on

小结:到此我们安装Hbase数据库已经完美完成,在操作的步骤中注意不同版本覆盖的文件不同,还要注意版本的配达要求,如果你使用的是VM虚拟机来安装的话,当你重启机器的时候可能会遇到节点HMaster、HQuorumPeer、HRegionServer进程不同程度的无法启动现象,先使用/bin/stop-hbase.sh停掉所有集群进程,在使用/bin/start-hbase.sh启动集群即可,必须所有进程全部正常启动后才能操作数据库否则会报错禁止操作。

10.接下来就是对hbase测试

下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下
名称命令表达式
创建表create '表名称', '列名称1','列名称2','列名称N'
添加记录      put '表名称', '行名称', '列名称:', '值'
查看记录get '表名称', '行名称'
查看表中的记录总数count  '表名称'
删除记录delete  '表名' ,'行名称' , '列名称'
删除一张表先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步  drop '表名称'
查看所有记录scan "表名称"  
查看某个表某个列中所有数据scan "表名称" , ['列名称:']
更新记录 就是重写一遍进行覆盖

一、一般操作
[root@master ~]# hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.90.5, r1212209, Fri Dec  9 05:40:36 UTC 2011

列出所有的表
hbase(main):001:0> list
TABLE                                                                                                                                                        
0 row(s) in 0.9160 seconds

二、DDL操作
创建表
hbase(main):002:0> create 'member','member_id','address','info'
0 row(s) in 1.4540 seconds

hbase(main):003:0> list
TABLE                                                                                                                                                        
member                                                                                                                                                       
1 row(s) in 0.0130 seconds

获得表的描述
hbase(main):004:0> describe 'member'
DESCRIPTION                                                                                           ENABLED                                                
 {NAME => 'member', FAMILIES => [{NAME => 'address', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', true                                                   
  COMPRESSION => 'NONE', VERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'fa                                                        
 lse', BLOCKCACHE => 'true'}, {NAME => 'info', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', COMPR                                                        
 ESSION => 'NONE', VERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false',                                                         
 BLOCKCACHE => 'true'}, {NAME => 'member_id', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', COMPRE                                                        
 SSION => 'NONE', VERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false', B                                                        
 LOCKCACHE => 'true'}]}                                                                                                                                      
1 row(s) in 0.0360 seconds

hbase(main):005:0>

三、DML操作
插入数据
put'member','lijie','info:age','25'
put'member','lijie','info:birthday','1989-05-04'
put'member','lijie','info:favorite','music'
put'member','lijie','info:company','chinacache'
put'member','lijie','address:contry','china'
put'member','lijie','address:province','beijing'
put'member','lijie','address:city','beijing'

put'member','jared','info:age','24'
put'member','jared','info:birthday','1990-06-04'
put'member','jared','info:favorite','movie'
put'member','jared','info:company','chinacache'
put'member','jared','address:contry','china'
put'member','jared','address:province','henan'
put'member','jared','address:city','shangqiu'
put'member','jared','address:town','huabao'

查询数据

hbase(main):006:0> get 'member','lijie'
COLUMN                                   CELL                                                                                                                
 address:city                            timestamp=1394094913527, value=beijing                                                                              
 address:contry                          timestamp=1394096815605, value=china                                                                                
 address:province                        timestamp=1394094903544, value=beijing                                                                              
 info:age                                timestamp=1394097288602, value=25                                                                                   
 info:birthday                           timestamp=1394097444869, value=1989-05-04                                                                           
 info:company                            timestamp=1394097096504, value=chinacache                                                                           
 info:favorite                           timestamp=1394097238819, value=music                                                                                
7 row(s) in 0.0280 seconds

获取一个id,一个列族的所有数据
hbase(main):007:0> get 'member','lijie','info'
COLUMN                                   CELL                                                                                                                
 info:age                                timestamp=1394097288602, value=25                                                                                   
 info:birthday                           timestamp=1394097444869, value=1989-05-04                                                                           
 info:company                            timestamp=1394097096504, value=chinacache                                                                           
 info:favorite                           timestamp=1394097238819, value=music                                                                                
4 row(s) in 0.0260 seconds

获取一个id,一个列族中一个列的所有数据
hbase(main):008:0> get 'member','lijie','info:age'
COLUMN                                   CELL                                                                                                                
 info:age                                timestamp=1394097288602, value=25                                                                                   
1 row(s) in 0.0120 seconds

hbase(main):009:0>

更新数据
将lijie的年龄改成99
hbase(main):009:0> put 'member','lijie','info:age','99'
0 row(s) in 0.0090 seconds

hbase(main):010:0> get 'member','lijie','info:age'
COLUMN                                   CELL                                                                                                                
 info:age                                timestamp=1394098805418, value=99                                                                                   
1 row(s) in 0.0120 seconds

通过timestamp来获取两个版本的数据
hbase(main):011:0> get 'member','lijie',{COLUMN=>'info:age',TIMESTAMP=>1394098805418}
COLUMN                                   CELL                                                                                                                
 info:age                                timestamp=1394098805418, value=99                                                                                   
1 row(s) in 0.0110 seconds

全表扫描:
hbase(main):075:0> scan'member'
ROW                                      COLUMN+CELL                                                                                                         
 jared                                   column=address:city, timestamp=1394096657293, value=shangqiu                                                        
 jared                                   column=address:contry, timestamp=1394096576288, value=china                                                         
 jared                                   column=address:province, timestamp=1394096631520, value=henan                                                       
 jared                                   column=address:town, timestamp=1394096718126, value=huabao                                                          
 jared                                   column=info:age, timestamp=1394097298985, value=24                                                                  
 jared                                   column=info:birthday, timestamp=1394096371515, value=1990-06-04                                                     
 jared                                   column=info:company, timestamp=1394096543377, value=chinacache                                                      
 jared                                   column=info:favorite, timestamp=1394096451321, value=movie                                                          
 lijie                                   column=address:city, timestamp=1394094913527, value=beijing                                                         
 lijie                                   column=address:contry, timestamp=1394096815605, value=china                                                         
 lijie                                   column=address:province, timestamp=1394094903544, value=beijing                                                     
 lijie                                   column=info:age, timestamp=1394098805418, value=99                                          
 lijie                                   column=info:birthday, timestamp=1394097444869, value=1989-05-04                                                     
 lijie                                   column=info:company, timestamp=1394097096504, value=chinacache                                                      
 lijie                                   column=info:favorite, timestamp=1394097238819, value=music                                                          
2 row(s) in 0.0410 seconds

删除id为lijie的值的‘info:age’字段
hbase(main):058:0> delete'member','lijie','info:age'
0 row(s) in 0.0080 seconds

hbase(main):059:0> get'member','lijie','info:age'   
COLUMN                                   CELL                                                                                                                
0 row(s) in 0.0110 seconds

查询表中有多少行
hbase(main):065:0> count'member'
2 row(s) in 0.0100 seconds

hbase(main):066:0>

删除整行
hbase(main):066:0> deleteall'member','lijie'
0 row(s) in 0.0060 seconds

hbase(main):067:0> count'member'              
1 row(s) in 0.0120 seconds

删除操作
  属于DDL操作
删除一个列族,alter,disable,enable
我们之前建了3个列族,但是发现member_id这个列族是多余的,因为他就是主键,所以我们要将其删除。

(1)删除列族的时候必须先将表给disable掉
hbase(main):012:0> disable 'member'
0 row(s) in 2.1060 seconds

hbase(main):013:0> alter 'member',{NAME=>'member_id',METHOD=>'delete'}
0 row(s) in 0.0850 seconds

hbase(main):014:0> describe 'member'
DESCRIPTION                                                                                           ENABLED                                                
 {NAME => 'member', FAMILIES => [{NAME => 'address', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', true                                                   
  VERSIONS => '3', COMPRESSION => 'NONE', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'fa                                                        
 lse', BLOCKCACHE => 'true'}, {NAME => 'info', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSI                                                        
 ONS => '3', COMPRESSION => 'NONE', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => 'false',                                                         
 BLOCKCACHE => 'true'}]}                                                                                                                                     
1 row(s) in 0.0170 seconds

该列族已经删除,我们继续将表enable
hbase(main):015:0> enable 'member'
0 row(s) in 2.0540 seconds

(2)drop一个表
hbase(main):026:0>disable 'temp_table'
0 row(s) in 2.0590seconds

hbase(main):027:0>drop 'temp_table'
0 row(s) in 1.1070seconds

(3)查询表是否存在
hbase(main):029:0> exists'member'
Table member does exist                                                                                                                                      
0 row(s) in 0.0200 seconds

(4)判断表是否enable
hbase(main):030:0> is_enabled'member'
true                                                                                                                                                         
0 row(s) in 0.0110 seconds
 (5)判断表是否disable
hbase(main):031:0> is_disabled'member'
false                                                                                                                                                        
0 row(s) in 0.0120 seconds

hbase(main):032:0>

给‘lijie’这个id增加'info:age'字段,并使用counter实现递增
hbase(main):070:0> incr'member','lijie','info:age'
COUNTER VALUE = 4123326933835972609

hbase(main):071:0>get'member','lijie','info:age'
COLUMN                                   CELL                                                                                                                
 info:age                                timestamp=1394106638150, value=99\x00\x00\x00\x18\x00\x01                                                           
1 row(s) in 0.0100 seconds

hbase(main):076:0> incr'member','lijie','info:age'                                   
COUNTER VALUE = 4123326933835972610

hbase(main):077:0> get'member','lijie','info:age'
COLUMN                                   CELL                                                                                                                
 info:age                                timestamp=1394106638150, value=99\x00\x00\x00\x18\x00\x02                                                           
1 row(s) in 0.0100 seconds

获取当前count的值
hbase(main):078:0> get_counter'member','lijie','info:age'
COUNTER VALUE = 4123326933835972610

hbase(main):079:0>

将整张表清空  DML操作
hbase(main):080:0>truncate 'member'
Truncating 'member'table (it may take a while):
 - Disabling table...
 - Dropping table...
 - Creating table...
0 row(s) in 4.3430seconds
可以看出,hbase是先将掉disable掉,然后drop掉后重建表来实现truncate的功能的。

转载于:https://blog.51cto.com/kissjared001/1653882

hbase安装记录测试相关推荐

  1. 开发笔记 – Spring Boot集成HBase(Hadoop和Hbase安装)

    最近在重新整理搜书吧(一个做图书比价的平台)的系统架构,目前图书产品数量超过了200万条.各种数据加起来超过40G了,使用Mysql数据库存储服务器吃不消,于是考虑使用HBase存储大部分数据. 一. ...

  2. Linux中Hadoop的Hbase安装教程

    学习目标: 1.学习HBase的安装流程 2.掌握HBase的工作原理 实验平台:章鱼互联网学院(https://www.ipieuvre.com/) 相关知识: HBase是一个分布式的,面向列的开 ...

  3. Linux环境HBase安装配置及使用

    Linux环境HBase安装配置及使用 1. 认识HBase (1) HBase介绍 HBase = Hadoop database,Hadoop数据库 开源数据库 官网:hbase.apache.o ...

  4. hbase 安装_HBASE 数据库入门级教程

    一.Hbase简介 1.什么是Hbase Hbase是一个高可靠性(存储在hdfs上,有副本机制),高性能,面向列,非关系型的数据库(类似redis),可伸缩的分布式存储系统(因为是存储在hdfs上) ...

  5. hbase安装配置(整合到hadoop)

    如果想详细了解hbase的安装:http://abloz.com/hbase/book.html 和官网http://hbase.apache.org/ 1.  快速单击安装 在单机安装Hbase的方 ...

  6. 【Y9000P 2022 GTX3060 CUDA安装记录】

    Y9000P 2022 GTX3060 CUDA11.7&11.1安装 前言 一.确定cuda版本 二.下载CUDA 三.安装CUDA 四.环境配置 五.环境测试 六.VS项目配置 七.CUD ...

  7. hbase安装配置 整合到hadoop

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 如果想详 ...

  8. win10 omnet++5.6.2、INET3.7.0、sumo1.8.0 和 veins 安装记录

    目录 说明 一.软件下载 二.OMNet++5.6.2安装 (一)omnet安装 (二)omnet测试 (三)omnet设置 三.INET安装 (一)INET 3.7.0安装 (二)INET 3.7. ...

  9. Intel+Nvidia双显卡笔记本Linuxmint18下安装CUDA+OpenCV+Caffe的安装记录

    一.安装环境: 硬件:微星GE70 2PC 089-XCN,14年性价比较高的一款,然而两年多过去后配置已经落伍...当年的价格现在能买到i7+GTX1050了... CPU:intel i5 420 ...

最新文章

  1. 如何使用多个参数调用Angular.js过滤器?
  2. 网页视频播放器插件源码
  3. android 弹窗圆角,Android 自定义底部圆角弹窗的实现
  4. 如何通过一个编程获得IP地址归属地的最简单办法
  5. hdu-1114 Piggy-Bank
  6. centos7查看mysql进程显示端口_CentOS查看进程端口号以及kill操作
  7. 6748如何设置edma为事件触发方式_全面分析前端的网络请求方式
  8. JAVA rs 是否要关闭_关闭结果集rs和statement以后,是否还要关闭数据库连接呢?...
  9. POJ 3061  Subsequence   尺取法   挑战146页
  10. set-cookie无法存入到浏览器cookie问题汇总
  11. [附源码]Java计算机毕业设计SSM房屋租赁管理系统设计
  12. Revel框架基本使用和搭建教程
  13. python 通讯录 字典_Python实现命令行通讯录
  14. LVS负载均衡群集合集
  15. openlayers划线、标记点
  16. 在OpenCV里实现二维离散卷积1
  17. 柳州副市长:酸雨之都如何再现碧水蓝天
  18. PTA:7-34 通讯录的录入与显示 (10分)
  19. 计算音频一秒播放多少帧
  20. excel多表格数据汇总如何实现

热门文章

  1. oracle是否支持gb18030,将oracle字符集改成GB18030
  2. aardio部署_aardio
  3. 常见应用层协议都是基于什么运输层协议的
  4. 2012TI杯电子设计大赛
  5. 【转】工作分解结构在软件开发中的应用
  6. Berkeley共享自主研究:人-机组合应用model-free RL,优化无人机实时辅助控制
  7. WinForm中实现通用的弹窗提示框
  8. MacBook苹果电脑绕过BootCamp安装Win10双系统
  9. DNS(2)解析 ---DNS的正向、反向解析及双向解析
  10. 树莓派制作数字音箱--简易版