关闭

elasticsearch选举master

数据节点确定了master以后,会开启MasterPinger线程来与其保持心跳通信的逻辑如果通信过程中链接断开,会通过MasterNodeFailureListener监听器进行回调处理处理过程中会去调用ZenDiscovery类的handleMasterGone方法,以便选举出新的master进行通信master的选举逻辑主要是通过ZenDiscovery类findMaster方法来封装的,大...
阅读(4765) 评论(0)

将kafka工程转成maven项目

kafka默认提供的源码是通过sbt进行构建的,在向eclipse导入的时候不是很方便,所以可先将其转换成maven项目,pom.xml配置如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h...
阅读(3561) 评论(0)

Region拆分逻辑

Table of ContentsRegion拆分拆分前提获取拆分点执行拆分回滚操作Region拆分Region的拆分逻辑是通过CompactSplitThread线程的requestSplit方法来触发的,每当执行MemstoreFlush操作时都会调用该方法进行判断,看是否有必要对目标Region进行拆分。拆分前提Region可拆分的前提是需要满足如下约束条件:目标RegionServer的线...
阅读(3627) 评论(0)

HFile存储格式

Table of ContentsHFile存储格式Block块结构HFile存储格式HFile是参照谷歌的SSTable存储格式进行设计的,所有的数据记录都是通过它来完成持久化,其内部主要采用分块的方式进行存储,如图所示:每个HFile内部包含多种不同类型的块结构,这些块结构从逻辑上来讲可归并为两类,分别用于数据存储和数据索引(简称数据块和索引块),其中数据块包括:(1) DATA_BLOCK:...
阅读(3117) 评论(0)

RegionServer功能职责

Table of ContentsRegionServer功能职责租约管理Nonce管理堆内存监控健康检测RegionServer功能职责租约管理HBase的租约管理功能主要应用在scan查询上,如果客户端执行scan操作以后,在60秒内没有将Scanner进行关闭,也没有显示的将租约移除,这时查询租约将会过期,RegionServer会强行关闭与之对应的Scanner,来防止无效连接数过多的情况...
阅读(2746) 评论(0)

Region恢复逻辑

Table of Contents Region恢复逻辑 配置参数 Region恢复逻辑 RegionServer出现宕机以后,其上部署的Region将会被Master重新分配处理,由于在宕机前,某些Region的memStore数据可能还没有做flush操作,因此,需要对这部分数据做还原处理,还原过程通过读取HLog文件来实现。 截至到目前为止(1....
阅读(2078) 评论(0)

RPC通信功能实现

Table of Contents RPC通信功能实现 配置参数调用方法 RPC通信功能实现 HBase的RPC通信功能主要基于Protobuf和NIO这两个组件来实现,在通信管道上选择的是protobuf对外声明的BlockingRpcChannel(阻塞式),其callBlockingMethod方法决定了客户端与服务端的交互行为,比如采用什么样的方...
阅读(5142) 评论(0)

Hive-On-Tez性能测试

Table of Contents Hive-On-Tez测试 MRR计算模型测试MPJ计算模型测试 Hive-On-Tez测试 在MRR和MPJ计算模型的处理上,TEZ能够提升的性能较为明显,具体测试如下: MRR计算模型测试 测试表格 1.users(id,name,password): 数据总量1千万条...
阅读(5160) 评论(0)

two-phase commit

Two-phase commit(二段事务提交)是解决分布式事务的一种有效方式,当数据库由于数据量较大而进行垂直拆分时,需要引入分布式事务来确保数组整体的一致性和完整性 顾名思义,事务的提交分成两个阶段:准备阶段和提交阶段 1.准备阶段(Prepare Phase) 准备阶段Slave所做事情 1.从Master获取写操作请求并在本地执行,同时将执行记录写入redo日志文件,便于出错后...
阅读(2302) 评论(0)

参观者与组合模式

Demo背景 实现类似于gwt框架的功能,通过java代码来编写界面组件,在将界面组件转换成浏览器可识别的UI元素 设计思路: 代码要实现两部分功能: 1.编写界面组件代码,用java类定义出所需要的界面元素(Button、Label、Panel等) 2.将java类组件进行语义转换,转换成界面引擎可识别的语法(json、html,js等) 接口设计: 界面组件的设计参考awt采...
阅读(2622) 评论(0)

Tapestry5.3使用总结

1.Tapestry框架的加载是通过Filter来完成的,需要在web.xml中加入以下配置: app org.apache.tapestry5.TapestryFilter app /* 2.这里面,过滤器拦截了所有的URL,某些时候可能希望有一些URL不被拦截(比如Servlet的mapping-url) 这时候需要通过构建IgnoredPathsFilter服务,把不需要拦...
阅读(10736) 评论(1)

Maven使用

一、生命周期 整个build生命周期包含多个phrase 默认的生命周期由以下phrase组成(按执行先后数序排列): validate:验证项目合法并具备了所有需要的信息 initialize:初始化操作(创建目录结构) generate-sources:生成项目源代码 process-source:处理项目源代码 generate-resource:生成项目资源文件 proce...
阅读(4491) 评论(0)

SpringSecurity个性化配置

应用场景 现有的数据库中包含以下几张表格用于权限管理 要求在此基础上集成SpringSecurity,将表格的数据作为数据源来完成登录和权限校验逻辑 SpringSecurity的配置可通过两种方式呈现,基于自身的namespace配置和传统的基于Bean的配置。通过namespace来配置Security非常简洁,隐藏了很多繁琐的实现细节,但也不便于初学者进行理解,而如果要想对Se...
阅读(3753) 评论(3)

java使用xquery

在使用关系数据库时,我们通过sql语句来检索数据源,这没有任何问题,但是关系数据也存在着一定的局限性,只能存储结构化的数据 当数据集是非结构化的时候该怎样存储呢,最简单的办法就是封装成xml。 应用开发中我们经常使用xml作为数据源来存储一些非结构化的数据,然而是否存在一种语言可以像sql语句检索关系数据库一样来检索xml呢?答案就是xquery。 xquery本身的语法结构并不复杂,x...
阅读(5124) 评论(0)

Hadoop之HDFS子框架

体系结构 由图片可以看到HDFS主要包含这样几个功能组件 Namenode:存储文档的元数据信息,还有整个文件系统的目录结构 DataNode:存储文档块信息,并且文档块之间是有冗余备份的 这里面提到了文档块的概念,同本地文件系统一样,HDFS也是按块存储的,只不过块的大小设置的相对大一些,默认为64M。如果一个文件不足64M,那么它只存储在一个块中,而且并不会占用64M的磁盘空间,...
阅读(4319) 评论(0)
82条 共6页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:434224次
    • 积分:4889
    • 等级:
    • 排名:第6010名
    • 原创:82篇
    • 转载:0篇
    • 译文:0篇
    • 评论:107条
    博客专栏
    文章分类
    最新评论