centos7部署hbase三台

本文档详细介绍了在CentOS7环境下,如何部署HBase三节点集群。内容涵盖前提条件、安装注意事项、配置文件修改以及启动和验证步骤,确保HBase集群的正确运行。

前提条件:

    假设Zookeeper、Hadoop服务已经部署完毕且和HBase在同一个集群,没部署完需要先部署Zookeeper、Hadoop。

安装前注意事项:

  • 检查HBASE集群每台服务器的时间是否是一致的,不然会导致集群启动异常,检查服务器时间用命令:date -R

安装并修改HBASE配置文件

hbase的配置文件在 HBASE_HOME/conf 下,需要修改的配置文件有:

    hbase-env.sh,hbase-site.xml,regionservers,backup-masters(该文件需要手动创建)

假设三台机器ip分别为:10.2.93.164、10.2.93.144、10.2.93.161,实际部署时换成实际IP,机器数量超过3时,操作同理。

在master 10.2.93.164上进行操作:

1、配置hbase-env.sh文件,该文件用于设置HBase的工作环境,包括 JAVA和其他环境变量的配置,该文件的改动需要重启HBase才能生效(默认配置文件中有详细的配置都注释掉了,可以):

# JAVA_HOME路径,可用echo $JAVA_HOME获得

export JAVA_HOME=/usr/local/jdk1.8

# 关闭Hbase自带的zookeeper集群

export HBASE_MANAGES_ZK=false

2、配置hbase-site.xml文件,HBase主要的配置文件,该文件可覆盖HBase的默认配置,可以在HBase Web UI的HBase配置选项中查看整个集群的有效配置,包括默认和覆盖的:

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<!--  这个目录是region服务器共享的目录,用来持久存储HBase的数据,

                    默认值为:${hbase.tmp.dir}/hbase,如果不修改这个配置,数据将会在集群重启时丢失。 -->

    <property>

        <name>hbase.rootdir</name>

        <!-- hadoop引入JQM负载均衡时,这里配置dfs.nameservices指定的集群逻辑名称 -->

        <value>hdfs://mycluster/hbase</value>

        <!-- 指定Hadoop master服务器的写法,hbase监听hdfs默认的端口是9000,这里的配置端口只能写9000 -->

        <!--<value>hdfs://ip:port/hbase</value>-->

    </property>

     

    <!-- 指定hbase集群为分布式集群 -->

    <property>

        <name>hbase.cluster.distributed</name>

        <value>true</value>

    </property>

    

    <!-- 指定zookeeper集群,有多个用英文逗号分隔 -->

    <property>

        <name>hbase.zookeeper.quorum</name>

        <value>10.2.93.164:8181,10.2.93.144:8181,10.2.93.161:8181</value>

    </property>

    <!-- Zookeeper元数据快照的存储目录(需要和Zookeeper的zoo.cfg 配置文件中的属性一致)  -->

    <property>

        <name>hbase.zookeeper.property.dataDir</name>

        <value>/home/aitpm/software/zookeeper-3.4.14/data</value>

    </property>

     

    <property>

    <name>hbase.master.port</name>

    <value>8610</value>

   </property>

 

   <property>

    <name>hbase.master.info.port</name>

    <value>8611</value>

   </property>

 

   <property>

    <name>hbase.regionserver.port</name>

    <value>8620</value>

   </property>

 

   <property>

    <name>hbase.regionserver.info.port</name>

    <value>8621</value>

   </property>   

    

  <!-- 指定HBase Master web页面访问端口,默认端口号16010 -->

    <!--

         <property>

        <name>hbase.master.info.port</name>

        <value>8601</value>

    </property>

   -->

    

   <!-- 指定HBase RegionServer web页面访问端口,默认端口号16030 -->

    <!---    <property>

        <name>hbase.regionserver.info.port</name>

        <value>8603</value>

    </property>

    -->

    

  <!-- 解决启动HMaster无法初始化WAL的问题 -->

    <property>

        <name>hbase.unsafe.stream.capability.enforce</name>

        <value>false</value>

    </property>

 

</configuration>

3、新建 backup-masters文件,添加备份HMaster机器名,该文件不能写注释,启动时会把注释的那行当成服务器列表而导致启动失败:

#改成实际机器名

10.2.93.164

4、修改regionservers配置文件,添加HBase集群中运行RegionSever的主机名或IP列表,每行一个(分布式部署可以把默认的一行localhost删除掉),该文件不能写注释,启动时会把注释的那行当成服务器列表而导致启动失败:

#改成实际机器名

10.2.93.164

10.2.93.144

5、Hadoop引入JQM负载均衡机制需要把Hadoop的core-site.xml和hdfs-site.xml两个配置文件拷贝到HBASE的配置文件目录中,不然会导致HBASE集群无法启动。不引入JQM就无须拷贝。

6、把hbase安装目录分发给其他节点,按照官方文档的提示,所有节点的配置文件信息要保持完全一样

scp -r /home/aitpm/software/hbase-2.2.5 10.2.93.144:/home/aitpm/software/

scp -r /home/aitpm/software/hbase-2.2.5 10.2.93.161:/home/aitpm/software/


启动HBASE服务

在master节点运行启动命令,会同步启动master的备份节点和regionServer节点:

cd /home/aitpm/software/hbase-2.2.5/bin

./start-hbase.sh

使用jps命令查看hbase进程

jps

master服务器和备用master服务器会启动HMaster,HRegionServer两个进程

slave服务器会启动HRegionServer一个进程

访问web页面查看是否正常:

master:http://10.2.93.164:8611/

backup master:http://10.2.93.144:8611/

region server(三个ip均可):http://10.2.93.164:8621/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值