免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2058 | 回复: 0
打印 上一主题 下一主题

[HBase] hbase分析--沈岩组10.24 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-23 02:32 |只看该作者 |倒序浏览
<p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-autospace:ideograph-other; "><span style="mso-spacerun:'yes'; font-size:12.0000pt; font-family:'宋体'; ">它介于nosql和RDBMS之间,仅能通过主键(row&nbsp;key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。主要用来存储非结构化和半结构化的松散数据。</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">Hbase<font face="宋体">在行的方向将表分成了多个</font><font face="Times New Roman">Region</font><font face="宋体">,每个</font><font face="Times New Roman">Region</font><font face="宋体">包含了一定范围内的数据。</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">Region<font face="宋体">在行的方向将表分成了多个</font><font face="Times New Roman">Region</font><font face="宋体">,每个表最初只有一个</font><font face="Times New Roman">Region</font><font face="宋体">,随着表中的记录数不断的增加,当超过某个阈值的时候,</font><font face="Times New Roman">Region</font><font face="宋体">就会被分割形成两个新的</font><font face="Times New Roman">Region</font><font face="宋体">。</font><font face="Times New Roman">Region</font><font face="宋体">是</font><font face="Times New Roman">HBase</font><font face="宋体">中分布式存储和调度的最小单位。</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><img width="554" height="67" src="file:///C:.DOCUME~1.shenyan.LOCALS~1.Temp.ksohtml.wps_clip_image-2210.png"><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">目录表信息包含两个目录表:</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">-ROOT-<font face="宋体">和</font><font face="Times New Roman">.META..</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">用户表信息给出了<font face="Times New Roman">HBase</font><font face="宋体">中的表信息及相关的属性。</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">Region<font face="宋体">服务器信息给出了所有</font><font face="Times New Roman">Region</font><font face="宋体">服务器的地址。</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">用户表页面</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">通过<font face="Times New Roman">master</font><font face="宋体">页面中用户表信息提供的链接进入用户表页面</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">Hbase<font face="宋体">中的表一般的特点:</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">1.</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">大&nbsp;含有上亿的列</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">2.</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">面向列:面向列的存储和权限控制,列独立检索。</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">3.</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">稀疏:对于空列,并不占用空间,因此表可以设计的很稀疏</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">下面的这个图是一个对<font face="Times New Roman">Hadoop</font><font face="宋体">系统的一个很综述性的描述</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><img width="415" height="261" src="file:///C:.DOCUME~1.shenyan.LOCALS~1.Temp.ksohtml.wps_clip_image-25014.png"><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><img width="554" height="343" src="file:///C:.DOCUME~1.shenyan.LOCALS~1.Temp.ksohtml.wps_clip_image-17025.png"><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">Region<font face="宋体">按大小分割的,当</font><font face="Times New Roman">region</font><font face="宋体">不断的增加,</font><font face="Times New Roman">Hregion</font><font face="宋体">就会等分成两个新的</font><font face="Times New Roman">Hregion</font><font face="宋体">。</font><font face="Times New Roman">Hregion</font><font face="宋体">是</font><font face="Times New Roman">Hbase</font><font face="宋体">中的负载均衡的最小单元。最小单元是表示不同的</font><font face="Times New Roman">Hregion</font><font face="宋体">分布在不同的</font><font face="Times New Roman">Hregion&nbsp;server</font><font face="宋体">上。</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><img width="554" height="309" src="file:///C:.DOCUME~1.shenyan.LOCALS~1.Temp.ksohtml.wps_clip_image-6274.png"><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:center; "><img width="595" height="417" src="file:///C:.DOCUME~1.shenyan.LOCALS~1.Temp.ksohtml.wps_clip_image-14340.png"><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:center; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="position:absolute; z-index:1; left:0px; margin-left:25.8667px; margin-top:85.7333px; width:381.0000px; height:208.0000px; "><img width="381" height="208" src="file:///C:.DOCUME~1.shenyan.LOCALS~1.Temp.ksohtml.wps_clip_image-5338.png"></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">Region<font face="宋体">是由多个</font><font face="Times New Roman">Store</font><font face="宋体">组成的。每个</font><font face="Times New Roman">store</font><font face="宋体">保存了一个列族的所有数据。&nbsp;每个</font><font face="Times New Roman">store</font><font face="宋体">包含了一个</font><font face="Times New Roman">memstore&nbsp;</font><font face="宋体">和</font><font face="Times New Roman">0~n</font><font face="宋体">个</font><font face="Times New Roman">storefile</font><font face="宋体">组成。</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><span style="mso-spacerun:'yes'; font-weight:bold; font-size:16.0000pt; font-family:'宋体'; ">主服务器</span><span style="mso-spacerun:'yes'; font-weight:bold; font-size:16.0000pt; font-family:'宋体'; "></span><p class="p0" style="margin-bottom:0pt; margin-top:0pt; text-align:left; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">HBase<font face="宋体">每个时刻只有一个</font><font face="Times New Roman">HMaster</font><font face="宋体">在运行,</font><font face="Times New Roman">HMaster</font><font face="宋体">协调</font><font face="Times New Roman">Region</font><font face="宋体">服务器的负载情况。</font><font face="Times New Roman">HMaster</font><font face="宋体">不会对外提供数据服务。而是由</font><font face="Times New Roman">Regin</font><font face="宋体">服务器来提供所有的</font><font face="Times New Roman">Regions</font><font face="宋体">的读写请求,当</font><font face="Times New Roman">HRegionServer</font><font face="宋体">发生故障的时候,</font><font face="Times New Roman">HMaster</font><font face="宋体">通过</font><font face="Times New Roman">Zookeeper</font><font face="宋体">感知到,并处理相应的</font><font face="Times New Roman">log</font><font face="宋体">文件。</font><font face="Times New Roman">HMaster</font><font face="宋体">只维护表和元数据,当</font><font face="Times New Roman">HMaster</font><font face="宋体">节点失效以后,仅会导致所有的数据无法被修改,但是正常的读写是可以的。</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><span style="mso-spacerun:'yes'; font-weight:bold; font-size:16.0000pt; font-family:'宋体'; ">元数据表</span><span style="mso-spacerun:'yes'; font-weight:bold; font-size:16.0000pt; font-family:'宋体'; "></span><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">Regions<font face="宋体">的元数据被存放到</font><font face="Times New Roman">.META.</font><font face="宋体">表中,随着</font><font face="Times New Roman">Region</font><font face="宋体">的增加,多个</font><font face="Times New Roman">.META.</font><font face="宋体">表中的数据也会增大。逐渐变大后回分裂成多个</font><font face="Times New Roman">Region.</font><font face="宋体">为了定位</font><font face="Times New Roman">.META.</font><font face="宋体">中的各个</font><font face="Times New Roman">Region</font><font face="宋体">的位置,把</font><font face="Times New Roman">.META.</font><font face="宋体">表中的所有</font><font face="Times New Roman">Regions</font><font face="宋体">的元数据保存在</font><font face="Times New Roman">-ROOT-</font><font face="宋体">当中,最后由</font><font face="Times New Roman">ZooKeeper</font><font face="宋体">记录</font><font face="Times New Roman">-ROOT-</font><font face="宋体">表的位置信息。所以客户端访问用户数据前会访问</font><font face="Times New Roman">ZooKeeper</font><font face="宋体">中的内容,然后访问</font><font face="Times New Roman">-ROOT-</font><font face="宋体">来获得</font><font face="Times New Roman">.META.</font><font face="宋体">表中的信息确定用户数据存放的位置。</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">.META.<font face="宋体">表的</font><font face="Times New Roman">Regions</font><font face="宋体">全部存放在内存当中。</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">&gt;&gt;Create&nbsp;&nbsp;'test','data'</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">创建了一个名为<font face="Times New Roman">data</font><font face="宋体">的列&nbsp;表的名字为</font><font face="Times New Roman">test</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">在<font face="Times New Roman">HBase</font><font face="宋体">中有一个特点就是当重新向表中写的时候,系统不会报错,而是直接替换相关的内容。</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">默认的端口号</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">http://Localhost:60010/master.jsp<font face="宋体">,里面显示了</font><font face="Times New Roman">master</font><font face="宋体">的相关的概要型的信息</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><img width="554" height="288" src="file:///C:.DOCUME~1.shenyan.LOCALS~1.Temp.ksohtml.wps_clip_image-11386.png"><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "></span></p><p class="p0" style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">先运行</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">hadoop<font face="宋体">环境,然后再运行</font><font face="Times New Roman">start-hbase</font><font face="宋体">脚本,可以看到相应的信息,以下是</font><font face="Times New Roman">hbase</font><font face="宋体">启动后的</font><font face="Times New Roman">java</font><font face="宋体">进程的情况。</font></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; "></span></p>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP