背景说明

  今天对生产环境hbase增加了节点,下午的时候一个同事反馈,应用程序后台报错,如下:

Tue Feb 26 17:35:35 CST 2019, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=68451: row 'SYSTEM.CATALOG,TARGETCUST_DATA,99999999999999' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=host-10-191-36-24,16020,1551146724629, seqNum=0at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.throwEnrichedException(RpcRetryingCallerWithReadReplicas.java:276)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.ClientSmallReversedScanner.loadCache(ClientSmallReversedScanner.java:212)at org.apache.hadoop.hbase.client.ClientSmallReversedScanner.next(ClientSmallReversedScanner.java:186)at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegionInMeta(ConnectionManager.java:1275)at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1181)at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1165)at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1122)at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getRegionLocation(ConnectionManager.java:957)at org.apache.hadoop.hbase.client.HRegionLocator.getRegionLocation(HRegionLocator.java:83)at org.apache.hadoop.hbase.client.HTable.getRegionLocation(HTable.java:506)at org.apache.hadoop.hbase.client.HTable.getKeysAndRegionsInRange(HTable.java:722)at org.apache.hadoop.hbase.client.HTable.getKeysAndRegionsInRange(HTable.java:692)at org.apache.hadoop.hbase.client.HTable.getStartKeysInRange(HTable.java:1769)at org.apache.hadoop.hbase.client.HTable.coprocessorService(HTable.java:1724)at org.apache.hadoop.hbase.client.HTable.coprocessorService(HTable.java:1704)at org.apache.phoenix.query.ConnectionQueryServicesImpl.metaDataCoprocessorExec(ConnectionQueryServicesImpl.java:1301)... 47 more
Caused by: java.net.SocketTimeoutException: callTimeout=60000, callDuration=68451: row 'SYSTEM.CATALOG,TARGETCUST_DATA,99999999999999' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=host-10-191-36-24,16020,1551146724629, seqNum=0at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:169)at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:65)... 3 more
Caused by: java.net.UnknownHostException: host-10-191-36-24at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.<init>(AbstractRpcClient.java:315)at org.apache.hadoop.hbase.ipc.AbstractRpcClient.createBlockingRpcChannel(AbstractRpcClient.java:267)at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getClient(ConnectionManager.java:1639)at org.apache.hadoop.hbase.client.ScannerCallable.prepare(ScannerCallable.java:162)at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.prepare(ScannerCallableWithReplicas.java:376)at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:134)... 4 more
2019-02-26 17:35:35 [com.asiainfo.cb2.consumer.ReceiveSMSID]-[ERROR]:33 - sms consumer begin
2019-02-26 17:35:35 [com.asiainfo.cb2.consumer.ReceiveSMSID]-[ERROR]:38 - sms consumer pushType3

分析

  开始的时候,思路还是纠结在,超时的错误java.net.SocketTimeoutException: callTimeout=60000,想着有没有办法能够增加客户端的超时时间,然后还看了datanode的日志,认为是datanode在写数据导磁盘的时候性能问题,新增加hadoop节点,节点间在进行平衡,导致影响了性能,但是,对于以上的分析都没有更好的方法来解决问题。

结果

  等到后续,在仔细看错误,发现,Caused by: java.net.UnknownHostException: host-10-191-36-24,找不到主机的异常,才突然明白,应用程序首先连接到zk,然后zk告知region在哪个regionserver上,然后,应用程序再连接到hbase的regionserver上读写数据。

解决

  所以,在应用程序的/etc/hosts上配置新增的hbase regionserver节点的hosts解析,再次观察应用程序,该问题解决

文档创建时间:2019年2月27日10:34:38

转载于:https://www.cnblogs.com/chuanzhang053/p/10442044.html

应用程序连接hbase报错:java.net.SocketTimeoutException: callTimeout=60000相关推荐

  1. 解决Hbase报错java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for....

    完整报错为: java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper ...

  2. java程序连接MinIO 报错The request signature we calculated does not match the signature you provided.

    java程序连接MinIO 报错The request signature we calculated does not match the signature you provided. Check ...

  3. Hbase报错解决方法ERROR: KeeperErrorCode = NoNode for /hbase/master

    步骤 今天搭建Hbase环境,遇到了此bug.一开始搭建hdfs的时候还是很顺利的,参考着别人的博客,一步一的做下去,最后可以正常启动.而在搭建HBase的时候遇到了一个很大的bug.但是造成该bug ...

  4. DRP问题集结(一)-Tomcat无法启动,报错java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory...

    问题一:  Tomcat无法启动,报错java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory 问题二:[Error]Jav ...

  5. WildFly 报错 java.lang.NoClassDefFoundError

    在eclipse上WildFly部署项目后,启动一直报错java.lang.NoClassDefFoundError,功夫不负有心人,终于解决. 解决方案 查了网上很多资料,有说环境变量配置不对的,有 ...

  6. Eclipse启动报错Java was started but returned exit code=13

    启动Eclipse的时候报错Java was started but returned exit code=13,这个错误的原因是由于eclipse版本与jdk版本不符导致的,可能你的eclipse是 ...

  7. maven引用servlet_解决Maven 项目报错 java.httpservlet和synchronized使用方法

    使用java8 的lanmbe表达式时,使用java1.8编译,则会报错 需要在pom.xml的中添加 org.apache.maven.plugins maven-compiler-plugin 2 ...

  8. python hbase 报错by_【hbase】使用thrift with python 访问HBase

    HBase 版本: 0.98.6 thrift   版本: 0.9.0 使用 thrift client with python 连接 HBase 报错: 1 Traceback (most rece ...

  9. 首次使用eclipes运行项目报错“Java.lang.ClassNotFoundException”

    首次使用eclipes运行项目报错"Java.lang.ClassNotFoundException" 运行项目时提示: 解决方法: 1.点击菜单-Project-Build Au ...

最新文章

  1. matlab滤波仿真
  2. 13.2.3 视图层——视图函数
  3. Windows I/O模型、同步/异步、阻塞/非阻塞
  4. mysql数据库发布到web服务器上_web应用发布至服务器
  5. 2021牛客暑期多校训练营5 D-Double Strings(dp+组合数)
  6. 子模板继承父模板示例_模板设计模式示例
  7. mysql存储过程语法 if_mysql存储过程语法 if
  8. 10.25模拟 三角形
  9. ie下滚动条样式设置
  10. C++:类访问修饰符
  11. 清华大学操作系统OS学习(六)——进程和线程
  12. mysql 右模糊_面试小知识:MySQL索引相关
  13. 福昕高级PDF 专业版程序安装及注意事项
  14. Git 提交代码步骤
  15. BestCoder #88(1001 1002)
  16. SAP-SD-学习笔记0923
  17. 我是不是应该离职?盖洛普Q12测评法
  18. JavaScript中的NaN
  19. 计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)
  20. 2022/06/06 day07:Scanner类、Random类、ArrayList 类

热门文章

  1. 理工科男人是怎么减肥的
  2. 【天光学术】古代文学论文该怎么写?为你步步解说!
  3. 喝一碗孟婆汤,走一趟奈何桥
  4. 计算机教室管理使用标准,计算机教室管理标准制度.doc
  5. Alphapose - Windows下Alphapose(Pytorch 1.1+)版本2021最新环境配置步骤以及踩坑说明
  6. 【连载】人类唯一的出路:变成人工智能(一)
  7. osx中Grapher的使用
  8. 【福尔摩斯的约会】-PAT
  9. 亲身试验力荐:番茄工作法
  10. [Contests]2016 ACM/ICPC Asia Regional Dalian Online(1006/7/8/9)