• 关注官方微信 微信公众号 添加方式:
    1:搜索微信号(gogolinux
    2:扫描左侧二维码
  • 登录 注册
  • 一起学LINUX - GOGOLINUX

    查看: 1644|回复: 19
    打印 上一主题 下一主题

    基于Hadoop分布式亚博平台可以赌HBase1.0部署及使用

    [复制链接]

    2

    主题

    2

    帖子

    40

    积分

    新手上路

    Rank: 1

    积分
    40
    跳转到指定楼层
    楼主
    发表于 2019-3-11 14:59:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    接下来部署HBase1.0分布式NoSQL亚博平台可以赌,HBase中涉及到HMaster和HRegionServer两个概念。
    (注:以下概念来着百度百科)
    HMaster主要负责Table和Region管理工作:
    1. 管理用户对Table的增、删、改、查操作
    2. 管理HRegionServer的负载均衡,调整Region分布
    3. 在Region Split后,负责新Region的分配
    4. 在HRegionServer停机后,负责失效HRegionServer 上的Regions迁移
    HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据。
    HBase工作原理:
    HRegionServer内部管理了一系列HRegion对象,每个HRegion对应了Table中的一个Region,HRegion中由多个 HStore组成。每个HStore对应了Table中的一个Column Family的存储,可以看出每个Column Family其实就是一个集中的存储单元,因此最好将具备共同IO特性的column放在一个ColumnFamily中,这样最高效。
    HStore存储是HBase存储的核心了,其中由两部分组成,一部分是MemStore,一部分是StoreFiles。MemStore是 SortedMemory Buffer,用户写入的数据首先会放入MemStore,当MemStore满了以后会Flush成一个StoreFile(底层实现是HFile), 当StoreFile文件数量增长到一定阈值,会触发Compact合并操作,将多个StoreFiles合并成一个StoreFile,合并过程中会进 行版本合并和数据删除,因此可以看出HBase其实只有增加数据,所有的更新和删除操作都是在后续的compact过程中进行的,这使得用户的写操作只要 进入内存中就可以立即返回,保证了HBase I/O的高性能。当StoreFiles Compact后,会逐步形成越来越大的StoreFile,当单个StoreFile大小超过一定阈值后,会触发Split操作,同时把当前 Region Split成2个Region,父Region会下线,新Split出的2个孩子Region会被HMaster分配到相应的HRegionServer 上,使得原先1个Region的压力得以分流到2个Region上。
    在理解了上述HStore的基本原理后,还必须了解一下HLog的功能,因为上述的HStore在系统正常工作的前提下是没有问题的,但是在分布式系统环 境中,无法避免系统出错或者宕机,因此一旦HRegionServer意外退出,MemStore中的内存数据将会丢失,这就需要引入HLog了。每个 HRegionServer中都有一个HLog对象,HLog是一个实现WriteAhead Log的类,在每次用户操作写入MemStore的同时,也会写一份数据到HLog文件中,HLog文件定期会滚动出新的,并删除旧的文件(已持久化到 StoreFile中的数据)。当HRegionServer意外终止后,HMaster会通过Zookeeper感知到,HMaster首先会处理遗留 的 HLog文件,将其中不同Region的Log数据进行拆分,分别放到相应region的目录下,然后再将失效的region重新分配,领取 到这些region的HRegionServer在Load Region的过程中,会发现有历史HLog需要处理,因此会Replay HLog中的数据到MemStore中,然后flush到StoreFiles,完成数据恢复。
    HBase高可用实现方式:
    HBase同样分为Active和Standby,把数据存储在Zookeeper,可以启动两个或多个HMaster服务进程,第一个启动的做为 HBase活动节点,其余的作为备用节点。如果一台故障,Zookeeper会选择出备用节点成为活动节点,让他接管故障的活动节点任务,保证总有一个 Master运行。
    1
    2
    3
    4
    5
    export JAVA_HOME=/usr/local/jdk1.7
    export HBASE_MANAGES_ZK=false



    hbase.rootdir
    hdfs://hcluster/hbase


    hbase.cluster.distributed
    true

    hbase.master.info.port
    16010

    hbase.regionserver.info.port
    16030

    hbase.zookeeper.quorum
    HSlave0,HSlave1,HSlave2

    HSlave0
    HSlave1
    HSlave2
    HBASE_HOME=/opt/hbase-1.0.1.1
    PATH=$PATH:$HBASE_HOME/bin
    export HBASE_HOME PATH
    3. 启动HBase
    6
    [root@HMaster0 ~]
    2615 DFSZKFailoverController
    30027 ResourceManager
    29656 NameNode
    2841 HMaster
    8448 Jps
    7
    [root@HSlave0 ~]
    11391 NodeManager
    11213 DataNode
    11298 JournalNode
    10934 QuorumPeerMain
    12571 HRegionServer
    7005 Jps
    hbase(main):024:0> create 'tb1','name','info','address'
    hbase(main):025:0> describe 'tb1'
    hbase(main):025:0> list
    hbase(main):028:0> put 'tb1','zhangsan','info:sex','22'
    hbase(main):039:0> put 'tb1','zhangsan','info:age','man'
    hbase(main):031:0> put 'tb1','zhangsan','address','beijing'
    hbase(main):046:0> put 'tb1','lisi','info:age','woman'
    hbase(main):047:0> put 'tb1','lisi','info:sex','23'
    hbase(main):048:0> put 'tb1','lisi','address','shanghai'
    hbase(main):040:0> scan 'tb1'
    ROW              COLUMN+CELL
    zhangsan                column=address:,timestamp=1435129009088,value=beijing
    zhangsan        column=info:age,timestamp=1435129054098, value=man
    zhangsan        column=info:sex,timestamp=1435128714392, value=22
    说明:
    ROW:行,用来检索记录的主键。
    COLUMN family:列族,是表的一部分,必须在创建表时定义,可以看到列名是以列族作为前缀,一个列族可以有多个列(column)。
    CELL:存储单位,存储实际数据,也就是所看到的value,cell中没有数据类型,全部是字节码形式存储。
    timestamp:时间戳,可以看做是数据版本号,hbase写时自动赋值,为当前系统时间,精确到毫秒。如果每个cell保存同一份数据多个版本时,可通过时间戳来索引版本。
    hbase(main):050:0> count 'tb1'
    2 row(s) in 0.0190 seconds
    => 2
    hbase(main):054:0> get 'tb1','zhangsan'
    COLUMN                  CELL
    address:               timestamp=1435129096397,value=beijing
    info:age               timestamp=1435129054098,value=man
    info:sex               timestamp=1435128714392,value=22
    hbase(main):055:0> get 'tb1','zhangsan','info'
    hbase(main):063:0> put 'tb1','zhangsan','info:sex','23'
    0 row(s) in 0.0080 seconds
    hbase(main):070:0> incr 'tb1','lisi','info:comment'
    hbase(main):065:0> delete 'tb1','zhangsan','info:sex'
    hbase(main):067:0> deleteall 'tb1','zhangsan'
    hbase(main):072:0> disable 'tb1'
    hbase(main):073:0> drop 'tb1'
    分享到:

    0

    主题

    2

    帖子

    8

    积分

    新手上路

    Rank: 1

    积分
    8
    沙发
    发表于 2019-3-28 10:54:49 | 只看该作者
    经验啊... 向楼主学习












    0

    主题

    593

    帖子

    1308

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1308
    板凳
    发表于 2019-4-4 10:53:27 | 只看该作者

    0

    主题

    478

    帖子

    1062

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1062
    地板
    发表于 2019-4-13 13:45:28 | 只看该作者

    0

    主题

    478

    帖子

    1062

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1062
    5#
    发表于 2019-4-14 00:38:03 | 只看该作者

    0

    主题

    593

    帖子

    1308

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1308
    6#
    发表于 2019-4-14 12:43:16 | 只看该作者

    0

    主题

    586

    帖子

    1292

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1292
    7#
    发表于 2019-4-14 14:04:56 | 只看该作者

    0

    主题

    593

    帖子

    1308

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1308
    8#
    发表于 2019-4-14 17:49:05 | 只看该作者

    0

    主题

    499

    帖子

    1104

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1104
    9#
    发表于 2019-4-15 03:08:48 | 只看该作者

    0

    主题

    593

    帖子

    1308

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1308
    10#
    发表于 2019-4-16 13:55:26 | 只看该作者
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    官方微博:

    官方头条号:

    官方微信

    手机访问:

    官方微信

    QQArchiver 手机版 小黑屋 一起学LINUX - GOGOLINUX 闽ICP备18025837号-1 Discuz! X3.4 Powered by © 2001-2013 Comsenz Inc. 

    亚博平台可以赌本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!

    快速回复 快速发帖 返回顶部 返回列表