如何解决HBase MemStore 和 BlockCache 超过阈值
我想将 Spark 作业与我的远程 HBase 连接起来。我有以下罐子:
--jars spark-hbase-connector_2.10-1.0.3.jar,hbase-shaded-protobuf-3.4.1.jar,hbase-0.90.3.jar
所以我将 protobuff、连接器导入到 HBase (https://github.com/nerdammer/spark-hbase-connector) 和 hbase 本身。但是我得到:
java.lang.RuntimeException:MemStore 的当前堆配置 并且 BlockCache 超过了成功集群所需的阈值 手术。组合值不能超过 0.8。请检查 hbase.regionserver.global.memstore.upperLimit 和的设置 hfile.block.cache.size 在您的配置中。
在hbase-0.90.3.jar中,hbase-default.xml指定
hbase.regionserver.global.memstore.upperLimit 0.4 新之前区域服务器中所有内存存储的最大大小 更新被阻止并强制刷新。默认为堆的 40%和
hfile.block.cache.size 0.2 分配给块缓存的最大堆(-Xmx 设置)的百分比 由 HFile/StoreFile 使用。默认值 0.2 表示分配 20%。 设置为 0 以禁用。0.4+0.2 不超过 0.8。有什么可以导致这个错误的吗? 在我的代码中,我指定
sparkConf.set("spark.hbase.host","remoteHost")
hbase-defaults 中zookeeper 的端口是2181,在我远程服务器上的hbase 中也是一样的。
提前致谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。