Linux上安装HBase
启动zookeeper和haboop
创建目录
mkdir -p /opt/soft
cd /opt/soft
下载软件
wget https://archive.apache.org/dist/hbase/2.5.3/hbase-2.5.3-hadoop3-bin.tar.gz
解压 Hbase
tar -zxvf hbase-2.5.3-hadoop3-bin.tar.gz
修改 hbase 目录名称
mv hbase-2.5.3-hadoop3-bin hbase2
配置环境变量
export HBASE_HOME=/opt/soft/hbase2
export PATH=$PATH:$HBASE_HOME/bin
使环境变量生效
source /etc/profile
修改配置文件
cd /opt/soft/hbase2/conf
hbase 环境变量
vim hbase-env.sh
export JAVA_HOME=/opt/soft/jdk8
export JAVA_CLASSPATH=.:/opt/soft/jdk8/lib/dt.jar:/opt/soft/jdk8/lib/tools.jar
export HBASE_CLASSPATH=/opt/soft/hadoop3/etc/hadoop
export HBASE_MANAGES_ZK=false
export HBASE_HEAPSIZE=1G
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP=true
hbase 配置文件
vim hbase-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- mycluster是根据hdfs-site.xml的dfs.nameservices的value进行配置 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://puegg/hbase</value>
</property>
<property>
<name>hbase.master</name>
<value>8020</value>
</property>
<!-- zookeeper集群 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>spark01:2181,spark02:2181,spark03:2181</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>
regionservers
vim regionservers
spark01
spark02
spark03
复制 hbase 到其他节点
scp -r /opt/soft/hbase2 root@spark02:/opt/soft/
scp -r /opt/soft/hbase2 root@spark03:/opt/soft/
复制环境变量到其他节点
scp /etc/profile root@spark02:/etc
scp /etc/profile root@spark03:/etc
# 在其他节点刷新环境变量
source /etc/profile
启动 hbase
start-hbase.sh
查看 Java 进程
jps
web ui
http://spark01:16010/
http://spark02:16010/
Hbase shell
hbase shell
使用帮助
help
查看集群状态
status
查看版本号
version
查看登录用户
whoami
操作表
查看表空间
list_namespace
创建表空间
create_namespace 'lihaozhe',{"author"=>"lihaozhe", "create_time"=>"2023-05-07 11:36:00"}
描述表空间
describe_namespace 'lihaozhe'
查看某表空间下有哪些表
list_namespace_tables 'lihaozhe'
删除表空间
drop_namespace 'lihaozhe'
指定命名空间创建表
create 'lihaozhe:user', 'info' , 'msg'
create 'lihaozhe:person', {NAME => 'info', VERSIONS => 5} , {NAME => 'msg', VERSIONS => 5}
查看当前存在哪些表
list
描述表
describe 'lihaozhe:person'
禁用表
disable 'lihaozhe:user'
验证表是否被禁用
is_disabled 'lihaozhe:user'
启用表
enable 'lihaozhe:user'
插入数据到表
put 'lihaozhe:person',1001,'info:name','user1001'
put 'lihaozhe:person',1001,'info:gender',1
put 'lihaozhe:person',1001,'msg:slogan','hello world'
查询
扫描全
scan 'lihaozhe:person'
按照指定 RowKey 查询
get 'lihaozhe:person', 1001
查询某 RowKey 下某列簇的值
get 'lihaozhe:person', 1001 , 'info'
查询表中某行+某一列簇+某一列的值
get 'lihaozhe:person', 1001 , 'info:name'
更新指定字段的数据
put 'lihaozhe:person',1001,'info:gender',0
统计数据
count 'lihaozhe:person'
删除数据
删除指定数据
delete 'lihaozhe:person',1001,'msg:slogan'
删除某RowKey下所有数据
deleteall 'lihaozhe:person',1001
清空表
truncate 'lihaozhe:person'
删除表
先禁用在删除不然会报错
disable 'lihaozhe:person'
drop 'lihaozhe:person'