1 探究Zookeeper

安装过HBase的开发者一定知道,HBase本身就嵌入了Zookeeper,你可以选择安装嵌入的Zookeeper,也可以安装一个分布式的Zookeeper集群。具体的安装步骤,可以到我的博客里查找。

我们可以手工与Zookeeper交互的方式就是使用HBaseshell命令。使用zk_dump来查看HBase的安装等信息。

[plain] view plaincopy
  1. <span style="font-size:18px;">   hbase(main):002:0>zk_dump
  2. HBaseis rooted at /hbase
  3. Active master address:hadoop-master,60000,1390921674646
  4. Backup master addresses:
  5. Region server holding ROOT:machine-0,60020,1390921686697
  6. Region servers:
  7. machine-1,60020,1390921690387
  8. machine-2,60020,1390921767658
  9. machine-0,60020,1390921686697
  10. Quorum Server Statistics:
  11. machine-1:2222
  12. Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT
  13. Clients:
  14. /192.168.177.158:55294[1](queued=0,recved=121,sent=135)
  15. /192.168.177.172:54763[0](queued=0,recved=1,sent=0)
  16. /192.168.177.168:59896[1](queued=0,recved=48,sent=48)
  17. /192.168.177.158:55299[1](queued=0,recved=47,sent=47)
  18. Latency min/avg/max: 0/2/42
  19. Received: 217
  20. Sent: 230
  21. Connections: 4
  22. Outstanding:0
  23. Zxid: 0x3300000047
  24. Mode: follower
  25. Node count: 29
  26. machine-0:2222
  27. Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT
  28. Clients:
  29. /192.168.177.172:38860[1](queued=0,recved=75,sent=77)
  30. /192.168.177.172:38855[1](queued=0,recved=322,sent=369)
  31. /192.168.177.167:52643[1](queued=0,recved=78,sent=90)
  32. /192.168.177.172:38900[0](queued=0,recved=1,sent=0)
  33. Latency min/avg/max: 0/2/291
  34. Received: 476
  35. Sent: 536
  36. Connections: 4
  37. Outstanding: 0
  38. Zxid: 0x3300000047
  39. Mode: follower
  40. Node count: 29
  41. machine-2:2222
  42. Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT
  43. Clients:
  44. /192.168.177.172:45693[0](queued=0,recved=1,sent=0)
  45. /192.168.177.172:45687[1](queued=0,recved=13,sent=13)
  46. /192.168.177.167:36053[1](queued=0,recved=43,sent=43)
  47. Latency min/avg/max: 0/0/21
  48. Received: 57
  49. Sent: 56
  50. Connections: 3
  51. Outstanding: 0
  52. Zxid: 0x3300000047
  53. Mode: leader
  54. Node count: 29</span>

根据显示的信息,我们可以查阅到HDFS中的HBase根路径,激活的主机地址域名和端口,root表的主机地址和端口。

[plain] view plaincopy
  1. <span style="font-size:18px;">HBase is rooted at /hbase
  2. Active master address:hadoop-master,60000,1390921674646
  3. Backup master addresses:
  4. Region server holding ROOT:machine-0,60020,1390921686697</span>

区域服务器地址信息

[plain] view plaincopy
  1. <span style="font-size:18px;">Region servers:
  2. machine-1,60020,1390921690387
  3. machine-2,60020,1390921767658
  4. machine-0,60020,1390921686697</span>

Zookeeper法定服务器的统计信息,当前的法定服务名称以及Zookeeper版本信息,客户端信息等

[plain] view plaincopy
  1. <span style="font-size:18px;">Quorum Server Statistics:
  2. machine-1:2222
  3. Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT
  4. Clients:
  5. /192.168.177.158:55294[1](queued=0,recved=121,sent=135)
  6. /192.168.177.172:54763[0](queued=0,recved=1,sent=0)
  7. /192.168.177.168:59896[1](queued=0,recved=48,sent=48)
  8. /192.168.177.158:55299[1](queued=0,recved=47,sent=47)
  9. Latency min/avg/max: 0/2/291
  10. Received: 476
  11. Sent: 536
  12. Connections: 4
  13. Outstanding: 0
  14. Zxid: 0x3300000047
  15. Mode: follower
  16. Node count: 29
  17. machine-2:2222
  18. Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT
  19. Clients:
  20. /192.168.177.172:45693[0](queued=0,recved=1,sent=0)
  21. /192.168.177.172:45687[1](queued=0,recved=13,sent=13)
  22. /192.168.177.167:36053[1](queued=0,recved=43,sent=43)
  23. Latency min/avg/max: 0/0/21
  24. Received: 57
  25. Sent: 56
  26. Connections: 3
  27. Outstanding: 0
  28. Zxid: 0x3300000047
  29. Mode: leader
  30. Node count: 29</span>

当我们尝试去理解系统当前的状态时,这些信息显得尤为重要。那些主机加入到集群中了,那个主机扮演什么角色。更重要的是,个主机充当HBase的-root-表服务。HBase客户端需要这些信息来实现读写操作,而Zookeeper正好可以提供这些信息。

客户端能够制动化地与Zookeeper进行操作交流以及找到区域服务器

(RegisionServer)。为了更好的理解这些信息,我们将探究一下HBase中两个特殊的表-root-和.meta.。

2 探究-ROOT-表

扫描-root-表,查看具体的信息。

从输出的信息可以知道,-root-表包含.meta.表信息。-root-表中仅有一行数据,并且所有的信息是关于region, 这就意味着,整个系统由-root-表管理。这我目前的实例中,一个单一的.meta.表中的region能够包含所有信息。从-root-表中,我们可以知道有4列(regioninfo, server,serverstartcode, v.)数据,.meta.的数据在RegionServer 服务机的machine-0上。由于只有一个region,regioninfo字段中的开始字段startkey和结束字段endkey都为空。

3 探究.META.表

从上一节中,我们知道,regioninfo中包含region的名称,开始关键字startkey,结束关键字endkey,编码过的名称(编码过的名称是系统内部使用的)。如果.meta.表中没有表单定义,会有下列的显示:

hbase(main):030:0> scan '.META.'

ROW COLUMN+CELL

0 row(s) in 5.4180 seconds

一旦有表定义在HBase中,呈现效果会是这样:

[plain] view plaincopy
  1. <span style="font-size:18px;">hbase(main):012:0>scan '.META.'
  2. ROW                           COLUMN+CELL
  3. car,,1389254794373.41b48a453column=info:regioninfo, timestamp=1389254795518, value={NAME =>'car,,1389254794373.
  4. 79036ed6a28620f95bc3e73.     41b48a45379036ed6a28620f95bc3e73.',STARTKEY => '', ENDKEY => '', ENCODED => 41b48a4
  5. 5379036ed6a28620f95bc3e73,}
  6. car,,1389254794373.41b48a453column=info:server, timestamp=1390982716032, value=machine-1:60020
  7. 79036ed6a28620f95bc3e73.
  8. car,,1389254794373.41b48a453column=info:serverstartcode, timestamp=1390982716032, value=1390982688688
  9. 79036ed6a28620f95bc3e73.
  10. pentaho_mappings,,1389456264column=info:regioninfo, timestamp=1389456267362, value={NAME =>'pentaho_mappings,,1
  11. 784.1fa2cc86c50ced5fa39630da389456264784.1fa2cc86c50ced5fa39630dae76fb1a2.', STARTKEY => '', ENDKEY=> '', ENCOD
  12. e76fb1a2.                    ED =>1fa2cc86c50ced5fa39630dae76fb1a2,}
  13. pentaho_mappings,,1389456264column=info:server, timestamp=1390982716247, value=machine-0:60020
  14. 784.1fa2cc86c50ced5fa39630da
  15. e76fb1a2.
  16. pentaho_mappings,,1389456264column=info:serverstartcode, timestamp=1390982716247, value=1390982687824
  17. 784.1fa2cc86c50ced5fa39630da
  18. e76fb1a2.
  19. users,,1389925800801.6a5a2b0column=info:regioninfo, timestamp=1389925809127, value={NAME =>'users,,138992580080
  20. 170dfd0e19df13849706ec035.   1.6a5a2b0170dfd0e19df13849706ec035.',STARTKEY => '', ENDKEY => '', ENCODED => 6a5a2
  21. b0170dfd0e19df13849706ec035,}
  22. users,,1389925800801.6a5a2b0column=info:server, timestamp=1390982718429, value=machine-1:60020
  23. 170dfd0e19df13849706ec035.
  24. users,,1389925800801.6a5a2b0column=info:serverstartcode, timestamp=1390982718429, value=1390982688688
  25. 170dfd0e19df13849706ec035.
  26. weblogs,,1389255303284.d2973column=info:regioninfo, timestamp=1389255304879, value={NAME =>'weblogs,,1389255303
  27. dcc1b1ff64cc56a197fdd83ec5e.284.d2973dcc1b1ff64cc56a197fdd83ec5e.', STARTKEY => '', ENDKEY => '',ENCODED => d29
  28. 73dcc1b1ff64cc56a197fdd83ec5e,}
  29. weblogs,,1389255303284.d2973column=info:server, timestamp=1390982716256, value=machine-0:60020
  30. dcc1b1ff64cc56a197fdd83ec5e.
  31. weblogs,,1389255303284.d2973column=info:serverstartcode, timestamp=1390982716256, value=1390982687824
  32. dcc1b1ff64cc56a197fdd83ec5e.
  33. 4 row(s) in0.3280 seconds</span>

正如你看到的,.META.包含的是表的信息,这里就不详述了。看下列这个结构图便可以理解HBase中这两个表的关系。

理解HBase zookeeper和-Root-/.MET表相关推荐

  1. 分布式列数据库--理解hbase列存储机制、架构、表结构设计、命令操作

    1. HBase简介 HBase是Hadoop Database的简称,是建立在Hadoop文件系统之上的分布式面向列的数据库. HBase和HDFS HDFS适用于存储大容量文件的分布式文件系统,不 ...

  2. hadoop+HBase+ZooKeeper+Hive完全分布式集群部署安装

    本文源自:https://www.cnblogs.com/linxizhifeng/p/7207655.html 1.        系统环境 1.1.   软件版本 下表为本系统环境所安装的软件的版 ...

  3. hbase中为何不能向表中插入数据_大数据HBase理论实操面试题

    1.HBase的特点是什么? 1)大:一个表可以有数十亿行,上百万列: 2)无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列: 3)面向列: ...

  4. hadoop +hbase +zookeeper 完全分布搭建 (版本一)

    hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等.最新的hadoop-2.6.0又增加了YARN HA 注意:apache提供的hadoop-2.6.0的安装包是 ...

  5. 如何优雅的理解HBase和BigTable

    云栖号资讯:[点击查看更多行业资讯] 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 学习 HBase 最难的地方在于要让你的脑子真正理解它是什么. HBase:Google BigT ...

  6. 【Hive】如何在 Hive 中创建外部表映射 Hbase 中已存在的表

    文章目录 一.上传完整的jar文件到hive/lib中 二.修改hive-site.xml 三.修改hive-env.sh 四.在hive和hbase中分别创建相关联的表并通过hive向hbase表中 ...

  7. 学习搭建Hadoop+HBase+ZooKeeper分布式集群环境

    一.环境配置 由于集群至少需要三台服务器,我就拿上次做的MongoDB Master, Slave, Arbiter环境来做Hadoop集群.服务器还是ibmcloud 免费提供的.其中Arbiter ...

  8. 理解并演示:Root Guard(根保护)

    理解并演示:Root Guard(根保护) 本文截自于博主CCNP交换技术稿件内容 Root Guard是一种强制的根保护措施,它的作用是防止意外(或者非法)加入的交换机成为网络中的根桥,如图所示,原 ...

  9. Hbase的基于快照的表修复

    Hdfs的快照原理 1.1 快照原理 Hdfs的快照(snapshot)是在某一时间点对指定文件系统拷贝,快照采用只读模式,可以对重要数据进行恢复.防止用户错误性的操作. 快照分两种:一种是建立文件系 ...

最新文章

  1. 【Python】轻量级分布式任务调度系统-RQ
  2. 磁悬浮地球仪控制初步测试
  3. CA验证数字证书的有效性
  4. Oracle数据库迁移问题(备份、还原、数据导入导出、PLSQL)IMP - 0009 错误
  5. mongo mapreduce java_那位帮忙提供一个java mongodb多个collection进行mapreduce的操作。
  6. 四张照片合成一张怎么弄_我在朋友圈发了这张照片后,所有人都求问教程
  7. jtextpane设置不能选中_电脑为什么打不开指定的网站?什么是DNS解析我要如何设置DNS...
  8. 封装Js事件代理方法
  9. 2048源码 linux,分享|2 的威力,Linux 的威力:终端中的 2048
  10. mac10.12 安装“任何来源”软件解决
  11. 链家程序员怒删 9TB 数据,被判 7 年!
  12. python全栈脱产第20天------常用模块---re模块和subprocess模块
  13. linux操作系统日志查看,linux 如何查看系统日志
  14. python自动化测试工程师面试题(转载师傅:上海悠悠)
  15. 读书笔记-捌-《创业维艰》
  16. 【Cache篇】Linux中的Cache
  17. Java基础篇--集合(map)
  18. Linux CentOS 系统实战笔记-基础篇
  19. android 项目编译略过jni目录,在 flutter 上使用 c 代码 - (二) 无源码的项目
  20. python实战: 短链接生成器

热门文章

  1. 如何用R来定制个性化PPT
  2. 机器学习工具在数据中心的应用与发展
  3. 分享一个前后端分离的轻量级内容管理框架
  4. JSTL获取session中的值
  5. Quartz入门指南
  6. git fatal: index file smaller than expected
  7. MatLab的排序函数-sort
  8. ICS共享上网方案与配置
  9. 多个高危漏洞可导致 Chrome 浏览器被黑
  10. JavaScript随机数的应用