HBase集群搭建
HBase官网:http://hbase.apache.org/
考虑点:
版本选择 企业常用的:0.96,0.98,hbase-2.x,这里我们选择1.2.12版本
兼容问题 hadoop-2.7.7 hbase-1.2.12
依赖环境 HDFS, ZooKeeper, JDK
资源评估
集群结构 主从架构 master/regionserver
集群规划
我们准备三台服务器,分别是 bigdata02, bigdata03, bigdata04,他们的角色分别如下表所示:
Syntax | ZooKeeper | HMaster | HRegionServer |
---|---|---|---|
bigdata02 | √ | √ | √ |
bigdata03 | √ | √ | |
bigdata04 | √ | √ | √ |
版本选择:不新不旧的稳定兼容的版本
1、JDK-1.8
2、HBase-1.2.x
3、Hadoop-2.7.1+
安装步骤
1、安装zookeeper集群,此处略
2、下载安装包
找到官网下载 hbase 安装包 hbase-1.2.12-bin.tar.gz,这里给大家提供一个下载地址:
http://mirrors.hust.edu.cn/apache/hbase/
对应版本的官方文档:http://hbase.apache.org/1.2/book.html
如果要下载其他的版本:http://archive.apache.org/dist/hbase/
3、上传安装包到服务器,并解压到对应的安装目录
[bigdata@bigdata02 ~]$ tar -zxvf ~/soft/hbase-1.2.12-bin.tar.gz -C ~/apps/
4、 修改配置文件:hbase-env.sh
[bigdata@bigdata02 ~]$ cd ~/apps/hbase-1.2.12/conf/
[bigdata@bigdata02 ~]$ vi hbase-env.sh
修改两个两地方:
export JAVA_HOME=/usr/local/java/jdk1.8.0_73 # 表示修改为自己的jdk目录
export HBASE_MANAGES_ZK=false # 默认为true,改为false,表示不用自带的zookeeper
保存退出
5、修改集群配置文件:hbase-site.xml
增加以下配置:
<configuration>
<property>
<!-- 指定hbase表数据在HDFS上存储的根路径 -->
<name>hbase.rootdir</name>
<value>hdfs://hadoop277ha/hbase1212</value>
</property>
<property>
<!-- 指定hbase是分布式的集群模式 -->
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<!-- 指定zookeeper的地址,多个用","分割 -->
<name>hbase.zookeeper.quorum</name>
<value>bigdata02:2181,bigdata03:2181,bigdata04:2181</value>
</property>
</configuration>
6、修改regionservers
执行命令:
[bigdata@bigdata02 conf]$ vi regionservers
添加如下内容:
bigdata02
bigdata03
bigdata04
7、修改backup-masters
该文件是指定备用的主节点,默认不存在的,先自行创建:
[bigdata@bigdata02 conf]$ touch backup-masters
执行命令:
[bigdata@bigdata02 conf]$ vi backup-masters
然后往文件中增加如下内容,配置你的backup master节点
bigdata04
8、拷贝hadoop的核心配置文件过来
最重要一步,要把hadoop的hdfs-site.xml和core-site.xml放到hbase-1.2.6/conf下,如果不是HA的Hadoop集群,那可以不用拷贝
[bigdata@bigdata02 conf]$ cp ~/apps/hadoop-2.7.7/etc/hadoop/core-site.xml ~/apps/hbase-1.2.12/conf/
[bigdata@bigdata02 conf]$ cp ~/apps/hadoop-2.7.7/etc/hadoop/hdfs-site.xml ~/apps/hbase-1.2.12/conf/
9、 分发安装包到各节点,注意安装路径要一样!
[bigdata@bigdata02 apps]$ scp -r hbase-1.2.12/ bigdata03:$PWD
[bigdata@bigdata02 apps]$ scp -r hbase-1.2.12/ bigdata04:$PWD
10、 同步服务器时间
HBase集群对于时间的同步要求的比HDFS严格,所以,集群启动之前千万记住要进行时间同步,要求相差不要超过30s,这个操作,我们最开始在准备集群的时候,就应该已经做了。
11、 配置环境变量
[bigdata@bigdata02 ~]$ vi ~/.bashrc
添加两行:
export HBASE_HOME=/home/bigdata/apps/hbase-1.2.12
export PATH=$PATH:$HBASE_HOME/bin
然后分发该环境变量配置文件到所有节点,或者挨个儿节点进行环境变量配置都可以
[bigdata@bigdata02 ~]$ scp -r ~/.bashrc bigdata03:$PWD
[bigdata@bigdata02 ~]$ scp -r ~/.bashrc bigdata04:$PWD
保存退出!!!别忘了执行命令,使配置生效
[bigdata@bigdata02 ~]$ source ~/.bashrc
[bigdata@bigdata03 ~]$ source ~/.bashrc
[bigdata@bigdata04 ~]$ source ~/.bashrc
12、 启动(顺序别搞错了)
保证ZooKeeper集群和HDFS集群启动正常的情况下启动HBase集群
1、先启动zookeeper集群(每个节点分别启动)
zkServer.sh start
2、启动hdfs集群(随便哪个节点都可以)
start-dfs.sh
3、启动hbase(在主节点上启动,我的是bigdata02和bigdata04)
[bigdata@bigdata02 ~]$ start-hbase.sh
观看启动日志可以看到:
1、首先在命令执行节点启动master
2、然后分别在bigdata02,bigdata03,bigdata04启动regionserver
3、然后在backup-masters文件中配置的备节点上再启动了一个master主进程
13、 查看启动是否正常,是否成功
1、检查各进程是否启动正常
主节点和备用节点都启动hmaster进程
各从节点都启动hregionserver进程
2、通过访问浏览器页面:http://bigdata02:16010/ 或者 http://bigdata04:16010/
14、如果有节点相应的守护进程没有启动,那么可以手动启动
hbase-daemon.sh start master
hbase-daemon.sh start regionserver
15、基本使用
hbase shell
list