HBase完全分布式搭建

  1. 前言
    HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
    HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。
  2. HBase架构
    HBase架构图

Hbase基本组件
Client:
包含访问Hbase的接口,并维护cache来加快对Hbase的访问,比如region的位置信息。
HMaster:
是hbase集群的主节点,可以配置多个,用来实现HA
为RegionServer分配region
负责RegionServer的负载均衡
发现失效的RegionServer并重新分配其上的region

RegionServer:
Regionserver维护region,处理对这些region的IO请求
Regionserver负责切分在运行过程中变得过大的region

Region:
分布式存储的最小单元。

Zookeeper作用:
通过选举,保证任何时候,集群中只有一个活着的HMaster,HMaster与RegionServers 启动时会向ZooKeeper注册
存贮所有Region的寻址入口
实时监控Region server的上线和下线信息。并实时通知给HMaster
存储HBase的schema和table元数据
Zookeeper的引入使得HMaster不再是单点故障

  1. HBase搭建
    准备:
    1. jdk安装
    2. zookeeper安装, 版本 zookeeper-3.4.5-cdh5.14.0, 下载 , zookeeper搭建可以看这里, zookeeper搭建
    3. Hadoop安装,版本 hadoop-2.6.0-cdh5.14.0, 下载
    4. 下载依赖包, 版本hbase-1.2.0-cdh5.14.0, 下载
    5. 节点分布
      节点分布
      安装:
      安装大致步骤,上传依赖包,解压,修改配置文件,分发,然后启动
      软件上传目录/home/software, 软件安装目录/home/office.
      在bdata01机器上,上传安装包,解压.tar -zxvf hbase-1.2.0-cdh5.14.0.tar.gz -C ../office
      把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下.这里也可以用软连接的方式,将hdfs-site.xml和core-site.xml 放到hbase/conf下.
      进入安装目录,进入hbase的conf目录,修改主要配置文件. 主要配置文件hbase-env.sh, hbase-site.xml, regionservers, backup-masters,
      修改 hbase-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_74/
#logs 和 pids 可以不修改,使用默认即可
export HBASE_LOG_DIR=/home/office/hbase-1.2.0-cdh5.14.0/logs
export HBASE_PID_DIR=/home/office/hbase-1.2.0-cdh5.14.0/pids
# 这里的意思是使用外部zookeeper
export HBASE_MANAGES_ZK=false

修改 修改 hbase-site.xml

<configuration>
        <!-- 指定ZooKeeper集群位置 -->
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>bdata01,bdata02,bdata03</value>
        </property>

        <!-- Zookeeper写数据目录,与ZooKeeper集群上配置相一致 -->
        <property>
                <name>hbase.zookeeper.property.dataDir</name>
                <value>/home/office/zookeeper-3.4.5-cdh5.14.0/zkdata</value>
        </property>

        <!-- Zookeeper的端口号 -->
        <property>
                <name>hbase.zookeeper.property.clientPort</name>
                <value>2181</value>
        </property>

        <!-- RegionServers共享目录 -->
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://bdata01:8020/hbase</value>
        </property>
	
        <!-- 开启分布式模式 -->
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <!-- 指定Hbase的master的位置 -->
        <property>
                <name>hbase.master</name>
                <value>hdfs://bdata01:60000</value>
        </property>
        <!-- 使用本地文件系统设置为false,使用hdfs设置为true -->
        <property>
                <name>hbase.unsafe.stream.capability.enforce</name>
                <value>true</value>
        </property>
</configuration>

修改regionservers文件

bdata03
bdata04

修改 backup-masters来指定备用的主节点

bdata02

分发,将hbase分发到bdata02, bdata03, bdata04.

[root@bdata01 office ]$  scp -r hbase-1.2.0-cdh5.14.0/ bdata02:$PWD
[root@bdata01 office ]$  scp -r hbase-1.2.0-cdh5.14.0/ bdata03:$PWD
[root@bdata01 office ]$  scp -r hbase-1.2.0-cdh5.14.0/ bdata04:$PWD

分发完成后启动,在bdata01机器上启动hbasebin/start-hbase.sh, 注意,在启动hbase之前,一定要先启动zookeeper和hadoop.

通过浏览器访问hbase管理页面,cdh5.14.0 hbase访问端口60010.
页面管理
HBase搭建完成.

posted @ 2019-04-21 17:52  胖子坠  阅读(38)  评论(0)    收藏  举报