Centos7安装HBase1.4
准备
1、hadoop集群已安装,这里将在Centos7安装Hadoop2.7的基础上安装hbase1.4,所以是同样的三台机器,其规划如下:
hostname | IP地址 | 部署规划 |
node1 | 172.20.0.4 | Master、RegionServer |
node2 | 172.20.0.5 | Backup-Master、RegionServer |
node3 | 172.20.0.6 | RegionServer |
2、官网下载安装包:hbase-1.4.12-bin.tar.gz(推荐去清华大学或中科大的开源镜像站)。
3、hbase将部署在三台都已存在的路径/mydata,配置环境变量:
export HBASE_HOME=/mydata/hbase-1.4.12 export PATH=${HBASE_HOME}/bin:$PATH
配置
先在node1上修改hbase的配置,完成后再统一复制到其他节点,保证配置内容一致。
解压hbase-1.4.12-bin.tar.gz到/mydata/,进入/mydata/hbase-1.4.12/conf,进行配置:
<!-- 文件名 hbase-site.xml --> <configuration> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://node1:9000/hbase</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>node1,node2,node3</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/mydata/data/zookeeper</value> </property> </configuration>
# 文件名 regionservers
node1
node2
node3
# 文件名 backup-masters 该文件需要新建 node2
配置项 | 含义 |
hbase.cluster.distributed |
分布式模式 |
hbase.rootdir |
hbase的数据存储位置,这里为hdfs的/hbase,host:port对应hadoop配置中的fs.defaultFS |
hbase.zookeeper.quorum |
所有要部署zookeeper的host,通常三台以上吧,最多当然可以每一台都部署 |
hbase.zookeeper.property.dataDir |
zookeeper运行时的数据存储位置 |
regionservers
|
所有RegionServer,通常部署到每一台DataNode上 |
backup-masters
|
作为备份的Master |
注:这里的zookeeper使用hbase自带的,当然也可以用外部已存在的,这里就不提了。
默认日志目录在$HBASE_HOME/logs,pid文件在/tmp,可以进行修改:
# 文件名 hbase-env.sh export HBASE_LOG_DIR=/mydata/logs/hbase export HBASE_PID_DIR=/mydata/data/pid
配置完成后将hbase程序文件拷贝到其他两台:
node1> scp -r /mydata/hbase-1.4.12/ root@node2:/mydata/ node1> scp -r /mydata/hbase-1.4.12/ root@node3:/mydata/
启动
node1> start-hbase.sh
node1上用jps命令验证进程 | HMaster、HRegionServer、HQuorumPeer |
node2上用jps命令验证进程 | HMaster、HRegionServer、HQuorumPeer |
node3上用jps命令验证进程 | HRegionServer、HQuorumPeer |
注:HQuorumPeer为zookeeper的进程,不部署zookeeper的节点没有它;若用外部zookeeper则进程名变为QuorumPeerMain。
测试
通过浏览器可以访问以下地址:
Master的后台 | http://node1:16010 |
RegionServer的后台 |
http://node1:16030
http://node2:16030 http://node3:16030 |
访问前者可以看到:
下面执行一个官方示例(下面的命令可以在任意一台部署了hbase的机器上执行):
node> hbase shell
hbase> create 'test', 'cf'
hbase> list 'test'
hbase> describe 'test'
hbase> put 'test', 'row1', 'cf:a', 'value1'
hbase> put 'test', 'row2', 'cf:b', 'value2'
hbase> put 'test', 'row3', 'cf:c', 'value3'
hbase> scan 'test'
hbase> get 'test', 'row1'
可以在浏览器中看到这个表的信息:http://node1:16010/table.jsp?name=test。
over