HBase数据库的安装与配置

1. 安装
  • 下载HBase压缩包(注意:HBase对Hadoop的版本具有依赖性,需根据自己的hadoop版本下载合适版本的hbase)HBase下载地址本人的Hadoop版本是3.2.1,配置的是HBase2.2.2
  • 将压缩包解压到/usr/local
sudo tar -xzvf ~/下载/hbase-2.2.2-bin.tar.gz -C /usr/local
  • 将hbase-2.2.2 (注意改为你的版本号) 重命名为hbase
cd /usr/local
sudo mv ./hbase-2.2.2 ./hbase
  • 给hadoop用户赋权限(你的当前用户)
sudo chown -R hadoop ./hbase
2. 配置
单机模式
  • 配置 /usr/local/hbase/conf/hbase-env.sh
vim /usr/local/hbase/conf/hbase-env.sh

添加 Java 路径:

将 HBASE_MANAGES_ZK 的值改为true:

  • 配置 /usr/local/hbase/conf/hbase-site.xml
vim /usr/local/hbase/conf/hbase-site.xml

将 configuration 里的内容替换为:

<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>file:///usr/local/hbase/hbase-tmp</value>
        </property>
</configuration>
  • 查看 hbase 的版本
./hbase version
  • 启动 hbase
cd /usr/local/hbase/bin
./start-hbase.sh

输入 jps 出现 HMaster和Jps,则表明配置成功

  • 关闭 hbase
./stop-hbase.sh
伪分布模式
  • 配置/usr/local/hbase/conf/hbase-env.sh
gedit /usr/local/hbase/conf/hbase-env.sh

在配置单机模式的基础上,新添加一次修改,去掉 HBASE_CLASSPATH 前的 # 号

  • 配置 /usr/local/hbase/conf/hbase-site.xml
    将 configuration 里的内容替换为:
<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://localhost:9000/hbase</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>

hbase伪分布模式的启动顺序应遵循:启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop

  • 启动Hadoop
cd /usr/local/hadoop
./sbin/start-dfs.sh		# 启动hadoop
jps		# 查看是否成功启动
  • 启动hbase
cd /usr/local/hbase/bin
./start-hbase.sh		# 启动hbase
jps		# 查看是否成功启动

输入 jps 命令后,新增了HMasterHRegionServerHQuorumPeer,则说明配置成功了

  • 关闭hbase
cd /usr/local/hbase/bin
./stop-hbase.sh
  • 关闭Hadoop
cd /usr/local/hadoop
./sbin/stop-dfs.sh

HBase Shell命令操作

首先应该启动hbase,注意伪分布模式的启动顺序

  • 进入shell界面
cd /usr/local/hbase/bin
./hbase shell
  • 用shell命令创建数据表,如创建学生表 Student(S_ID, S_Name, S_Sex, S_Age)
create 'Student','S_ID','S_Name','S_Sex','S_Age'

如出现 Master is initializing 错误:

解决办法:关闭 hbase,先启动 HRegionServer,然后启动 Hmaster,再启动 hbase

cd /usr/local/hbase/bin
./stop-hbase.sh							# 关闭 hbase
./hbase-daemon.sh start regionserver	# 启动 HRegionServer服务
./hbase-daemon.sh start master			# 启动 HMaster服务
./start-hbase.sh						# 启动 hbase

也许本方法对你的问题不适用,网上还有许多类似问题的解决方法,奥力给!!!

  • 可用 describe 命令查看表的基本信息,如学生表 Student:
describe 'Stuednt'
  • 添加数据,用 put 命令
help "put"		# 查看put的添加格式

‘t1’ 表示需添加数据的表,‘r1’ 表示添加的行,‘c1’ 表示添加的列,‘value’ 表示值

添加格式如图:


hbase 显示所有数据库的命令 hbase数据库查询命令_Hadoop

  • put命令也可用于更新操作,如:
put 'Student','3','S_ID','007'
put 'Student','3','S_ID','008'

最终学生表第三行得到 ‘S_ID’ 数据应为 ‘008’

  • 查看所有数据用 scan 命令,如查询Student表的所有数据
scan 'Student'
  • 查询任意一条数据用 get 命令,如查询学生表的第3行数据
get 'Student','3'
  • 删除表需分两步,如删除学生表
disable 'Student'	# 是该表不可用
drop 'Student'		# 删除该表
  • 删除一个数据用 delete 命令,如删除学生表第3行的学生姓名(为啥听见了磨刀声,居然是 ‘宝儿姐’,罪过、罪过)
delete 'Student','3','S_Name'

这样就删除了 ‘宝儿姐’ 这个数据,小的再也不敢了😱😱

  • 删除一行数据用 deleteall 命令 ,如删除第三行数据
deleteall 'Student','3'
  • 查询当前有多少数据表
list
  • 退出shell界面
exit

最后就是关闭hbase—>关闭Hadoop