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 命令后,新增了HMaster,HRegionServer,HQuorumPeer,则说明配置成功了
-
关闭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’ 表示值
添加格式如图:
-
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