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/localsudo 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 # 启动hadoopjps # 查看是否成功启动
-
启动hbase
cd /usr/local/hbase/bin./start-hbase.sh # 启动hbasejps # 查看是否成功启动
输入 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