问题标签 [hbase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
507 浏览

mysql - 从我的 java/mysql webapp 启动 map reduce 工作

我需要一些架构建议。我有一个基于 java 的 webapp,一个基于 JPA 的 ORM 支持一个 mysql 关系数据库。现在,作为应用程序的一部分,我有一个批处理作业,可以相互比较数千条数据库记录。这项工作变得过于耗时,需要并行化。我正在考虑使用 mapreduce 和 hadoop 来做到这一点。但是,我不太确定如何将其集成到我当前的架构中。我认为最简单的初始解决方案是找到一种将数据从 mysql 推送到 hadoop 作业的方法。我对此做了一些初步研究,发现了以下相关信息和可能性:

1) https://issues.apache.org/jira/browse/HADOOP-2536这给出了一些内置 JDBC 支持的有趣概述 2) 这篇文章http://architects.dzone.com/articles/tools-moving-sql -database描述了一些将数据从 mysql 移动到 hadoop 的第三方工具。

老实说,我刚开始学习 hbase 和 hadoop,但我真的不知道如何将其集成到我的 webapp 中。

任何意见是极大的赞赏。干杯,布赖恩

0 投票
1 回答
156 浏览

java - 复制独立的 HBase 0.2 部署

据我所知,HBase 的当前稳定版本 0.2 不支持复制,尽管它正在构建到下一个版本中。

您如何建议复制 HBase (0.2) 的独立(非分布式)部署?

我希望将辅助实例用作工作备份,即只读。我可以负担得起具有“最终一致性”的异步备份和少量丢失(数据是非关键的)。

到目前为止,我唯一的想法是在写入主实例之后异步手动更新辅助实例。

0 投票
4 回答
1935 浏览

hadoop - HBase NoServerForRegionException?

当我有一段时间没有与 HBase 沟通时,我得到了这个异常:

org.apache.hadoop.hbase.client.NoServerForRegionException:尝试定位根区域时超时,因为:连接被拒绝

这是否与会话到期有关,如果是,我如何延长会话寿命?

0 投票
1 回答
1191 浏览

hbase - 如何存储和查询非常大的数据集(除了关系数据库)

我们目前面临的问题是如何有效地从非常大的数据集(数十亿)中存储和检索数据。我们一直在使用 mysql 并优化了系统、操作系统、raid、查询、索引等,现在正在寻求继续前进。

我需要就采用何种技术来解决我们的数据问题做出明智的决定。我一直在研究使用 HDFS 的 map/reduce,但也听说过有关 HBase 的好消息。我不禁想到还有其他选择。是否对可用的技术进行了很好的比较,以及每种技术的权衡是什么?

如果您有每个链接可以分享,我也将不胜感激。

0 投票
1 回答
1083 浏览

c# - HBase 列 RegEx 通过 C# 中的 Thrift

我正在使用 thrift 接口 ( http://apache.mesi.com.ar//incubator/thrift/0.5.0-incubating/ ) 访问集群上的 HBase。我可以连接、获取和显示记录;使用开始日期和结束日期。

文档(http://hbase.apache.org/docs/r0.89.20100924/apidocs/org/apache/hadoop/hbase/thrift/doc-files/Hbase.html#Fn_Hbase_scannerOpenWithStop)说,

也可以在列限定符中传递正则表达式。

我的问题很简单——如何?

我的工作代码:

ToByteArray()and是扩展函数,其中ToByteArrayList()...List 为每个字符串调用 ToByteArray,列表中的内容等。我把它放在下面,以防我的 string->byte[] 转换方法可能导致问题。

当我运行上面的代码时,它返回的数据因 和 的变化而START_ROWSTOP_ROW:如果我在 List 中的条目中添加一个冒号 ( ),COLUMN_FAMILY:它仍然会返回数据。如果我在其中输入一个完整的列名,COLUMN_FAMILY:http://www.myurl.com/more/goes/here它将获得该 URL 的所有值。

我想要做的是拥有COLUMN_FAMILY:http://www.myurl.com/.*(或其他正则表达式)并让它返回相关数据,就像文档似乎说的那样。

我只需要一两个例子。我认为我缺少一些格式或技巧来使正则表达式正常工作。

0 投票
4 回答
11263 浏览

hadoop - HBase 连接异常

我尝试在伪分布式模式下运行 HBase。但是在我设置 hbase-site.xml 后它不起作用。

每次我尝试在 hbase shell 中运行命令时,都会收到此错误:

错误:org.apache.hadoop.hbase.ZooKeeperConnectionException:org.apache.hadoop.hbase.ZooKeeperConnectionException:org.apache.zookeeper.KeeperException$ConnectionLossException:KeeperErrorCode = connectionLoss for /hbase

我设置了 ssh 并确保所有端口都是正确的。

此外,我无法停止 hbase ./bin/stop-hbase.sh。我只得到以下输出。

0 投票
1 回答
387 浏览

cassandra - SSTables 或 Hfile 是否合并到 1TB 以上?

在major compaction中,将区域服务器(Hbase)中的所有sstables和所有SSTables形成tablet server(Cassandra)合并成一个大的。

如果周期来了,是否将平均 SSTables(总空间超过 1TB)合并为一个?可能有一些 SSTable 或 HFile 的范围界限将其分成几个部分 - 以确保合并操作不会“重写所有服务器”?

我的问题与此链接http://wiki.apache.org/cassandra/MemtableSSTable的“压缩”部分有关

0 投票
3 回答
5459 浏览

java - HBase java.lang.OutOfMemoryError

我在使用 Hbase 时遇到以下问题。

我有一个脚本,它启动 HBase shell 并将多行插入到具有单列的表中。我尝试插入 10,000 行,但在大约 1,700 行之后,我得到了可怕的“java.lang.OutOfMemoryError:无法创建新的本机线程”错误。我尝试将 Java 堆大小从默认的 1000mb 更改为 1800mb,但这不允许我插入超过 1700 行左右的行。

但是,我注意到我可以插入 1000 行,退出 shell,重新启动 shell,在同一个表中再插入 1000 行,再次退出,等等。我对 JVM 的了解还不够,无法弄清楚为什么它允许我在多个会话中执行此操作,但不允许我在同一个会话中批量插入。

有人可以向我解释这里发生了什么,以及我可以做些什么吗?

编辑:

我现在使用 64 位机器,red hat linux 5,Java 1.6。我给 HBase 的堆大小为 20gb(我总共有大约 32 gigs 内存)。对于堆栈大小,我给 8mb。我相信 64 位的默认值是 2mb;使用 2mb 时我遇到了同样的错误,将其增加到 8mb 根本没有帮助(无论堆栈大小如何,我都只能插入相同数量的行,~1700)。

我已经读过减小堆大小可以使这个错误消失,但这也无济于事。下面是我正在设置的 jvm 选项(除了堆栈大小,一切都是默认的)。

0 投票
3 回答
2780 浏览

java - HBase 列宽扫描和获取

假设我创建了一个表

rowkey (attrId+attr_value) //复合键

列 => 文档:文档 1,文档:文档 2,...

当使用扫描功能时,我每次都会在迭代器中获取 1 行,如果列限定符达到数百万个条目怎么办。你如何循环,会有缓存问题吗?

谢谢。

0 投票
5 回答
9533 浏览

hbase - 无法访问 HBase 表

我有一个由 5 个节点组成的集群,我在 HBase 上创建了一些表并用数据填充它。其中一个节点失败,现在我可以列出 HBase 上的所有表,但是扫描或禁用其中两个表会给出

NativeException: org.apache.hadoop.hbase.client.NoServerForRegionException: No server address listed in .META. for region TableName,,1295871604968

我想删除这张桌子,但无法解决这个问题。我为此使用了 hbase shell。