java.io.IOexception:Broken pipe; java.io.IOexception:connection reset by peer

本文讲述了在使用Java连接HBase时遇到的`IOException: Broken pipe`和`IOException: Connection reset by peer`错误。经过排查,问题并非出在HBase的master、regionserver或ZooKeeper上,而是在代码中参数设置错误。修复参数并改用BufferedReader后,成功实现了读写并解决了无法关闭connection的问题。这个bug寻找过程历时三天,强调了细致检查代码的重要性。
摘要由CSDN通过智能技术生成

java.io.IOexception:Broken pipe; java.io.IOexception:connection reset by peer

语言:java
需求:java连接hbase,进行读写
如标题所示,IO异常了,但是这个时候的报错特别的笼统。根本看不到错误!在这里插入图片描述

  1. 首先查看hbase的master以及regionserver是否启动,日志有无异常,但是很不幸无异常
  2. 接下来查看zk的leader日志以及穷情况也无问题
  3. 因为是架构师写的代码,最开始根本没有想过代码会有问题,仔细查看代码后发现set参数时少了几个参数。个别参数错误。
  4. 设置完参数后发现能写能读但是无法关闭connection,前面是用的htable进行的读写操作,后续改成beffer完美解决。
  5. 所以慢慢细心的找问题,这个问题我找了三天 ,因为没有各种权限还有就是没有一开始就找代码的问题
      public static void main(String[] args) throws IOException {
   
            Connection connection = HbaseUtils.getConnection("xxxx", "hdfs://nameservice1/hbase",
                "/hbase",true,"","/home/rzfx_chanct/rzfx_chanct.keytab","xxx@QH.HADOOP.COM", Executors.newFixedThreadPool(2));
        System.out.println("connection ====== "+connection);
        TableName tableName = TableName.valueOf("test");
        // BufferedMutator存储
        BufferedMutator bufferedMutator = connection.getBufferedMutator(tableName);
        Put put = new Put(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值