我已经构建了一个由九个节点组成的hbase集群。每个节点都有64GB内存容量。现在我想向hbase插入数百万条记录。为了提高写入性能,我在每个节点中创建了20个线程,并且在每个节点中将writebuffer设置为64MB,自动刷新为false。
在准备好数据并进行配置后,我启动了hbase集群。 但是当记录达到一定程度时,就会出现问题。
java.net.SocketTimeoutException:等待通道准备好读取时超过2000毫秒。 ch:java.nio.channels.SocketChannel [connected local = / 10.168.56.192:47017 remote = node4 / 10.168.56.190:60020] node4,60020,1406724569748,跟踪开始于7月30日星期三21:12:05 CST 2014,重试在10019 ms之后,重播91232 ops。
我该怎么做才能解决问题?
答案 0 :(得分:0)
问题可能是您的超时值...尝试在hbase-site.xml文件中增加它(hbase.rpc.timeout)。