Hbase-2.4.2(二)安装及命令
2021-08-08 本文已影响0人
_大叔_
安装
wget https://mirrors.bfsu.edu.cn/apache/hbase/2.4.2/hbase-2.4.2-bin.tar.gz
解压
tar -xvf hbase-2.4.2-bin.tar.gz
修改配置文件
配置环境变量
export HBASE_HOME=/opt/software/hbase-2.4.2
export PATH=$PATH:$HBASE_HOME/bin
修改 /hbase-2.4.2/conf hbase-env.sh,添加如下
export JAVA_HOME=/opt/software/java8
# 不启用自己携带的 zookeeper
export HBASE_MANAGERS_ZK=false
修改 /hbase-2.4.2/conf hbase-site.xml
<!-- 存储数据目录路径 -->
<property>
<name>hbase.rootdir</name>
<!-- 可以指定本地存储,也可以指定 hdfs -->
<value>file:///opt/software/hbase-2.4.2/tmp</value>
</property>
<!-- zookeeper的地址 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>node113,node103,node104</value>
</property>
<!-- zookeeper的快照的存储位置 -->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/software/hbase-2.4.2/zookeeper-data</value>
</property>
<!-- Hbase 的运行模式,false是单机,true是分布式模式,若为false,hbase和zookeeper会运行再同一个jvm里面 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 本地文件系统的临时文件夹。可以修改到一个更为持久的目录上 -->
<property>
<name>hbase.tmp.dir</name>
<value>./tmp</value>
</property>
<!-- v2.1版本,再分布式情况下,设置为false -->
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
拷贝jar到lib目录
cp $HBASE_HOME/lib/client-facing-thirdparty/htrace-core4-4.2.0-incubating.jar $HBASE_HOME/lib/
集群配置
只需要在 /hbase-2.4.2/conf 修改 regionservers,添加集群节点。默认是 localhost,可以单机使用
node113
node103
node104
然后把 以上配置在其他节点保持一样,集群即可成功。
启动
/hbase-2.4.2/bin
./start-hbase.sh
jps 验证启动,集群中,只有主节点才有HMaster
54941 HRegionServer
54808 HMaster
也可以查看 WebUI,端口默认 16010

hbase 客户端
./hbase shell
status 查看状态,1个可用的master,0个备份,共1个服务(没有从节点一说,都计算到servers),0 宕机,2 负载
hbase:001:0> status
1 active master, 0 backup masters, 1 servers, 0 dead, 2.0000 average load
Took 1.8292 seconds
命令
创建table_name表, c1,c2 为族,一张表中,族创建越少越好(一般2~3个)
create 'table_name','c1','c2'
创建table_name表, 指定c1,c2族的可保留版本
create 'table_name',{NAME='c1',VERSION=>3},{NAME='c2',VERSION=>3}
查看所有表
list
给table_name插入数据 row1(行标识)行,c1族添加name列,name列的值是tom,如果改行该列已经有值,继续执行会覆盖。
put 'table_name','row1','c1:name','tom'
获取 table_name 的 row1(标识)行数据。
get 'table_name','row1'
获取 table_name 的 row1(标识)行,c1,c2...族的数据
get 'table_name','row1','c1','c2'
获取 table_name 的 row1(标识)行,c1族name列的数据
get 'table_name','row1','c1:name'
查看table_name表的所有数据
scan 'table_name'
查看table_name表的c1,c2 ...族的所有数据
scan 'table_name',{COLUMNS=>['c1','c2']}
查看table_name表的c1族name列的所有数据
scan 'table_name',{COLUMNS=>['c1:name']}
查看table_name表的历史数据(被修改过的值也会被查到),RAW开启对历史版本的查询,VERSION指定查询最新的几个版本的数据
scan 'table_name',{RAW=true,VERSION>=3}
删除table_name和 row1(行标识) 删除整行数据
deleteall 'table_name','row1'
删除表
disable 'table_name'
drop 'table_name'