HBase 系列(四)—— HBase 集群环境配置
一、集群规划
这里搭建一个 3 节点的 hbase 集群,其中三台主机上均为 regin server
。同时为了保证高可用,除了在 hadoop001 上部署主 master
服务外,还在 hadoop002 上部署备用的 master
服务。master 服务由 zookeeper 集群进行协调管理,如果主 master
不可用,则备用 master
会成为新的主 master
。
二、前置条件
hbase 的运行需要依赖 hadoop 和 jdk(hbase 2.0+
对应 jdk 1.8+
) 。同时为了保证高可用,这里我们不采用 hbase 内置的 zookeeper 服务,而采用外置的 zookeeper 集群。相关搭建步骤可以参阅:
三、集群搭建
3.1 下载并解压
下载并解压,这里我下载的是 cdh 版本 hbase,下载地址为:
# tar -zxvf hbase-1.2.0-cdh5.15.2.tar.gz
3.2 配置环境变量
# vim /etc/profile
添加环境变量:
export hbase_home=usr/app/hbase-1.2.0-cdh5.15.2 export path=$hbase_home/bin:$path
使得配置的环境变量立即生效:
# source /etc/profile
3.3 集群配置
进入 ${hbase_home}/conf
目录下,修改配置:
1. hbase-env.sh
# 配置jdk安装位置 export java_home=/usr/java/jdk1.8.0_201 # 不使用内置的zookeeper服务 export hbase_manages_zk=false
2. hbase-site.xml
<configuration> <property> <!-- 指定 hbase 以分布式集群的方式运行 --> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <!-- 指定 hbase 在 hdfs 上的存储位置 --> <name>hbase.rootdir</name> <value>hdfs://hadoop001:8020/hbase</value> </property> <property> <!-- 指定 zookeeper 的地址--> <name>hbase.zookeeper.quorum</name> <value>hadoop001:2181,hadoop002:2181,hadoop003:2181</value> </property> </configuration>
3. regionservers
hadoop001 hadoop002 hadoop003
4. backup-masters
hadoop002
backup-masters
这个文件是不存在的,需要新建,主要用来指明备用的 master 节点,可以是多个,这里我们以 1 个为例。
3.4 hdfs客户端配置
这里有一个可选的配置:如果您在 hadoop 集群上进行了 hdfs 客户端配置的更改,比如将副本系数 dfs.replication
设置成 5,则必须使用以下方法之一来使 hbase 知道,否则 hbase 将依旧使用默认的副本系数 3 来创建文件:
- add a pointer to your
hadoop_conf_dir
to thehbase_classpath
environment variable in hbase-env.sh.- add a copy of hdfs-site.xml (or hadoop-site.xml) or, better, symlinks, under ${hbase_home}/conf, or
- if only a small set of hdfs client configurations, add them to hbase-site.xml.
以上是官方文档的说明,这里解释一下:
第一种 :将 hadoop 配置文件的位置信息添加到 hbase-env.sh
的 hbase_classpath
属性,示例如下:
export hbase_classpath=usr/app/hadoop-2.6.0-cdh5.15.2/etc/hadoop
第二种 :将 hadoop 的 hdfs-site.xml
或 hadoop-site.xml
拷贝到 ${hbase_home}/conf
目录下,或者通过符号链接的方式。如果采用这种方式的话,建议将两者都拷贝或建立符号链接,示例如下:
# 拷贝 cp core-site.xml hdfs-site.xml /usr/app/hbase-1.2.0-cdh5.15.2/conf/ # 使用符号链接 ln -s /usr/app/hadoop-2.6.0-cdh5.15.2/etc/hadoop/core-site.xml ln -s /usr/app/hadoop-2.6.0-cdh5.15.2/etc/hadoop/hdfs-site.xml
注:
hadoop-site.xml
这个配置文件现在叫做core-site.xml
第三种 :如果你只有少量更改,那么直接配置到 hbase-site.xml
中即可。
3.5 安装包分发
将 hbase 的安装包分发到其他服务器,分发后建议在这两台服务器上也配置一下 hbase 的环境变量。
scp -r /usr/app/hbase-1.2.0-cdh5.15.2/ hadoop002:usr/app/ scp -r /usr/app/hbase-1.2.0-cdh5.15.2/ hadoop003:usr/app/
四、启动集群
4.1 启动zookeeper集群
分别到三台服务器上启动 zookeeper 服务:
zkserver.sh start
4.2 启动hadoop集群
# 启动dfs服务 start-dfs.sh # 启动yarn服务 start-yarn.sh
4.3 启动hbase集群
进入 hadoop001 的 ${hbase_home}/bin
,使用以下命令启动 hbase 集群。执行此命令后,会在 hadoop001 上启动 master
服务,在 hadoop002 上启动备用 master
服务,在 regionservers
文件中配置的所有节点启动 region server
服务。
start-hbase.sh
4.5 查看服务
访问 hbase 的 web-ui 界面,这里我安装的 hbase 版本为 1.2,访问端口为 60010
,如果你安装的是 2.0 以上的版本,则访问端口号为 16010
。可以看到 master
在 hadoop001 上,三个 regin servers
分别在 hadoop001,hadoop002,和 hadoop003 上,并且还有一个 backup matser
服务在 hadoop002 上。
hadoop002 上的 hbase 出于备用状态:
更多大数据系列文章可以参见 github 开源项目: 大数据入门指南
推荐阅读
-
HBase 系列(四)—— HBase 集群环境配置
-
Ubuntu16.04下伪分布式环境搭建之hadoop、jdk、Hbase、phoenix的安装与配置
-
阿里云HBase推出普惠性高可用服务,独家支持用户的自建、混合云环境集群 hbase金融中间件
-
大数据系列四:HBASE
-
HBase本地环境的配置与搭建
-
Hadoop2.7.1+Hbase1.2.1集群环境搭建(6)snappy安装
-
Hadoop2.7.1+Hbase1.2.1集群环境搭建(5)hbase安装
-
Hadoop2.7.1+Hbase1.2.1集群环境搭建(5)hbase安装
-
Hadoop2.7.1+Hbase1.2.1集群环境搭建(4)hbase安装准备
-
Hadoop2.7.1+Hbase1.2.1集群环境搭建(9)spring-hadoop实战