摘要:基于hadoop2.7.3生态圈及zookeeper3.4.9的集群资源管理来搭建hbase1.3.1; 首先对源代码的下载,编译前的配置修改,使用maven工具进行编译打包,并对编译后的文件进行安装配置,到最后的使用例子;整套思路可以入门提供参考。
前置
linux集群系统配置:[1] 大数据学习前夕[01]:系统-网络-SSH
JDK环境:[2] 大数据学习前夕[02]:JDK安装升级
编译打包:[3] 大数据学习前夕[03]:Maven安装
zookeeper集群环境:[4] 大数据学习[01]:zookeeper环境配置
hadoop集群环境:[5] 大数据学习[02]:hadoop安装配置
查看版本
现在hadoop安装的是hadoop2.7.3,到官网查看一下应该安装什么版本的hbase,来源[6]Apache HBase ™ Reference Guide
可以选择HBase-1.3.x,选择hbase1.3.1。
另外,由于hbase1.3.1官网编译的是以hadoop2.5.1来编译的,所以要生成一个下hadoop2.7.3的hbase, 所以选择下载源码,接着安装。
下载
可以到这里下载
http://download.csdn.net/download/ld326/9981411
或
[hadoop@hadoop01 ~]$ wget http://archive.apache.org/dist/hbase/1.3.1/hbase-1.3.1-src.tar.gz
解压
[hadoop@hadoop01 ~]$ tar zxvf hbase-1.3.1-src.tar.gz
编译
查看hbase源码中的pom.xm文件[果然是支持2.5.1]:
修改hbase文件夹下的pom.xml文件,把hadoop-two修改为2.7.3;
同时也修改<compileSource>1.8</compileSource>【原来是1.7的】
到hbase 的 home目录下进行编译:
[hadoop@hadoop01 hbase]$ mvn clean package -DskipTests -Prelease assembly:single
找到目录:{$hbase_home}/hbase-assembly/target,有个hbase-1.3.1-bin.tar.gz文件为最后编译的结果
安装
把这个编译好的文件放到了用户hadoop的home目录下,解压,
然后配置;
复制hdfs-site.xml
[hadoop@hadoop01 conf]$ cp ~/hadoop/etc/hadoop/hdfs-site.xml ~/hbase-1.3.1/conf/
配置hbase-env.sh
[hadoop@hadoop01 conf]$ vim hbase-env.sh
export JAVA_HOME=/home/hadoop/jdk1.8.0_144
# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false
HBASE_MANAGES_ZK=false
意思是,不用hbase自带的,用现在有的zk。
配置hbase-site.xml
[hadoop@hadoop01 conf]$ vim hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop01:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/hadoop/hbase-1.3.1/tmp</value>
</property>
<property>
<name>hbase.regionserver.port</name>
<value>60020</value>
</property>
<property>
<name>hbase.regionserver.info.port</name>
<value>60030</value>
</property>
配置regionservers
[hadoop@hadoop01 conf]$ vim regionservers
hadoop01
hadoop02
hadoop03
regionservers相当于hadoop的slaves文件。
创建文件夹
[hadoop@hadoop01 hbase-1.3.1]$ mkdir tmp
复制
[hadoop@hadoop01 ~]$ scp -r hbase-1.3.1 hadoop@hadoop02:~/
[hadoop@hadoop01 ~]$ scp -r hbase-1.3.1 hadoop@hadoop03:~/
启动hbase服务
启动hbase[在启动前记得hadoop与zookeeper都启动了]
[hadoop@hadoop01 sbin]$ start-all.sh #启动hadoop
[hadoop@hadoop01 bin]$ zookeeper-3.4.9/bin/zkServer.sh start #[三个机器都要启动]
[hadoop@hadoop01 bin]$ start-hbase.sh #启动hbase
主节点:
slave节点:
启动hbase shell
[hadoop@hadoop02 ~]$ hbase shell
hbase测试
hbase(main):004:0> whoami
hadoop (auth:SIMPLE)
groups: hadoop
hbase(main):005:0> create 't1',{NAME => 'f1', VERSIONS => 2},{NAME => 'f2', VERSIONS => 2}
0 row(s) in 2.4140 seconds
=> Hbase::Table - t1
hbase(main):006:0> put 't1','rowkey001','f1:col1','value01'
0 row(s) in 0.3310 seconds
hbase(main):007:0> put 't1','rowkey002','f1:col1','value02'
0 row(s) in 0.0200 seconds
hbase(main):008:0> scan 't1'
ROW COLUMN+CELL
rowkey001 column=f1:col1, timestamp=1505562225906, value=value01
rowkey002 column=f1:col1, timestamp=1505562279095, value=value02
2 row(s) in 0.0830 seconds
web可视化
http://hadoop01:60010/master-status
查看刚才创建的表
关闭hbase
[hadoop@hadoop01 ~]$ hbase-1.3.1/bin/stop-hbase.sh
参考引用
[1] 大数据学习前夕[01]:系统-网络-SSH
[2] 大数据学习前夕[02]:JDK安装升级
[3] 大数据学习前夕[03]:Maven安装
[4] 大数据学习[01]:zookeeper环境配置
[5] 大数据学习[02]:hadoop安装配置
[6] Apache HBase ™ Reference Guide
【作者:happyprince; http://blog.csdn.net/ld326/article/details/78010246】