看网上资料基本这两个参数可以让 客户端缓存一部分数据。客户端如果挂了,这部分数据是不是就找不到了?
即使开着Hlog,在缓存还没到达规定的Buffer大小,客户端没有跟Hbase做PUT操作,是不是也不写Hlog?
2.2.1 Auto Flush通过调用HTable.setAutoFlush(false)方法可以将HTable写客户端的自动flush关闭,这样可以批量写入数据到HBase,而不是有一条put就执行一次更新,只有当put填满客户端写缓存时,才实际向HBase服务端发起写请求。默认情况下auto flush是开启的。
2.2.2 Write Buffer通过调用HTable.setWriteBufferSize(writeBufferSize)方法可以设置HTable客户端的写buffer大小,如果新设置的buffer小于当前写buffer中的数据时,buffer将会被flush到服务端。其中,writeBufferSize的单位是byte字节数,可以根据实际写入数据量的多少来设置该值。
|