【发布时间】:2011-08-30 13:11:40
【问题描述】:
我正在使用 Spring + Datanucleus JDO + Hbase。 Hbase 处于具有两个节点的完全分布式模式。我在这里面临严重的性能问题。
我的 webapp 可以被认为是一个 pinger,它只是不断地 ping URL 并存储它们的响应。 Hnce 我的应用程序运行多个线程以将 INSERT 插入到数据库中。我观察到,一旦并发写入的数量超过 20 左右,插入就会开始花费大量时间(有些甚至需要 1000 秒)。当发生这种情况时,READS 也开始失败,我的 webapp 无法从数据库中提取任何数据(我的 webapp 挂起)。我不是一个 NoSQL 数据库专家,因此不知道从哪里开始寻找性能。
我的主要配置是: Zookeeper 法定人数:1 Hbase 区域服务器:2 数据节点:2 hbase.zookeeper.property.maxClientCnxns:400 复制因子:3
我需要增加 Hbase 的堆大小吗?高 WRITE 吞吐量是否会对 READ 产生影响?
我的配置有问题吗?似乎写入文件会比将数据写入 Hbase 更快。这是我在 Hbase 的最后一次拍摄。请帮忙
【问题讨论】:
标签: nosql hadoop hbase datanucleus