今天在做hbase文件存储时遇到了一个问题:
java.lang.IllegalArgumentException: **KeyValue size** too large
at org.apache.hadoop.hbase.client.HTable.validatePut(HTable.java:1312)
at org.apache.hadoop.hbase.client.HTable.doPut(HTable.java:941)
at org.apache.hadoop.hbase.client.HTable.put(HTable.java:908)
google了一下 发现时hbase存储大小的配置问题,
h
base.client.keyvalue.maxsize 缺省10MB 所以我们要改成自己想要的大小:
网上有说改hbase-site.xml文件:
修改hbase-site.xml
增加
<property>
<name>hbase.client.keyvalue.maxsize</name>
<value>524288000</value>
</property>
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.rootdir", "hdfs://m1:9000/hbase");
// 使用eclipse时必须添加这个,否则无法定位
conf.set("hbase.zookeeper.quorum", "m1,s1,s2");
conf.set("hbase.client.keyvalue.maxsize","524288000");//最大500m
重启 好像可以了!