Hbase thrift 写数据Broken pipe问题

来源:互联网 发布:win10更改网络为家庭 编辑:程序博客网 时间:2024/06/02 07:11

问题背景

测试环境是三台服务器搭建的Hadoop分布式环境。Hadoop版本是:hadoop-2.7.3;hbase-1.2.4;
zookeeper-3.4.9。
使用thrift c++接口向hbase中写入数据,每次都是刚开始写入正常,过一段时间就开始报错。
但之前使用的hbase-0.94.27版本就没遇到过该问题,配置也相同,一直用的好好地。

thrift接口报错


解决办法

通过抓包可以看出,hbase server响应了RST包,导致连接中断。
通过 bin/hbase thrift start -threadpool命令可以readTimeout的设置为60s。

thriftpool

经过验证却是和这个设置有关,配置中没有配置过该项,通过查看代码发现60s是默认值,如果没有配置即按照以该值为准。

因此在conf/hbase-site.xml中添加上配置即可:

<property>         <name>hbase.thrift.server.socket.read.timeout</name>         <value>6000000</value>         <description>eg:milisecond</description></property>
0 0
原创粉丝点击