Hbase链接数据库时,在循环遍历result时,前四次遍历取数正常,第5次报错 20C

代码如下:
图片说明
p://img.ask.csdn.net/upload/201710/31/1509412397_714565.png)

报错异常如下:,,,求大神帮忙

  1. java.lang.RuntimeException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
    Tue Oct 31 09:03:17 CST 2017, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=60108: row '10.10.49.161_150935' on table 'HOST_RESRC' at region=HOST_RESRC,10.10.47.55_1507847553,1509329651091.3ede1b811762ae5d54b7575a55f26a5a., hostname=node1,16020,1509329624220, seqNum=63801830

    at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:97)
    at com.nantian.zabbix.service.impl.TestHbase.querybasic(TestHbase.java:135)
    at com.nantian.zabbix.service.impl.TestHbase.main(TestHbase.java:61)
    Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
    Tue Oct 31 09:03:17 CST 2017, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=60108: row '10.10.49.161_150935' on table 'HOST_RESRC' at region=HOST_RESRC,10.10.47.55_1507847553,1509329651091.3ede1b811762ae5d54b7575a55f26a5a., hostname=node1,16020,1509329624220, seqNum=63801830

    at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.throwEnrichedException(RpcRetryingCallerWithReadReplicas.java:271)
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:210)
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:60)
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:210)
    at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:327)
    at org.apache.hadoop.hbase.client.ClientScanner.loadCache(ClientScanner.java:413)
    at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:371)
    at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:94)
    ... 2 more
    Caused by: java.net.SocketTimeoutException: callTimeout=60000, callDuration=60108: row '10.10.49.161_150935' on table 'HOST_RESRC' at region=HOST_RESRC,10.10.47.55_1507847553,1509329651091.3ede1b811762ae5d54b7575a55f26a5a., hostname=node1,16020,1509329624220, seqNum=63801830
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:169)
    at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:65)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: Call to node1/10.10.49.182:16020 failed on local exception: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=3, waitTime=60001, operationTimeout=60000 expired.
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.wrapException(AbstractRpcClient.java:284)
    at org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1238)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:223)
    at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:328)
    at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.scan(ClientProtos.java:32831)
    at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:215)
    at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:63)
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:210)
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:364)
    at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:338)
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:136)
    ... 4 more
    Caused by: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=3, waitTime=60001, operationTimeout=60000 expired.
    at org.apache.hadoop.hbase.ipc.Call.checkAndSetTimeout(Call.java:70)
    at org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1212)
    ... 13 more

0

3个回答

Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
Tue Oct 31 09:03:17 CST 2017, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=60108: row '10.10.49.161_150935' on table 'HOST_RESRC' at region=HOST_RESRC,10.10.47.55_1507847553,1509329651091.3ede1b811762ae5d54b7575a55f26a5a., hostname=node1,16020,1509329624220, seqNum=63801830

0

1、看看传入的字段是否和表中字段一致
2、设置一下最大的超时响应时间
试试看吧

0
helloyourkey
helloyourkey 回复qq_38774360: 响应时间去看看你的配置文件,里面应该是有设置最大响应的时限的callTimeout=60000
一年多之前 回复
helloyourkey
helloyourkey 回复qq_38774360: 没有相应的字段会报异常,而不是空啊
一年多之前 回复
qq_38774360
**飞星** 时间设置太长也没有意义啊,怎么应用啊
一年多之前 回复
qq_38774360
**飞星** 如果表中没有相应的字段不应该返回空的吗?也不应该报错啊,
一年多之前 回复

空指针异常,检查空指针问题

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Hbase 0.96后Result对象遍历方式
Hbase 0.96后Result对象遍历方式:rnrnrn以前的遍历方式(@Deprecated 不建议使用的方式):rn Result rst = null;n try {n rst = HbaseUtil.selectByKey(tableName, rowKey);n for (KeyValue kv : rst.li
java中ResultSet遍历数据
1.查找数据库中表的列名rnString sql = "select *from tblmetadatainfo";n ResultSet rs = MySqlHelper.executeQuery(sql, null);n String str="";n try {n ResultSetMetaData rsmd = rs.getMetaData();n for (int i =
Hbase表Scan方法获取rowkey
/**n *每次读取Hbase数据库Page_Size条n * @param entityn */n public static void getContentFromHbase(HbaseExportEntity entity) {n StringBuffer buffer = new StringBuffer();n ResultScanner scanner = null;n
从零开始学JDBC--1.6 DQL--ResultSet的遍历方法
1.DQL代码 n不同于前面的DML过程的是,将原来的sql语句改成DQL,并且调用statement的executeQuery() 方法执行查询,返回结果使用ResultSet 进行接收。String sql = "select * from student";nResultSet rs = stmt.executeQuery(sql); n完了?没呢! n这个rs保存了查询返回的结果集,并没有读
ResultSet的遍历方法
ResultSet遍历两种方法,第一,直接迭代,第二,用第三方工具类nn第一:直接迭代:nn1.DQL代码nn不同于前面的DML过程的是,将原来的sql语句改成DQL,并且调用statement的executeQuery() 方法执行查询,返回结果使用ResultSet 进行接收。nnnString sql = "select * from student";nResultSet rs = stm...
IDEA编程连接hbase失败,无异常信息
向hbase中插入数据,一直尝试连接无任何异常信息(十分钟后应该会报异常)nnn/**n * 插入数据n */n @Testn public void put() throws Exception {n //创建conf对象n Configuration conf = HBaseConfiguration.create();n ...
HBase基础知识(7):扫描操作之ResultScanner类
扫描操作不会通过一次RPC请求返回所有匹配的行,而是以行为单位进行返回。很明显,行的数目很大,可能有上千条甚至更多,同时在一次请求中发送大量数据,会占用大量的系统资源并消耗很长时间。 n nResultScanner类把扫描操作转换为类似的get操作,它将每一行数据封装成一个Result实例,并将所有的Result实例放入一个迭代器中。ResultScanner的一些方法如下:Result next
HBase RegionLoad获取Name乱码问题的源码分析与解决方式
通过RegionLoad可以获得一系列有关Region负载的详细信息,但是因为需要通过regionName与HRegionInfo中的regionName匹配,从而合并相关信息(保存的时候没有保存字节数组的regionName,太长了并且不直观,同时还需要clusterName信息,以保证其唯一性),所以也正因为如此,才带来了标题中的问题。由于每次抓取的Region数量在一两万左右,所
遍历hbase中表的方法
背景:n在我们自己的产品中,有利用hbase存储大量的数据,其中的一个场景就是:多个线程不停的向这个数据库表写数据,然后还有一个线程不停的从这个数据库表获取数据,然后再交给多线程处理。nnn问题1:n从数据库表中取出数据时,有时候会出现意想不到的结果,例如本来利用pagefilter只需要2000个数据,但是有时候返回了40000多个,导致获取数据的时间很长,而且内存占用过多。n解决方
计算需要循环几次,比如分页或者数据库遍历时循环次数
一般想到的计算是,通过求余 求模,没有整除,循环次数就要 +1n int p = totalCount / pageSize;n if (totalCount % pageSize != 0)n p++;n return p;nn int p = totalCount / pageSize;n if (to...
Hbase初始化并根据RowKey获取数据
接前面的文章“rnrnHbaseTemplate配置进阶:利用Spring自动装配加载HbaseTemplatern”rnrn1、java中的controller类:rnrn@Controllerrnpublic class HbaseController {rn@Autowiredrnprivate HbaseTemplate htemplate;rnHbaseInit hbaseInit =
使用JAVA连接HBase时查询数据时,无限等待问题
代码就不贴了,直接上打印出来的log情况。以下是log,然后一直等待,没有结果16/07/21 09:22:36 INFO zookeeper.ZooKeeperWrapper: Reconnecting to zookeepern16/07/21 09:22:36 INFO zookeeper.ZooKeeper: Client environment:zookeeper.version=3.4.
ajax遍历返回结果集
success: function (data){n $.each(data, function (index, n) {n
hbase从hdfs中获取数据出错,无法解决
-
s标签遍历中的遍历
JSPnn n n n n n n 订单号:
JQuery的循环遍历【五】
一、jQuery对象的遍历 1. 遍历的必要性: 因为jQuery对象本身就是数组 jQuery通过选择器有时可以得到多个元素,有必要对这多个元素进行遍历的操作。 2. 三种遍历jQuery的方法: 1) 使用原始的for循环实现 2) jq集合对象.each(function(index ,element)); 3) 全局方法:  $.each(数组或集合, function(ind...
Hbase错误总结:Hbase未正常关闭启动报错
错误信息:nnnorg.apache.hadoop.hbase.NotServingRegionException: Region is not onlinenn2018-10-24 17:20:02,554 INFO [node1:16000.activeMasterManager] zookeeper.MetaTableLocator: Failed verification of hbas...
数据库分割字符串循环遍历查询拼接
ncreate or replace function get_shrdnmbyidsrn(rn  ids varchar2,  --要分割的字符串rn  strsplit varchar2  --分隔符号rn)rnreturn varchar2rnisrn  Result varchar2(4000);rn  tempstr varchar2(4000);rn  bmname varchar2(...
Python 遍历 Mysql 表中数据
需求nnMysql 表中存在几千万到几亿的数据(不存在自增主键),需要对表中数据进行遍历。nn使用的是 pymysql 模块。nn方案 1nn使用 limit 来分块返回数据。 n劣势:使用 limit 每次都需要从头扫描数据表,在数据量超过 1000w 时,性能较低。nnLIMIT = 5000ndef get_name(sql_client, table_name):n i = 0
python中for循环的遍历步骤
for循环遍历简单步骤:nn         操作对象:list,string,tuple,dict,setnn             step1:交由内置函数__iter__()生成一个迭代器,nn             step2:由生成的迭代器调用__next__(),每调用一次返回一个值,与索引无关,因此亦能遍历字典和集合nn             step3:遍历到最后处理异常,因...
各种数据库优先获取前N条记录的写法
以下为各种数据库获取前n条记录的写法,仅供参考rnpg:--->select name from t_personal order by personal_id desclimit 10rnSQLSERVER:--->sselect top 10  ***rndb2:--->sselect * from table_name fetch first 10 rows onlyrnoracle:---
hbase读数据之client
rn   前言:研究的HBase版本是0.94.12,贴出的源代码可能是经过我删减或者加工过的(简化篇幅,更易读)rn  rn  以Scan查询为例介绍数据查询时HBase client端的实现rn  rnnrnpublic static void main(String[] args) {rnscan("product", "f", "", 2); //从product表查询2条记录rn}rnp...
HBASE配置完成后,启动出错的问题
按照常规的HBASE部署方式配置好后。使用start-hbase.sh启动时,通过JPS命令查看各项进程似乎已经正常启动。但在logs目录下的log文件中记录有相当多的异常信息。下图即为其中一部分。nnnn通过错误信息看,应该是zookeeper的问题。连接被拒绝,估计是节点的zookeeper未启动造成的。在网上找了很多方法都没能解决。nn后来想起,在配置HBASE时,默认使用hbase自带的z...
js 使用for...in...遍历对象时需要注意的一个问题:遍历时莫名其妙的多了属性
本文讲述了在使用for...in...遍历对象属性时遇到的一个小问题,for...in...会把对象所有的可枚举属性都遍历出来,稍有不慎就会产生莫名其妙的错误,同时本文也介绍了如何避免这个问题的方法。
分析、解决java访问HBase 1.2.4时put数据卡住很久并报错:Failed to get region location
终于配置好了完全分布式的HBase1.2.4的环境,zookeeper集群是独立的,即HBase没有托管ZooKeeper的集群,研究清楚了新版本的api的变化,遂写好了简单的demo代码往某张表里put数据,api很简单从略,运行时卡住,程序一直卡着不动,也没有结束,执行到put那一行就彻底卡住了,一个小时后,控制台会报错
算法一:循环遍历一个数组
刚开始我的写法是:定义一个int count = 1;然后累计,当超出数组的长度,就重新置0;int[] str = new int[]{R.drawable.a,R.drawable.b,R.drawable.c};nint count = 1;nimageView.setImageResource(str[0]);n//下面是按钮监听事件里的方法ncase R.id.imageView:
freemarker在页面中循环遍历数据,以及滤空数据
<#if citys??>  <#list citys as city>   <li class='areaName' value='${city.cityID!''}'>${city.cityName!''}</li>  </#list> <#else>    <#list districts as district&
for in语句循环遍历对象的属性
for in语句循环遍历对象的属性js循环主要有两种为for循环和while循环,但for in可以说是一种另外的的循环,因为它的独特性使得我们在调用拼接对象字符串时非常方便。代码示例:var person = {name:"one",age:12,sex:"男"};nvar txt = '<table border="1"><tr>';nfor(var x in pers...
在循环遍历数据的表格中获取当行的数据
因为每一行的数据都是foreach出来的,所以如果定义其id号的话,那么每行都是一样的。 一、原先的办法是定义一个num1<%int num = 1;%> 然后在每个id后 xxx<%=num%> , 在foreach的最后<%num++;%>这样得到的每行id都是不一样的,从而可以用jquery根据id号获取到每行的值。但是这样似乎麻烦了些。 二、下面是更加方...
jQuery循环子节点并获取值
[code="html"]rnrn rn rn rn rn rn rn rn rn rnrn[/code]rnrn[code="js"]rnvar arrUl = jQuery(".left_tree_ad_btn_container > ul");rnjQuery.each(arrUl, function(){rn alert(jQuery(this).fin...
ajax请求接口,在for循环中处理返回参数
1.处理情况:返回数据result为数组类型,且读取数据为动态,不知道key值。循环遍历数组中的key与value。rnrnrnfunction getdata(){rn//在函数内定义变量,不加var声明,默认为全局变量rnuser=new Array();rnuserva=new Array();rn$.ajax(rnurl:"", //请求接口地址rntype:"get", //接口请求类型
遍历集合时出现异常:java.util.ConcurrentModificationException的处理方案
0.出现异常的原因:集合在迭代过程中对其中的元素进行修改操作。以下是解决方法1.java遍历Map时,对其元素进行删除package net.nie.test;    import java.util.HashMap;  import java.util.Iterator;  import java.util.Map;    public class HashMapTest {     priva...
遍历时间 并获取当前时间以及当前时间后2小时50分钟的时间
var mydate = new Date();rn var hours = mydate.getHours(); //获取当前小时数(0-23)rn var start_h = "";rn if(hours==0){rn start_h = "0"+hours;rn }else if(hours>0 && hours
循环遍历两个,把相同的值放入第三个list里面
List result;rnrnList userList;rnrnList userList2;rnrn                              for (User user1 : userList) {rnfor (User user2 : userList2) {rncount++;rnif(user1.getId().equals(user2.getId())) {rnu
for循环遍历数组并获取到数据值进行判断
n/*vm.listData为数组*/nvar obj = vm.listData;n //for循环遍历数组 获取数组中的 手机号 并判断手机号的 长度 是否为规定的 长度n for (var i = 0; i < obj.length; i++) {n obj[i].phone;n if(obj[i].phone.length != 11){n ...
遍历ResultSet结果集的列信息
现在的SSH开发框架非常流行,使得大家都有点忘记了JDBC的用法。笔者在工作中刚好遇到一个场景,由于对性能有较高要求,并且尽可能采用轻量级的技术方案,最终选择了最原始的JDBC技术。在功能模块开发的过程中,由于SQL是动态生成的,在获取结果集后要通过遍历ResultSet的列,将ResultSet转换为Map对象,在这里需要使用到结果集元数据类型。关键代码如下:Map<String, Object>
TCP四次挥手客户端连接关闭链接为什么要等待2MSL?
MSL(maximun segment Lifetime): 报文的最大生存时间, 是任何报文在网络上生存的最大时间。nn如果client直接closed, 那么由于IP协议的不可靠性或者是其它的网络原因, 导致Server没有收到客户端最后回复的ACK。那么服务器就会在超时之后继续发送FIN,此时由于客户端已经CLOSED了,就找不到与重发的FIN对应的连接,最后Server就会收到RST(表示...
java客户端获取Hbase单行数据或多行数据示例
public static void main(String[] args) throws MasterNotRunningException, IOException{rn// TODO Auto-generated method stubrnString tableName = "zrl_emp";rn//配置对象rnConfiguration conf = HBaseConfiguratio
创建hive和hbase整合表报错原因之一
我的hive版本是apache-hive-1.2.1-bin.tar在hive里创建hive和hbase整合表的内部表报错信息如下:FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop.hbase.HTableDescriptor.addFamily...
javaAPI操作hbase时遇到如下异常
javaAPI操作hbase时遇到如下异常Caused by: com.google.protobuf.ServiceException: java.net.UnknownHostException: unknown host: luheng原因:windows本地不知道luheng对应的ip地址解决办法:修改C:\Windows\System32\drivers\etc\hosts文件添加 19...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学习java基础语法时 学习java时