基于上一节hadoop2高可用集群配置安装,下面我们来配置安装hbase数据库。
192.168.1.90 study-90 master
192.168.1.91 study-91 region
192.168.1.92 study-92 region
192.168.1.93 study-93 master region
一、安装
在study-90机器hadoop用户根目录下,下载hbase-1.1.2-bin.tar.gz安装软件,并解压
tar -zxvf hbase-1.1.2-bin.tar.gz
配置环境变量:vi ~/.bash_profile
HBASE_HOME=/home/hadoop/hbase-1.1.2
PATH=$HBASE_HOME/bin:$PATH
export HBASE_HOME HADOOP_HOME JAVA_HOME JRE_HOME CLASSPATH PATH
保存,退出。
执行 source ~/.bash_profile 使生效
二、配置Hbase
修改HBase的配置文件#HBASE_HOME/conf/hbase-env.sh 修改内容如下:
export JAVA_HOME=/home/hadoop/jdk1.7.0_79/
修改HBase的配置文件#HBASE_HOME/conf/hbase-site.xml,修改内容如下:
<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://study-90:9000/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>study-90:2181,study-91:2181,study-92:2181</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/hadoop/hbase-1.1.2/tmp</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>1200000</value>
</property>
<property>
<name>hbase.zookeeper.property.tickTime</name>
<value>6000</value>
</property>
</configuration>
创建tmp目录
mkdir /home/hadoop/hbase-1.1.2/tmp
修改HBase的配置文件#HBASE_HOME/conf/regionservers,修改内容如下:
study-91
study-92
study-93
配置master对节点
vi conf/backup-masters
study-90
study-93
将配置好的hbase-1.1.2复制到其他机器
scp -r hbase-1.1.2/ study-91:/home/hadoop/
scp -r hbase-1.1.2/ study-92:/home/hadoop/
scp -r hbase-1.1.2/ study-93:/home/hadoop/
三、启动HBase
在study-90上启动服务集群
./bin/start-hbase.sh
启动后,通过jps查询启动进程
[hadoop@study-93 hbase-1.1.2]$ jps -l
1761 org.apache.hadoop.hdfs.qjournal.server.JournalNode
3151 org.apache.hadoop.hbase.master.HMaster
3087 org.apache.hadoop.hbase.regionserver.HRegionServer
1828 org.apache.hadoop.hdfs.server.datanode.DataNode
1946 org.apache.hadoop.yarn.server.nodemanager.NodeManager
3409 sun.tools.jps.Jps
HMaster为hbase master进程
HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBase中最核心的模块。
也可以通过访问url地址访问查看MasteServer信息
http://192.168.1.90:16010/
可以看出主的master为stduy-90,备的为stduy-93,点击Region Servers查看RegionServer信息
单独启动master:./bin/hbase-daemon.sh start master --backup
单独启动regionserver:./bin/hbase-daemon.sh start regionserver
四、常用命令
进入命令行:./bin/hbase shell
查看表列:>list
创建表:>create 'table1',{NAME => 'user',VERSIONS=>'1'},{NAME => 'class',VERSIONS=>'1'}
查看表描述:>describe 'table1'
添加数据:>put 'table1','row001','class:name','203'
查询数据:>get 'table1','row001'
hbase(main):015:0> create 'table1',{NAME => 'user',VERSIONS=>'1'},{NAME => 'class',VERSIONS=>'1'}
0 row(s) in 4.5440 seconds
=> Hbase::Table - table1
hbase(main):016:0> list
TABLE
table1
1 row(s) in 0.0430 seconds
=> ["table1"]
hbase(main):001:0> describe 'table1'
Table table1 is ENABLED
table1
COLUMN FAMILIES DESCRIPTION
{NAME => 'class', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS =
> 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
{NAME => 'user', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS =>
'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
2 row(s) in 0.9010 seconds
hbase(main):002:0> put 'table1','row001','class:name','203'
0 row(s) in 0.2710 seconds
hbase(main):003:0> get 'table1','row001'
COLUMN CELL
class:name timestamp=1443544638784, value=203
1 row(s) in 0.0800 seconds
参考:
由于hadoop2.6与hbase1.1.2可能存在兼容问题,如下官方给出的兼容版本
-
"S" = supported
-
"X" = not supported
-
"NT" = Not tested
HBase-0.94.x | HBase-0.98.x (Support for Hadoop 1.1+ is deprecated.) | HBase-1.0.x (Hadoop 1.x is NOT supported) | HBase-1.1.x | HBase-1.2.x | |
---|---|---|---|---|---|
Hadoop-1.0.x | X | X | X | X | X |
Hadoop-1.1.x | S | NT | X | X | X |
Hadoop-0.23.x | S | X | X | X | X |
Hadoop-2.0.x-alpha | NT | X | X | X | X |
Hadoop-2.1.0-beta | NT | X | X | X | X |
Hadoop-2.2.0 | NT | S | NT | NT | NT |
Hadoop-2.3.x | NT | S | NT | NT | NT |
Hadoop-2.4.x | NT | S | S | S | S |
Hadoop-2.5.x | NT | S | S | S | S |
Hadoop-2.6.x | X | X | X | X | X |
Hadoop-2.7.0 | X | X | X | X | X |
Hadoop-2.7.1+ | NT | NT | NT | NT | S |