HBase安装配置之完全分布式模式
作者:
Michael日期:2014
年3月10日发表评论(0)查看评论
HBase安装模式有三种:单机模式、分布式(伪分布式和完全分布式)。本教程介绍了HBase的完全分布式模式安装配置的过程,分布式模式均需要依赖于HDFS。
基础环境
安装配置
[一]、环境说明
JDK1.6+
Hadoop2.2.0
CentOS6.4
HBase-0.99.0-hadoop2
Hadoop集群机器对应于HBase用途如下:
hostname | IP | Hadoop用途 | HBase用途 |
Master.Hadoop | 192.168.13.33 | NameNode/ResouceManager | HMaster |
Slave0.Hadoop | 192.168.13.30 | DataNode/NodeManager | HRegionServer/HQuorumPeer |
Slave1.Hadoop | 192.168.13.31 | DataNode/NodeManager | HRegionServer/HQuorumPeer |
Slave2.Hadoop | 192.168.13.32 | DataNode/NodeManager | HRegionServer/HQuorumPeer |
Slave4.Hadoop | 192.168.13.34 | DataNode/NodeManager | HRegionServer/HQuorumPeer |
Slave5.Hadoop | 192.168.13.35 | DataNode/NodeManager | HRegionServer/HQuorumPeer |
有关hadoop2的集群安装配置参考:http://blog.csdn.net/san1156/article/details/41346183
[二]、安装配置
1、下载发布包
到HBase官方下载最新的版本hbase-0.99.0-bin.tar.gz
(支持hadoop2)为例:
$tarxfzhbase-0.98.0-bin.tar.gz
$cdhbase-0.98.0
$ln-shbase-0.98.0hbase
注意:由于HBase依赖Hadoop,在分布式模式下,Hadoop版本必须和HBase下的版本一致。用你运行的分布式Hadoop版本jar文件替换HBaselib目录下的Hadoopjar文件,以避免版本不匹配问题,也可以根据情况自己编译发布包。----------------------暂时未替换
2、配置系统环境
#HBasemicmiu.comexport
exportHBASE_HOME=/home/hbase
exportPATH=$HBASE_HOME/bin:$PATH
3、配置HBase参数
修改配置文件:<HBASE_HOME>/conf/hbase-env.sh
exportJAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk.x86_64
修改配置文件:<HBASE_HOME>/conf/hbase-site.xml
2 | <name>hbase.rootdir</name> |
3 | <!--
和hdfs中配置的fs.defaultFS一致bymicmiu.com--> |
4 | <value>hdfs://Master.Hadoop:9000/hbase</value> |
7 | <name>hbase.cluster.distributed</name> |
11 | <name>hbase.zookeeper.quorum</name> |
12 | <!--
设置zk集群的主机,建议奇数bymicmiu.com--> |
13 | <value>Slave0.Hadoop,Slave1.Hadoop,Slave2.Hadoop, Slave4.Hadoop,Slave5.Hadoop</value> |
16 | <name>hbase.zookeeper.property.dataDir</name> |
17 | <value>/home/hadoop/data/zookeeper</value> |
修改配置文件:<HBASE_HOME>/conf/regionservers
Slave0.Hadoop,Slave1.Hadoop,Slave2.Hadoop,Slave4.Hadoop,Slave5.Hadoop
注意:在HBase集群的所有机器上(一台Master:Master.Hadoop,三台RS:Slave5.Hadoop,Slave6.Hadoop,Slave7.Hadoop
共4台设备)都需要执行上面的所有安装配置过程。
4、演示
启动HBase之前确保HDFS已经启动,和单机模式的演示过程基本一致。
4.1、启动HBase:
在Master机器Master.Hadoop(192.168.6.77)上执行启动脚本:
1 | [hadoop@Master
~]$start-hbase.sh |
2 | Master.Hadoop:
startingzookeeper,loggingto/usr/ local /hbase/bin/../logs/hbase-hadoop-zookeeper-Slave7.Hadoop.out |
3 | Slave5.Hadoop:
startingzookeeper,loggingto/usr/ local /hbase/bin/../logs/hbase-hadoop-zookeeper-Slave5.Hadoop.out |
4 | Slave6.Hadoop:
startingzookeeper,loggingto/usr/ local /hbase/bin/../logs/hbase-hadoop-zookeeper-Slave6.Hadoop.out |
5 | starting
master,loggingto/usr/ local /hbase/logs/hbase-hadoop-master-Master.Hadoop.out |
6 | localhost:
startingregionserver,loggingto/usr/ local /hbase/bin/../logs/hbase-hadoop-regionserver-Master.Hadoop.out |
打开http://Master.Hadoop(192.168.6.77):16030主界面,可以查看Master运行状态。
打开http://SlaveX.Hadoop(192.168.8.20x):16030主界面,可以查看RegionServer运行状态
4.2、shell演示建表、插入数据、查询数据、删除表
2 | 2014-03-10
16:31:46,216INFO[main]Configuration.deprecation:hadoop.native.libisdeprecated.Instead,useio.native.lib.available |
3 | HBase
Shell;enter 'help<RETURN>' for list
ofsupportedcommands. |
4 | Type "exit<RETURN>" to
leavetheHBaseShell |
5 | Version
0.98.0-hadoop2,r1565492,ThuFeb616:46:57PST2014 |
7 | hbase(main):001:0>
create 'test_distributed' , 'cf' |
8 | SLF4J:
ClasspathcontainsmultipleSLF4Jbindings. |
9 | SLF4J:
Foundbinding in [jar: file :/usr/ local /hbase-0.98.0-hadoop2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class] |
10 | SLF4J:
Foundbinding in [jar: file :/usr/ local /hadoop-2.2.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] |
11 | SLF4J:
Seehttp://www.slf4j.org/codes.html #multiple_bindings
foranexplanation. |
12 | 0
row(s) in 1.4320
seconds |
14 | =>
Hbase::Table-test_distributed |
15 | hbase(main):002:0>
list |
18 | 1
row(s) in 0.0390
seconds |
20 | =>
[ "test_distributed" ] |
21 | hbase(main):003:0>
put 'test_distributed' , 'row1' , 'cf:a' , 'micmiu.com' |
22 | 0
row(s) in 0.0670
seconds |
24 | hbase(main):004:0>
put 'test_distributed' , 'row2' , 'cf:b' , 'sjsky.iteye.com' |
25 | 0
row(s) in 0.0130
seconds |
27 | hbase(main):005:0>
put 'test_distributed' , 'row3' , 'cf:c' , 'baby.micmiu.com' |
28 | 0
row(s) in 0.0090
seconds |
30 | hbase(main):006:0>
scan 'test_distributed' |
32 | row1 column=cf:a,timestamp=1394440732360,value=micmiu.com |
33 | row2 column=cf:b,timestamp=1394440750501,value=sjsky.iteye.com |
34 | row3 column=cf:c,timestamp=1394440765951,value=baby.micmiu.com |
35 | 3
row(s) in 0.0230
seconds |
37 | hbase(main):007:0>
get 'test_distributed' , 'row1' |
39 | cf:a timestamp=1394440732360,value=micmiu.com |
40 | 1
row(s) in 0.0110
seconds |
42 | hbase(main):008:0>
disable 'test_distributed' |
43 | 0
row(s) in 1.4540
seconds |
45 | hbase(main):009:0>
drop 'test_distributed' |
46 | 0
row(s) in 0.2470
seconds |
4.3、停止HBase:stop-hbase.sh
1 | [hadoop@Master ~]$stop-hbase.sh |
2 | stopping
hbase............... |
3 | Slave7.Hadoop: stoppingzookeeper. |
4 | Slave5.Hadoop: stoppingzookeeper. |
5 | Slave6.Hadoop: stoppingzookeeper. |
到此完全分布式模式的安装配置的介绍结束。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理