• 新闻实时分析系统-HBase分布式集群部署与设计


    HBase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群。

    HBase 是Google Bigtable 的开源实现,与Google Bigtable 利用GFS作为其文件存储系统类似, HBase 利用Hadoop HDFS 作为其文件存储系统;Google 运行MapReduce 来处理Bigtable中的海量数据, HBase 同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable 利用Chubby作为协同服务, HBase 利用Zookeeper作为对应。

    1.下载HBase并安装

     

    1)下载Apache版本的HBase。

    2)下载Cloudera版本的HBase。

    3)这里选择下载cdh版本的hbase-0.98.6-cdh5.3.0.tar.gz,然后上传至bigdata-pro01.kfk.com节点/opt/softwares/目录下

    4)解压hbase

    tar -zxf hbase-0.98.6-cdh5.3.0.tar.gz -C /opt/modules/

    2.分布式集群的相关配置

    1)HBase架构体系

     

    a.Zookeeper

    Zookeeper Quorum中除了存储了-ROOT-表的地址和HMaster的地址,HRegionServer也会把自己以Ephemeral方式注册到Zookeeper中,使得HMaster可以随时感知到各个HRegionServer的健康状态。此外,Zookeeper也避免了HMaster的单点问题。

    b.HBase Master

    每台HRegion服务器都会和HMaster服务器通信,HMaster的主要任务就是要告诉每台HRegion服务器它要维护哪些HRegion。   当一台新的HRegion服务器登录到HMaster服务器时,HMaster会告诉它先等待分配数据。而当一台HRegion死机时,HMaster会把它负责的HRegion标记为未分配,然后再把它们分配到其他HRegion服务器中。

    c.HRegionServer

    HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBase中最核心的模块。 

    2)HBase集群规划

     

    3)分布式集群相关配置

    a.hbase-env.sh

    #配置jdk

    export JAVA_HOME=/opt/modules/jdk1.7.0_67

    #使用独立的Zookeeper

    export HBASE_MANAGES_ZK=false

    b.hbase-site.xml

    <configuration>

            <property>

                   <name>hbase.rootdir</name>

                   <value>hdfs://ns/hbase</value>

            </property>

            <property>

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

                   <value>true</value>

            </property>

            <property>

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

                   <value>bigdata-pro01.kfk.com,bigdata-pro02.kfk.com,

                           bigdata-pro03.kfk.com</value>

            </property>

    </configuration>

    c.regionservers

    bigdata-pro01.kfk.com

    bigdata-pro02.kfk.com

    bigdata-pro03.kfk.com

    d.backup-masters

    bigdata-pro02.kfk.com

    4)将hbase配置分发到各个节点

    scp -r hbase-0.98.6-cdh5.3.0 bigdata-pro02.kfk.com:/opt/modules/

    scp -r hbase-0.98.6-cdh5.3.0 bigdata-pro03.kfk.com:/opt/modules/

    3.启动HBase服务

    1)各个节点启动Zookeeper

    zkServer.sh start

    2)主节点启动HDFS

    bin/start-dfs.sh

    3)启动HBase

    bin/start-hbase.sh

    4)查看HBase Web界面

    bigdata-pro01.kfk.com:60010/

    如果各个节点启动正常,那么HBase就搭建完毕。

    4.通过shell测试数据库

    1)选择主节点进入HBase目录,启动hbase-shell

    cd hbase-0.98.6-cdh5.3.0

    bin/hbase-shell

    2)查看所有表命令

    list

    3)使用help帮助命令

    help

    4)创建表

    create 'test','info'

    5)添加数据

    put 'test','0001','info:userName','laocao'

    6)全表扫描数据

    scan 'test'

    7)查看表结构

    describe 'test'

    8)删除表

    disable 'test'

    drop 'test'

    5.根据业务需求创建表结构

    1)下载数据源文件

    2)HBase上创建表

    create 'weblogs','info'

  • 相关阅读:
    299. Bulls and Cows
    Canvas实现文字散粒子化
    jQuery触发a标签点击事件-为什么不跳转
    Java 理论与实践: 正确使用 Volatile 变量
    图片全屏背景 代码实例
    Canvas 唯美雨落代码实现
    开发过程中资源限制的挑战
    死锁
    如何减少并发编程中的上下文切换
    Cookie工具类
  • 原文地址:https://www.cnblogs.com/misliu/p/10942584.html
Copyright © 2020-2023  润新知