Hbase 扫描和获取之间的性能差异?

我有一个包含8G数据的HBase表 当我在该表上使用部分键扫描来检索给定键的值时,我得到了几乎恒定的时间值检索 当我使用Get时,所花费的时间远远大于扫描。然而,当我查看代码内部时,我发现Get本身使用了扫描 有人能解释这个时差吗?正确,当您发出Get时,会在幕后进行扫描。确认:“每次发出get或扫描时,HBase扫描(sic)每个文件以查找结果。” 我无法确认你的结果,但我认为线索可能在于你的“部分键扫描”。在比较部分键扫描和get时,请记住,用于get的行键可能比用于扫描的部分键长得多 在这

如果更改现有hbase安装上的复制系数,会发生什么情况

我有一个包含12个节点的集群,目前在HBase表中保存了约2.5 TB的数据。当前的复制系数是3,我实际上不需要那个完整性级别,我想把系数降到2 除了更改每个节点上的/etc/hbase/hbase site.xml文件中的复制因子外,我还需要做些什么才能迁移到新的复制因子?我相信以下几点: ./bin/hadoop dfs -setrep -R -w 2 / 这将更改现有文件的复制。在配置中更改复制可能会更改新文件的复制

HBase&;单节点(伪分布)安装

在拉尔斯·乔治的书中,我读到你不应该将一个主服务器定义为区域服务器。如果这是真的,我应该在conf文件夹中的“regionservers”文件中放入什么来进行伪分发?那里已经有一个本地主机。我是否也应该删除它并将其保留为空 我需要一个动物园管理员吗 我已经安装了3个运行的mashines集群,但是我在单节点onw上遇到了问题 问候, 您可以将localhost保留在regionserver文件中 在您的hbase-site.xml中具有以下配置条目 hbase.zookeeper.quorum

无法启动HBase主机:加载的协处理器为:[]

在我的HBase安装(分布式模式主机+2个区域服务器)中,外部zookeeper运行在Hadoop分布式安装(主节点+辅助主节点+两个数据节点)之上,我无法启动HBase主机。区域服务器启动时没有问题。HbaseMaster失败,出现错误消息: 2013-09-06 13:00:13,503 FATAL org.apache.hadoop.hbase.master.HMaster: Master server abort: loaded coprocessors are: [] 2013-09-

hadoop在哪里存储hbase数据?是否存在hbase数据的物理路径?

hadoop在哪里存储hbase数据?是否存在hbase数据的物理路径? 我想使用sqoop将hbase数据导出到MS sql。我需要指定参数export dir。但是我找不到hbase数据的目录。有人能帮忙吗 谢谢HBase表数据存储在$base\u dir/data/data/$schema\u name/$tablename下 但是,不能在这些文件夹下复制随机sqoop数据。HBase以HFile格式存储数据。 您需要将数据写入HFiles。也可以使用hbase api将数据写入hbase

如何解决Hbase中的主机名问题

当我使用Spark从Hbase扫描表时,我遇到了以下警告信息,但这不是例外,我仍然能够从Hbase查询出数据: WARN mapreduce.TableInputFormatBase: Cannot resolve the host name for h006.test.test.local/10.1.1.6 because of javax.naming.NameNotFoundException: DNS name not found [response code 3]; remaini

Hbase Phoenix查询服务器未返回任何结果

我刚刚开始在HBase上使用ApachePhoenix。我们有一个设置,当从集群节点中调用Phoenix时,Phoenix正在工作,我们可以干净地在表中进行CRUD。现在,我们需要一个在网络之外运行的应用程序,比如一个托管移动应用程序的系统能够查询Phoenix表。为此,我们正在尝试的一个选项是使用Phoenix查询服务器PQS。我已确保可以从外部网络访问端口8765,因此,当我们使用下面的CURL命令时,我们期望得到预期的结果: [root@externalsystem~]curl-XPOST

HBase独立模式下的ZookePerConnectionException异常

我正在使用hbase-0.90.0。我在独立模式下运行它。当试图从“hbase shell”执行任何命令时,它给了我以下错误 hbase(主):003:0>状态“详细” 错误:org.apache.hadoop.hbase.ZooKeeperConnectionException:org.apache.hadoop.hbase.ZooKeeperConnectionException:org.apache.zookeeper.KeeperException$ConnectionLossExcep

Hbase Thrift无法在RegionServer上运行:getMaster尝试失败,返回java.net.ConnectException:连接被拒绝

我尝试在每个regionserver上运行Thrift(用于mapreduce输入以及将来的负载平衡) 启动Thrift服务器失败,但是,12/01/30 15:52:32 INFO client.HConnectionManager$HConnectionImplementation:getMaster尝试10次中的9次失败;不再重试。 有一个到主机的路由(pings成功),hbase master在默认端口上运行(并使用lsof-i:60000确认存在),但我仍然得到 12/01/30 15

通过sock代理的Hbase API

有没有办法通过sock代理调用HbaseAdmin/Htable?我想使用localhost:1080 socks代理映射到集群中的一个框,然后与Hbase(Zookeeper、Master、RegionServer)对话。有办法吗 谢谢。我也有同样的要求,并且发现ZooKeeper客户端连接是通过NIO(org.apache.ZooKeeper.ClientCnxnSocketNIO)实现的。NIO不支持通过袜子连接 如果有源代码,请在ZooKeeper.java上签出getClientCnx

运行hbase shell时无法找到或加载主类org.jruby.main

我是hbase的新手。我在Ubuntu 12.04中安装了hbase-0.98.5-hadoop2单节点。 我已完成hbase安装,并尝试在终端中运行hbase shell命令 indi60@arrasyid:/hack/hbase-0.98.5-hadoop2$ ./bin/hbase shell Error: Could not find or load main class org.jruby.Main 我试着用谷歌搜索这个错误,但没有找到任何解决办法。请告诉我该如何处理此错误。我应该添

HBase协处理器:检查并输入导致<;获取世界其他地区的锁时超时>;

HBase版本:0.94.15-cdh4.7.0 我有一个非常简单的设置: 表ttt及数据 表带计数器的计数器(增量字段) 为ttt表格准备 在ttt中插入/更新行时,协处理器检查同一行的d:k列中是否存在值。 如果没有值,协处理器会增加计数器表中的计数器,并通过checkAndPut方法将其分配给d:k列 代码如下: @Override public void prePut(final ObserverContext<RegionCoprocessorEnvironment>

基于部分行键筛选HBase中的行

我有我的HBase数据,行键为siteid\u时间戳 行-列+单元格 001_1454578003995 column=hd:abc,时间戳=1454578173766,值=2 001_1454578003996 column=hd:def,时间戳=1454578173766,值=2 002_1454578003997 column=hd:ijk,时间戳=1454578173766,值=2 002_1454578003998列=hd:lmn,时间戳=1454578173766,值=2 站点ID可

Apache phoenix/hbase在具有辅助索引的表中重复

我在Apache Phoenix/hbase中创建了一个表 带字段的产品:店铺标识、SKU、计数 和车间标识上的主键,SKU 和计数的二级索引,SKU select * from PRODUCTS 返回: SHOP_ID | SKU | COUNT 1 | product1 | 10 但是 返回 COUNT | SKU 10 | product1 6 | product1 我想,次要索引并不关心upsert数据

从Java API连接时发生Hbase错误

当我使用下面的代码执行JavaAPI代码来连接Hbase表时,我遇到了下面的错误 Java代码 错误 6/07/22 10:08:02错误zookeeper.ZooKeeperNodeTracker:检查“zookeeper.znode.parent”中配置的值。可能有错配 与主设备中配置的一个连接。 java.lang.IllegalArgumentException:检查在“zookeeper.znode.parent”中配置的值。可能与一个配置不匹配 我在母版上看到了。 位于org.apa

Hbase 在ApachePhoenix中显示索引

我在HDP2.3上安装了ApachePhoenix 4.4。有人知道如何查看表上创建的所有索引吗?就像MySQL有show index on table\u namequery一样。我找不到有关文档的帮助。如果您使用的是sqlline,默认情况下,sqlline与Phoenix捆绑在一起,您应该能够通过发出命令查看现有索引 !indexes ${schema_name}.${table_name} 你能评论一下为什么这个问题被否决了吗?

在升级TTL之前是否必须禁用Hbase表?

我有要更新其TTL的hbase表。在更改这些表以更新TTL之前,是否必须禁用这些表?请添加您的代码,以便我们可以帮助您。谢谢我将hbase表的TTL设置为324000,即5周,我必须将其更新为2419200,即4周。因此,我必须运行这个命令:alter'tablename',{NAME=>'d',TTL=>2419200};为此,我必须在alter命令之前运行disable'tablename'命令。这是我的问题。请阅读有关hbase.online.schema.update.enablecon

HBase“;“一列两列”;特征

下一本书暗示有一种方法可以将两个列放在一个列中,而不使用列族。这是一个实际的HBase功能,还是仅仅是一个开发人员的hack,比如“在将两个值发送到HBase之前,将它们连接到一列中,我会记住,实际上我在其中放了两列”——hack?如果这是一个特性,那么它的语法是什么 “Hadoop应用程序体系结构由Mark Grover,Ted Malaska, 乔纳森·塞德曼和格温·沙皮拉(奥雷利)。” [将两列foo和bar设置为一个记录时,]每个列都是逻辑的 HBase表中的记录在HBase HFile

从客户端引用时Hbase主机名错误

当我试图从客户端连接到HBase群集时,遇到了一个奇怪的问题。客户端似乎正在获取连接的主机名和IP,无法连接到主机。以下是日志文件的相关部分: 12/09/27 13:28:41 INFO client.HConnectionManager$HConnectionImplementation: getMaster attempt 0 of 10 failed; retrying after sleep of 1000 java.net.UnknownHostException: **?13006

从WebLogic 12c连接到HBase

我们正在尝试从部署到WebLogic 12c的WebApp连接到HBase服务器 WebApp使用包含HBase客户端连接代码的jar文件。此代码通过HTablePool实例连接到HBase,当发出HTable的第一个请求时,HTablePool的初始化如下: public HTableInterface getTable(String tableName) { if (pool == null) { logger.info("Initializing connect

hbase中的最大表数

可以在HBase中创建的最大表数是多少?。如果我创建用于保存每小时数据的表。例如,24/8/3013 8:00pm数据将存储在24_8_2013_8中 它会影响HBase的性能吗 看来您误解了HBase。它不是用来这样使用的。当我们需要存储大量数据时,我们使用HBase。一个人在一小时内能获得多少数据?听起来不太明智 如果您确实有这样的需求,最好考虑一个好的模式。可能是一行/小时,或者适合您的用例的东西。但是每小时一张桌子对我来说似乎不合逻辑

了解Hbase中新添加/更新行的最佳策略

我需要知道HBase表中新添加/更新/删除的行是什么。 假设我有一个单独的表,我在其中维护这个更改列表(即已更改的键),并且有一个标志告诉我这是一个已更改的行(0-更改,1-已处理更改的行) 还有另一个进程对了解更改的行感兴趣,一旦它处理了这些行,它就会将这些行更新为1。 在hbase中执行此操作的最佳策略是什么 插入行时,如果将timestamp设置为curr date,则可以使用TimestampFilter查找新添加的行。要跟踪特定行键/值的更改内容,可以使用hbase的版本功能

Cloudera 5.3.0中的HBASE_主目录

在CDH 5.3.0中,在将HBase作为服务添加之后,我需要将一些JAR复制到HBase_HOME/lib目录中。我无法在部署的集群中找到它。对于Cloudera CDH5,$HBASE\u HOME/lib位于/usr/lib/HBASE/lib/目录中。 我已成功使用此位置放置Phoenix library第三方罐。谢谢SashaEgorov,我会尝试。

协处理器部署:在不重新启动hbase的情况下更换jar将生效吗?

让我们假设这个情况 我在hbase-site.xml中声明了一个协处理器 <property> <name>hbase.coprocessor.region.classes</name> <value>my.co.processor</value> <property> 如果我以后在协处理器中发现一个bug,我可以在所有区域服务器中替换该jar文件而不重新启动整个hbase吗 如果我想添加另一个协处理器,那么我想我必须重新

Hbase scan.addcolumn或限定符筛选器以检索值

要检索Hbase中特定列的值,我应该使用scan.addcolumn还是限定符筛选器 哪种方法性能更好?如果您已经知道限定符,则必须使用scan.addColumn()。如果您不确定限定符,并且希望将限定符与特定值进行比较(使用诸如较大、较小、相等等运算符),则必须使用限定符筛选器。限定符过滤器的HBase文档中提到了它- 如果要查找已知的列限定符,请直接使用Get.addColumn(字节[],字节[]),而不是筛选器

找不到HBASeComontestingUtility类

我正在尝试为我们的hbase设置设置unittests。但是,测试失败,错误消息为“java.lang.NoClassDefFoundError:org/apache/hadoop/hbase/hbaseCommonteStinguility” 我尝试将各种包添加到gradle文件中(希望找到这个难以捉摸的类)。我的gradle文件如下所示: compile 'org.apache.hbase:hbase-client:1.1.2' testCompile 'org.apache.hba

Hbase和Zookeeper

我已经安装了HBase 1.0.2、zookeeper-3.4.6和java版本“1.7.0_80” Zookeeper工作正常。但是当我尝试启动hbase外壳时,我得到了以下错误。谁能帮帮我吗。在这一点上,我真的很坚定。 节点/hbase不在ZooKeeper中。这本应该是主人写的。检查“zookeeper.znode.parent”中配置的值。可能与主机中配置的不匹配。 我的hbase-site.xml文件是, hbase.rootdir file:///usr/local/hbase hb

Hbase ResultScanner引发空指针异常

我编写了一个hbase java客户端,如下所示 package hbase; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Conn

在HBase中,是否有方法获取区域的中间键?

看起来我可以得到这样的中间键: RegionServerServices rss = null; final List<Region> onlineRegions = rss.getOnlineRegions(tableName); for (Region region : onlineRegions) { final List<Store> stores = region.getStores();

Hbase扫描中InclusiveStopFilter的效率

我想在Hbase扫描中包括endrow。哪条路更好 第一种方式:[开始,停止] Filter filter = new InclusiveStopFilter(stop); Scan scan = new Scan(); scan.setStartRow(start); scan.setFilter(filter); 第二种方式: (1) 。扫描[开始,停止) (2) 。然后获取停止: Get get = new Get(stop) 我更喜欢第一个选项,因为我们正在扫描对象本身中设置筛选条件

连接到远程HBase时出现超时错误

当我连接到远程HBase群集时,我看到很多这样的消息: 17/07/26 03:17:21 INFO RpcRetryingCaller:Call exception,trys=12,retries=31,start=158602毫秒前,cancelled=false,msg=com.google.protobuf.ServiceException:org.apache.hadoop.net.ConnectTimeoutException:10000毫秒超时,等待通道准备好连接。ch:java.

Hbase 针对Hadoop的Amazon EMR与使用MapR的EMR

我已经使用Spark+Hbase和Phoenix开发了我的应用程序。我想优化运营成本。因此,我考虑使用MapR M7()增强apachehbase应用程序的可靠性。仍然不明白我为什么需要MapR。我已经部署了许多使用Cloudera的项目,但由于我们使用的是S3,所以使用EMR是有意义的。在Cloudera中使用Hbase时,我们没有遇到很多问题。因此,我们试图找出为什么我们需要MapR 但是为什么是MapR呢?有人能帮我理解吗?我想知道是否有人在Hbase的EMR中使用过MapR,并从中发现了

HBase从源重新加载表数据-对用户透明

我们当前的进程从源获取数据,禁用、删除并重新创建HBase表,然后在表中加载新数据 因此,当表没有数据/数据不完整时,有一定的时间 有没有一种方法可以在HBase中重新加载表数据而不存在这种不一致性 我正在考虑用新数据创建一个stage表,并将stage表重命名为main表。这可以使用HBase中的快照功能来完成,但即使这样,也需要禁用、删除现有表,这仍然会导致该表“不透明”这基本上是一种错误的设计。应用程序不应定期删除和重新创建HBase表。您是否检查过HBASE TTL是否可以满足您的需求?

Hbase 使用storm从kafka获取消息

如何从zookeeper获取最后一次偏移时间?当使用暴风喷口阅读卡夫卡的信息时。上下文:Kafka连续获取消息,使用者读取一段时间,然后由于任何原因关闭,然后使用者仅读取最新消息,但不读取上次读取的偏移量 消费者阅读一段时间,然后由于任何原因关闭 不确定你到底指的是什么,因为消费者应该无限运行,除非它被明确停止 现在假设您正在使用storm的实现,有一个名为forcestartoffsetime的配置,用于强制喷口倒回到先前的偏移量。使用它的方法如下 spoutConfig.forceS

如何提高对Hbase的Thrift客户端扫描程序查询的性能

我使用c#的thrift接口从Hbase获取实时数据。我的问题是,过滤查询占用了hbase太多的响应时间。示例代码如下所示: string TableName="testtable"; Dictionary<byte[], byte[]> attributes = new Dictionary<byte[], byte[]>(); TScan scanFilter = new TScan(); scanFilter.FilterString = ToByteArra

Hbase 快速查询Titan中的顶点总数

我有办法找到泰坦的顶点总数 迭代器迭代器=g.getVertices().Iterator() 然而,这是一个非常昂贵的操作,基本上它会遍历所有的顶点,我找不到更快的方法。我使用唯一索引和Hbase作为后端 干杯,这就是我担心的事情的本质。如果使用Faunus,至少可以并行计算,但是hadoop本身就很慢。你不会说你的图有多大,但是如果你看到的是数十亿个顶点,那么等待Faunus完成计数比迭代的结果永远不会返回要好 while(iterator.hasNext()) { iterator

Hbase 从OpenTSDB中删除所有数据和度量值

出于测试目的,我在OpenTSDB中使用以下命令制作了两个度量值: ./build/tsdb mkmetric temperatures ./build/tsdb mkmetric meterreadings 我还使用Java在这些度量中输入了数据点: put temperatures 1356998400 23.5 room=bedroom floor=1\n put meterreading 1430568000 32800 accumulationBehaviour=4 commodit

Hbase Phoenix sqlline无法在终端上显示表的所有列

使用phoenix sqlline连接hbase。在SecureCRT终端上,我只能看到表的三列,超过10列。我想显示表中的所有列,以测试数据是否正常。是否应设置任何配置 0: jdbc:phoenix:10.35.66.72:2181:/hbase> select * from WL.MSGCENTER_PUSHMESSAGE; +--------------+---------+------------------------------------------------------

如何在HBase中实现盐析

我试图在HBase中实现盐分。我已经阅读了Apache电子书,并尝试执行一些命令,但我仍然不清楚如何实现它。例如,如何创建启用了SALT的表?您可以通过指定值为1到256的表属性“SALT_bucket”来创建具有SALT字节的表。如果您使用的是Phoenix,下面是一个如何执行此操作的示例: 创建表表(a_key VARCHAR主键,a_col VARCHAR)SALT_bucket=20 希望这能有所帮助。谢谢您的回复。我在一个网页上看到过类似的命令&我尝试过执行它,但没有成功。今天早上我又

恢复一个崩溃的RegionServer需要多长时间的Hbase

Hbase RegionServer似乎是单个节点,不像Cassandra那样有复制节点。我知道当一个区域服务器关闭时,HMaster会将崩溃的RS上的区域分配给其他RS 但是新的RegionServer可以为崩溃的区域服务多长时间,如果时间太长,客户端不能等待太长时间,客户端将抛出异常甚至丢失数据,对吗?您要寻找的是HBase平均恢复时间 有一些文章在谈论它。基于此回答您的问题: Hbase从故障中恢复需要多长时间 这取决于您的设置、hbase版本、硬件…… 此过程有3个步骤: 确定区域服务器

HBase动物园管理员

我是HBase的新手,尝试在Ubuntu 14.04上配置HBase。配置和启动HBase后(以访问HBase CLI)。如果我运行任何HBase命令,就会得到节点/HBase不在ZooKeeper中。 请在下面找到我的hbase site.xml和zoo.cfg <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://loca

HBase盐析和有效的距离扫描数据检索

为了避免HBase中区域服务器的热点,建议避免顺序行键。其中一种方法是对行键的第一个字节加盐。我想在我的客户机代码中使用这种技术 假设我有n个区域服务器,每个区域服务器最多可容纳m个个区域n*m将是当时的区域总数 x,对于Q1,第一个字节的值将为1

Hbase 在unix shell脚本中读取hdfs文件

我在HDFS位置有一个文本文件,我想使用unixshell脚本(bash概要文件)读取该文件。您可以在web上找到此特定用例的许多操作方法。这是最具规模的业务之一 #!/bin/bash hdfs dfs -cat /your/path/in/hdfs > some_file_on_local_computer 您可以在web上找到此特定用例的许多操作方法。这是最具规模的业务之一 #!/bin/bash hdfs dfs -cat /your/path/in/hdfs > some

Hbase 我们可以对phoenix表进行分区并覆盖单个分区中存在的数据吗?

我们的要求是按列对phoenix表进行分区,并从SPARK在分区级别覆盖记录。phoenix表中没有分区的概念,我们有salting,它将以随机方式分发数据和排序 我们可以使用 df.write.format(“org.apache.phoenix.spark”).mode(“overwrite”).option(“table”,tableToSave).option(“query”,“select*from”“,where”“”).option(“zkUrl”,zkUrl).save() 根据

如何使用Phoenix查询从HBase插入的数据

我正在使用HBase-1.1和Phoenix-4.7。我在HBase中创建了一个表,插入了一个示例值,并尝试根据Phoenix中插入的值进行查询 我在HBase中使用以下查询来创建和插入表数据 create 'T1', {NAME => 'F1', IS_MOB => true} put 'MOBPHOENIXTEST', '1', 'F1:value', 'Initial Value' 并创建了一个Phoenix表来查看HBase数据,如下所示 CREATE TABLE t1 (

尝试了解HBase中的更新

我在下面的链接中看到,HBase不支持更新,这些更新表示HBase是一个“仅附加”存储 另外,我知道可以使用put命令更新HBase中的现有单元格值,只需遵循相同的语法并提及新值即可 例如,可以执行以下操作将city列的值从“Boston”更新为“Chicago”: put 'emp','row1','personal:city','Chicago' 当上一行为时: row1 column = personal:city, timestamp = 1418275907, value = B

从hbase外壳中的扫描获取输出

是否有任何方法可以将hbase外壳中的扫描结果输出到文件?我假设这很容易,但我在文档中找不到任何东西。我知道这篇文章很老,但我自己也在搜索有关HBase的内容,并发现了它 我不知道这是否是最好的方法,但您可以使用HBase提供的脚本选项。只需打开一个shell(最好转到HBase的目录bin)并运行 其中foo是要扫描的表的名称。如果你打开myText,你会在那里看到结果。希望我能帮忙 另一个使用EOF here doc的选项,可能更可定制: hbase shell <<EOF &g

Hbase NotServingRegionException:区域未联机

我的一个Hbase区域服务器由于HDFS进入安全模式而脱机,或者由于安全模式(鸡蛋问题)而无法恢复联机,因此我修复了这个问题,并使区域服务器重新工作,但随后我无法再查询Hbase。我收到一个错误,NotServingRegionException:区域未联机:… 另一个类似的建议是从Zookeeper中删除一些条目,但这听起来像是一条潜在的危险路线,特别是因为我们的错误消息不匹配 这个问题的安全解决方案是什么?我的解决方案是简单地重新启动Hbase Master (在Ubuntu w CDH4上

上一页   1   2    3   4   5   6  ... 下一页 最后一页 共 32 页