hbase 权威指南笔记(二)
这次我们先来讨论hbase的重试机制,为什么呐,因为最近公司最近也在做这方面的优化,所以就今天研究的一些成功记录一下。
configuration.setInt("hbase.client.pause", 50);
configuration.setInt("hbase.client.retries.number", 5);
configuration.setInt("hbase.client.operation.timeout", 3000);
configuration.setInt("hbase.client.scanner.timeout.period", 3000);
configuration.setInt("hbase.rpc.timeout", 1000);
1、hbase.rpc.timeout
因为客户端和服务端是分离的,他们之间的服务调用就需要rpc,例如当我们使用put的时候,其实是在客户端封装了一个对象,这个对象包括参数、命令等一些参数,然后经过网络发送到服务端,服务端在将参数解析,然后执行相关命令,最后将结果返回客户端。整一个过程就是rpc调用。所以如果出现网路问题,或者服务器端正在进行gc,那么返回的数据出现延迟或者不返回,所以我们就需要在客户端设置一个超时参数,当超时了我们将放弃这次请求,并且抛出异常。这样我们上层应用在调用操作接口的时候就不会一直阻塞。但是并不是设置越小越好,这个还是需要根据自己的系统来设置一个比较合适的值。
2、hbase.client.pause hbase.client.retries.number hbase.client.operation.timeout
这三个参数都是一起用到的,hbase有个比较好的容错机制,其中一个体现就是当第一次超时的时候,会尝试再次连接hbase.client.retries.number 次,但是不是马上而是会先休眠 hbase.client.pause,当重试次数已经达到的时候或者达到hbase.client.operation.timeout(从开始到结束包括重试时间),就会抛出异常。
3、hbase.client.scanner.timeout.period
这个是单独对scan这个操作的,一个scan操作可能会有多次的rpc,以为scan并不是一次九江数据返回,而是通过设置参数maxResultSize,来确定一次rpc需要返回多少数据,1.1.1版本是2m,hbase.client.scanner.timeout.period这个是针对一次rpc操作时间。
好了,上面就是这次通过查资料和源码的一些自己的总结,欢迎一起来讨论。
hbase 权威指南笔记(二)的更多相关文章
- Http权威指南笔记(二) Http状态码大全
		
100~199—信息状态码 200~299—成功状态码 客户端发请求时,这些请求通常都是成功的. 300~399—重定向状态码 重定向状态码告知客户端使用代替位置来访问他们所感兴趣的资源. 400~4 ...
 - Struts2权威指南笔记
		
Struts2权威指南笔记 1.mvc特点包括: ① 多个视图可以对应一个模型 ② 模型返回的数据与显示逻辑分离 ③ 应用层被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性 ④ 控制层的概念也 ...
 - HBase权威指南 高清中文版 PDF(来自linuxidc)
		
内容提要 <HBase权威指南>由乔治(Lars George)著,探讨了 如何通过使用与HBase高度集成的Hadoop将 HBase的可 伸缩性变得简单:把大型数据集分布到相对廉价 ...
 - hbase权威指南阅读随手笔记二之过滤器
		
转自:http://blog.csdn.net/saint1126/article/details/8257941 base过滤器的比较操作符: LESS <LESS_OR_EQUAL & ...
 - 笔记《Hbase 权威指南》
		
为什么要用Hbase- Hbase的诞生是因为现有的关系型数据库已经无法在硬件上满足疯狂增长的数据了,而且因为需要实时的数据提取Memcached也无法满足- Hbase适合于无结构或半结构化数据,适 ...
 - Http权威指南(二)---读书笔记
		
Chart4 ====连接管理==== 一.TCP连接 1. Http和Https的网络协议栈: 2. Http在TCP/IP传输中的位置: 3. Http怎么利用TCP传输: 二.Http ...
 - hbase权威指南学习笔记--架构--存储
		
HBase主要处理两种文件:预写日志(Write-Ahead Log,WAL),实际的数据文件. 一个基本的流程是客户端首先联系ZooKeeper子集群查找行健数据所在的region服务器名.(通过Z ...
 - hbase权威指南学习笔记--过滤器
		
1.使用hbase是shell客户端进行过滤查询 scan 'testtable',{COLUMNS=>'colfam1:col-0',FILTER=>RowFilter.new(Comp ...
 - 《HBase权威指南》读书笔记----简介
		
工作中要使用HBase,刚刚开始接触HBase,理解不深,只是记录一下 . HBase基于google的bigtable论文实现,属于nosql. 几个概念: (1)列(column):最基本单位为列 ...
 
随机推荐
- CSS系列:CSS常用样式
			
1. 通用样式 Base.css * { margin:; padding:; } body { width: 1000px; margin: 0 auto; font-size: 12px; fon ...
 - jQuery系列:Ajax
			
1. load(url, [data], [callback]) 1.1 解析 载入远程 HTML 文件代码并插入至 DOM 中. 语法格式: load(url, [data], [callback] ...
 - 【Win 10应用开发】响应系统回退键的导航事件
			
按例,老周今天要讲一个故事,这个故事之前老周在微博上分享过.大伙知道在8.1的时候,有一个扩展类库——NotificationExtensions,可以真TMD轻松生成通知XML模板,其实,这个类库也 ...
 - AutoMapper对internal访问级别属性的映射
			
最近在使用DDD重新搭建公司内部OA的架构,具体情况搭好了应该会写一下,这里说的是今天遇到的问题. 先简单说一下相关的几个部分: 1.聚合.聚合分成了两个模块:一个包含审批单据等估计至少今年不会怎么变 ...
 - Python标准模块--concurrent.futures
			
1 模块简介 concurrent.futures模块是在Python3.2中添加的.根据Python的官方文档,concurrent.futures模块提供给开发者一个执行异步调用的高级接口.con ...
 - ASP.NET MVC5+EF6+EasyUI 后台管理系统(20)-权限管理系统-根据权限获取菜单
			
系列目录 不知不觉到20讲,真是漫长的日子,可惜最近工作挺忙,要不可以有更多的时间来更新,多谢大家的一路支持.如果你觉得好,记得帮我点击推荐^-^ 我们在之前已经插入一些真实数据,其中包含了一个用户和 ...
 - ASP.NET MVC5+EF6+EasyUI 后台管理系统-分配角色给用户
			
系列目录 由于之前做了将权限赋给角色,还需要做将角色组赋给用户,和将用户赋给角色组,一个用户可以拥有多个角色组,一个角色组包含多个用户,打开模块管理,添加一个分配的操作码 并在 角色权限设置授权给他 ...
 - 千回百折:百度Java研发offer斩获记和经验分享
			
起因 面试过程 等待offer的过程中悟道 Java面试常考知识点个人总结 过程 百度——作为国内互联网的巨头之一,最近的一些风波对其褒贬不一,但是类似事件不是第一次发生,也绝对不是最后一次,对于真的 ...
 - Oracle数据加载之sqlldr工具的介绍
			
环境: 服务端:RHEL6.4 + Oracle 11.2.0.4 客户端:WIN10 + Oracle 11.2.0.1 client 目录: sqlldr语法 sqlldr实验准备 sqlldr常 ...
 - xss和csrf攻击
			
xss(cross site scripting)是一种最常用的网站攻击方式. 一.Html的实体编码 举个栗子:用户在评论区输入评论信息,然后再评论区显示.大概是这个样子: <span> ...