前提条件:hadoop及zookeeper机群已经搭建好。
配置hbase集群步骤:
1.配置hbase集群,要修改3个文件
注意:要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下
1.1修改hbase-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_144
//告诉hbase使用外部的zk
export HBASE_MANAGES_ZK=false
1.2修改hbase-site.xml
vim hbase-site.xml
<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://ns1/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>slave2:2181,slave1:2181,master:2181</value>
</property>
</configuration>
1.3修改regionservers
vim regionservers
master
slave1
slave2
拷贝hbase到其他节点
scp -r /home/hbase/ root@slave1:/home/
scp -r /home/hbase/ root@slave2:/home/
2.启动所有的hbase
分别启动zk
./zkServer.sh start
启动hbase集群
start-dfs.sh
启动hbase,在主节点上运行:
start-hbase.sh
3.为保证集群的可靠性,要启动多个HMaster
hbase-daemon.sh start master
4.测试机群:
master节点:
[root@master hbase]# jps
2353 ResourceManager
1778 QuorumPeerMain
5303 HRegionServer
5176 HMaster
1946 NameNode
2236 DFSZKFailoverController
5868 Jps
slave1节点:
[root@master hbase]# ssh slave1
Last login: Mon Nov 13 12:11:07 2017 from master
[root@slave1 ~]# jps
31616 DFSZKFailoverController
594 HRegionServer
1076 Jps
822 Main
31338 JournalNode
31485 DataNode
31742 NodeManager
31262 QuorumPeerMain
31423 NameNode
在master上创建Table
hbase(main):001:0> list
TABLE
0 row(s) in 0.7440 seconds
=> []
hbase(main):002:0> create 'user','info','data'
0 row(s) in 4.4950 seconds
=> Hbase::Table - user
hbase(main):003:0> list
TABLE
user
1 row(s) in 0.0170 seconds
=> ["user"]
在slave验证
[root@slave1 ~]# /home/hbase/bin/hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.2.6, rUnknown, Mon May 29 02:25:32 CDT 2017
hbase(main):001:0> list
TABLE
user
1 row(s) in 0.6040 seconds
=> ["user"]