最近需要用到hbase做测试,想在本地搭建一个单机版的hbase,上网上找了很多例子,只能说坑很多,但还是爬出来了,在这儿给大家做个参考:
1.安装jdk
这个对于开发人员来说应该不是什么问题,安装完成之后在/etc/profile下配置一下环境变量
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
2.下载hbase
下载完成后解压
修改配置文件
cd 到你的hbase目录下
修改conf下的hbase-site.xml文件
添加:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/xxx/software/hbase-1.2.10/data</value>
</property>
</configuration>
file:///home/xxx/software/hbase-1.2.10/data是存放hbase数据的地方,可以自己自行设置,但是需要有权限
修改conf下的hbase-env.sh文件
添加jdk,并且使用hbase自带的zk:
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export HBASE_MANAGES_ZK=true
启动hbase
保存之后就可以启动了,启动命令在hbase的bin目录下start-hbase.sh,
./bin/start-hbase.sh
启动成功之后进入到hbase的shell当中,
./bin/hbase shell
成功之后会进入到hbase的shell命令行出现如下:
hbase(main):001:0>
就代表启动成功了
测试:
输入:status 会出现大概如下内容:1 active master, 0 backup masters, 1 servers, 0 dead, 3.0000 average load
创建test表:
hbase(main):003:0> create 'test', 'cf'
0 row(s) in 1.3410 seconds
hbase(main):004:0> list
TABLE
test
向test表里写入一条数据:
hbase(main):005:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.1110 seconds
查看test表内容:
hbase(main):010:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1488243635205, value=value1
1 row(s) in 0.0430 seconds
Get第一条记录:
hbase(main):011:0> get 'test', 'row1'
COLUMN CELL
cf:a timestamp=1488243635205, value=value1
1 row(s) in 0.0540 seconds
exit退出hbase shell
其实整个过程还是比较容易的,只不过网上的坑太多了,如果过程当中遇到问题,建议去hbase当中查看log目录下的日志文件,具体哪个地方出错了在日志文件一般都可以看得到,这样就可以对症下药了,希望对大家有帮助。