1.通过连接池建立连接,然后再较短的时间内多次插入或者读取数据的时候会报错:broken pipe.
Broken pipe往往是因为客户端和服务器的TCP连接断开引起的,hbase thrift server有一个超时的配置
hbase.thrift.server.socket.read.timeout,该值默认为60秒,即当客户端和服务器的连接超过该值没有收到消息的时候,该连接会被断开。
原因:利用happybase创建连接池后,在with完成后connection并没有close,直接返回到连接池当中。
问题就出现在这里,返回到连接池中的connection在60秒后没有使用,被断开了连接,当下一次再拿这个connection去请求资源就会出现Broken pipe的异常。
解决方案:方法1.配置hbase.thrift.server.socket.read.timeout,增加超时时间;
方法2.在使用connection后关闭连接。
你现在的气质里,隐藏着你读过的书,走过的路,爱过的人...