在我关闭zookeeper后,开发集群HBase通常无法联系zookeeper。我希望有一个“nuke”开关,能够简单地吹走hbase相关的zk节点,并能够从头开始
如何进行重置
顺便说一句,尝试通过hbase外壳连接时,会显示一条消息:
19:28:09/bin $hbase shell
2014-12-03 00:23:28,687 INFO [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead
我试图运行hbase shell命令,但出现以下错误
无效的最大堆大小:-Xmx1000m”
错误:无法创建Java虚拟机。
错误:发生致命异常。程序将退出。
请告诉解决方案您能试试这个命令并检查输出吗。检查为您的机器配置的堆大小。java-XX:+PrintFlagsFinal-version | grep-iE'HeapSize'显示文件名、目录名或卷标语法不正确java-XX:+PrintFlagsFinal-version | grep-iE'HeapSize'yaa..我正在运行相同的
因为HBase只有一个OrderPartioner,是否有方法告诉HBase以随机方式存储数据,以避免热点,但仍有可能基于时间进行范围扫描
谢谢您可以将订单分割器与salt一起使用,在行键之前添加一些基于哈希值的前缀。例如
Integer salt=rowKey.hashCode()%numberofsalt;
Put Put=新的Put(字节数.toBytes(salt+“|”+rowKey));
//添加一些数据到你的文件中
...
numberOfSalts被视为使用顺序键进行批量写入
我有一台HBase 2.0.0服务器正在启动和运行,还有一台HBase 2.0.0客户端正在使用它。现在我还想使用hbase spark 2.0连接器,以便使用spark 2.x而不是1.6。hbase spark最新发布的JAR似乎只有2.0.0-alpha4
我自己尝试构建HBase 2.0.0,它也可以运行,但看起来HBase spark不在2.0分支上(只构建默认分支,看起来是3.0.0-SNAPSHOT)
我设法让hbase-spark-3.0.0-SNAPSHOT正常工作,但如果能够
我正在评估HBase多主实用程序,因为我需要该功能。我使用了一个简单的4机hbase集群,M1作为主集群。现在我也在M4开始了Hmaster。我可以在M4主日志中看到日志,这个HMaster正在等待,因为M1已经在充当HMaster
在此之后,我停止了M1中的主机,几秒钟后,M4主机接管。但我没有看到任何区域服务器与这个新主机通信。区域服务器日志显示
2011-10-31 23:21:18,834 WARN org.apache.hadoop.hbase.regionserver.HRegion
我有一个扩展ColumnTranslator的类,用于处理BigDecimal而不是hbase提供的Long
现在我在想,这纯粹是客户端功能,所以我想,我所要做的就是实例化一个新的ColumnTranslator作为
final ColumnInterpreter<Long, Long> ci = new BigDecimalColumnInterpreter();
将发生以下情况:
12/09/05 13:58:52警告
client.HConnectionManager$HCo
为了简单起见,假设我有一个主键逻辑上应该为long的表。
目前,从我所做的一个项目(使用关系数据库)中继承了一个IDMaker类,该类返回一个long,我(在该项目中)将其用作主键
我之所以说可以,是因为,据我所知,由于这个ID是基于时间戳的,并且是单调递增的,所以它不是HBase行键的好候选
现在,阅读
以及拉尔斯·乔治的《HBase:最终指南》第九章
我认为“腌制”策略可以满足我的需要。这基本上为我的键添加了一个前缀,因此打破了单调序列。
现在的问题是:使用这样的策略,从以下ID开始:
试图找出需要覆盖哪些属性才能在本地运行两个独立的HBase实例
我已修改了hbase-site.xml以包括:
<configuration>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2222</value>
<description>Property from ZooKeeper's config zoo.
我们有一个数据流,它包含:时间戳、对象ID、数据
所需的处理是:
对于每个新条目,获取具有相同对象ID的所有条目,并对所有数据进行处理
一种选择是使用单独的排队服务。
在这种情况下,HBASE模式可以将对象id作为简单键包含,因为所有查询都基于对象id
主要缺点是需要维护额外的基础设施
另一个选项是使用形式为
我还将在值中添加一个“已处理”布尔标志,以指示此记录是否已处理。(此标志可以与其他数据位于同一列族中,也可以是单独的)
按用户id进行的查询应该保持快速,因为它们查询的是一组连续的密钥
但
我想导出ApachePhoenix中现有表的模式。是否有一些命令或工具可以执行与mysql中的show create table\u NAME相同的操作
thxapachephoenix通常用作nosqldb的SQL前端或接口(如Hadoop)。如果你能更具体地说明你正在努力解决的挑战,也许会有所帮助 因为“本机”HBase没有模式(只能指定列族),所以这是不可能的
或者您可以使用Phoenix sqlline工具扫描某些行以提取类型为的列:!描述此解决方案非常有效
选择列名称
从system.
标签: Hbase
bigdatatargeting
我有一个庞大的产品数据库(大约3亿个产品)和大约100万用户。我想根据一些标准(性别、国家、年龄、兴趣等)向这些用户推荐产品
我写了一个算法来推荐这个产品,我可以为每个用户推荐多达100000个产品。我的问题是如何在Hbase中存储所有这些数据,然后再将其显示在我的网站上?您可以使用userID作为行键,使用productid集(您可以将其视为页面)作为列进行存储。该值将包含ProductID的序列化列表
您可能会将第一个页面分隔为单独的列族,以防止加载所有列(页面)。请注意,Apache HB
我对Hbase shell命令有疑问。我们可以在创建表的过程中指定列限定符吗
如果我的表名是“testtable”,列族是ColumnFamily1,限定符是“q1”和“q2”,我可以使用以下命令创建表
创建“testtable”、“ColumnFamily1:q1”、“ColumnFamily1:q2”如果我可能会问,为什么您觉得需要声明列名?您只需要声明列族,因为使用[column family]:[column qualifier]发出PUT将在列族中为您“创建”列
所以现在,不用担心,因
我正在尝试索引HBase表,我遵循了,但最后我看到了一些不同的信息:
./hbase-indexer list-indexers --zookeeper 192.168.0.1:2181,192.168.0.2:2181
my_index
Lifecycle state: ACTIVE
Incremental indexing state: SUBSCRIBE_AND_CONSUME
Batch indexing state: BUILD_REQUESTED
我想根据特定列中的值列表筛选Hbase表扫描
例如:对于下面给出的表Employee,我想获取(123789)中ID为的员工的记录
我尝试使用SingleColumnValueFilter,但它只从表中获取一条记录。下面是我的代码。请告诉我哪里出了问题:
HTableInterface empTableObj = service.openTable("employee");;
Scan scan = new Scan(startRow, endRow);
FilterL
标签: Hbase
clouderacloudera-cdhphoenix
我正在升级运行hbase版本0.94.15-CDH-4.7.0的CDH 4.7.0集群上使用的Apache Phoenix版本。我的目标是将我们从Phoenix 3.1.0版迁移到3.3.1版,但是当我升级到3.2.2版时,我的join语句开始失败
最简单的版本是简洁的,但我的理解是,使用Cloudera Manager推出带有升级jar的新包,然后使用升级的客户端连接到集群,这应该是从一个版本升级到另一个版本所必需的
升级后,我的所有测试都通过了保存连接测试。一个简单的join语句:
SELE
我有以下情况:
文件通过web服务上传,需要解析并存储在HBase中。最合适的方法是什么
我曾考虑在两者之间加入类似暴风雪的东西,但也找到了类似弗拉夫卡的选择
存在哪些方法以及使用这些方法的优点/缺点是什么?有很多不同的方法来完成您的任务。
我更喜欢-你可以使用scala,它有很好的卡夫卡集成。您可以使用(Spark extension来构建流媒体作业)来代替Storm。有很多不同的方法来完成您的任务。
我更喜欢-你可以使用scala,它有很好的卡夫卡集成。您可以使用Spark扩展来构建流媒体作
标签: Hbase
fetchsqoopphoenix
正在以下场景中寻求帮助-
我已经在Phoenix表上创建了HBase表下面的表
然后使用sqoop命令成功地将数据从关系数据库表(Teradata)移动到HBase表下面
我可以通过HBase查看数据,但在Phoenix表中不可见
我错过了什么
问候
ManyaPhoenix将在Sqoop 1.4.7中得到支持
Phoenix将在Sqoop 1.4.7中得到支持
您找到问题的原因了吗?我在Pentaho DI->方解石JDBC驱动程序->查询服务器上也有同样的问题。您找到问题的原因了吗?我在
我们设计了下面的Hbase模式,这是一种RDBMS风格,但业务需求迫使我们这样做
假设我们有学生实体和科目实体,学生和科目之间有一对多的映射
学生实体具有以下属性
名字,
学校
地址:,
国家
主题具有以下属性
主题名,
研究了一年,
主题描述,
通过/失败,
得分
首先,我们在学生实体中嵌套主题,学生信息在每个主题中重复
类似于rk主题,CF:Student(带学生列),CF:Subject(主题列
使用这种方法,对学生属性的任何更新都是一个问题,因为它们必须应用于识别它们的所有行
因此,我们
我是这个opentsdb项目的初学者。所以我希望专家能澄清我的疑问
Grafana是如何从opentsdb服务器收集完整数据的,以及通过什么方法收集所有指标、标记、值等
或
他们是否直接访问Hbase?如果是,它是如何收集完整数据的 否,Grafana仅使用OpenTSDB提供的HTTP API。详细描述见
下表举例。我想按姓氏搜索所有记录。如何在Hbase中查询此信息
Key First Name Last Name Sport
1 John Smith Baseball
2 Wayne Smith Baseball
3 Robert Reynolds Basketball
4 Mark Thompson Basketball
注:
这里我的行id是“Key”列 HBase不支持二级索引。因此,从技术上讲,您不能在接受该键的任何其他列上
我正在docker容器中启动hbase,希望客户端代码能够连接到hbase rpc服务器端口。问题是:它总是不同的(从临时端口范围随机选择)
通过查看hbase代码(,第1078行的bindAddress),我发现我可以通过设置“hbase.regionserver.port”或“hbase.master.port”来覆盖端口
我尝试在hbase-conf.xml中设置这些属性,但没有任何效果-端口仍然是随机的,就好像这些属性被解析为0一样
我如何改变这一点?找到了解决方案。默认情况下,Hbas
我正在将ApachePhoenix与hbase一起使用。但即使是像count(*)这样的简单查询也需要2-3秒的时间
附加屏幕截图以供参考
这是预期的响应时间还是我遗漏了什么。你能发布你的执行计划吗:
explain select count(1) from GA_TABLE_1 where SF_ID='1';
但我认为,由于where条款,您在进行计算时会有一些延迟
我试图通过Thrift2API(在cpp中生成的代码)和ttl在HBase中放入一行。正如官方Java测试代码所示,Attribute对象将有如下帮助
long TTLTIMES=2000L;
//_ttl属性是此put中键值的ms ttl数。
put(wrap(Bytes.toBytes(“_ttl”)),wrap(Bytes.toBytes(ttltimes));
//附加属性
put.setAttributes(attributes);
//发送它。
handler.put(表,put);
我正试图连接到一个zookeeper,该zookeeper正在另一个集群或环境中运行(例如登台),而dev集群有自己的zookeeper
当我在分布式模式下运行时,我无法连接到不同的hbase实例,但当我在伪模式或独立模式下运行时,我可以连接到不同的hbase环境
Configuration cloneConfig = HBaseConfiguration.create();
cloneConfig.clear();
cloneConfig.set("hbase.zook
我正在使用HBase客户端API连接到远程群集并执行一些操作。这个项目肯定需要hbase和hadoop核心JAR。我的问题是,我应该使用“java”命令来处理所有依赖项(使用maven着色插件,或者设置类路径环境),还是有一个神奇的实用程序命令来为我处理所有这些
以MapRedCue作业为例。通常,主类将扩展配置和实现工具。作业将由'hadoopjar'命令执行,所有环境和hadoopcore依赖项都在手边。这种方法还为我处理公共命令行解析,我可以通过'This.getConf()'轻松获得配置
标签: Hbase
limitdatabase-scan
在使用开始行和停止行之后,是否有java api限制扫描记录的数量?
pagefilter是一个选项吗?是否尝试使用
PageFilter可能不会给出预期的结果,文档说:
此筛选器无法保证返回到
客户可能会帮助您。setCaching()用于定义HBase在一次RPC调用中应返回多少个结果 使用scan.setLimit(int)方法
设置此扫描的行数限制。如果返回的行数达到此值,我们将终止扫描。
在停止行、过滤器等所有其他条件之后,最终将测试该条件
如果您只想获得一行,则此答案适用
如果您使
我试图通过运行一个简单的“尽可能快地插入一些随机数据”测试来测试Asynchbase的性能。测试代码大致如下:
org.hbase.async.HBaseClient client = new org.hbase.async.HBaseClient(zookeeperServer);
client.setFlushInterval((short)250);
Random rand = new Random();
long stoptime, elapsedTime;
double elapsed
我想了解一些有关hbase shell命令的基础知识
创建hbase表后是否可以添加新列族
基于两列获取行键和列数据的hbase命令是什么
我创建了一个hbase表,如下所示
create 'employee' ,'personaldetails'
我插入了一些行并添加了一些列
put 'employee','1000','personaldetails:name','surender'
put 'employee','1000','personaldetails:age','27'
put
我正在尝试将Spark JavaPairRDD的内容批量加载到HBase表中
有Java代码的例子吗?关于如何做到这一点的例子不多,也没有特定的连接器。现在,您必须使用HBase默认客户端编写rdd
您有一个使用spark streaming将聚合度量用于hbase的示例。将其转换为您的用例 我们使用开源的unicredit HBase库从Spark批量加载数据
以下是该项目的链接:
该库为批量加载提供了一个简单的界面。它自动化了批量装载的两个步骤,即
从RDD创建HFiles
加载/合并HBa
我有一个表格的行键:
<name>--<zero-padded timestamp>
给我前15个,但是:
scan 'mytable', {LIMIT => 15, REVERSED => TRUE, ROWPREFIXFILTER => 'name'}
返回零结果
这种请求的语法是什么
是否有可能,或者我必须做一些俗气的事情,比如使用MAXINT timestamp作为我的rowkey来手动反转键顺序?我可以在HBase shell环境中执行您的
我把它分成{“e”,“j”,“o”,“u”}。这将是一种有效的方法。如何分割数据
拆分表时,需要避免热插销。例如,可以通过盐渍来防止。如果您的行分布均匀,那么您的拆分就可以了
但如果您不控制数据,最好对行键应用salt
我将给你举一个例子
如果您有以下类似的行:
Can any one suggest me strategies while splitting HBASE table. I have data range starts from [a-z].
然后,所有行都将在同一个拆
标签: Hbase
video-processing
一位朋友问我如何在HBase中逐帧存储原始视频。典型的访问模式是检索一段时间内的帧。每一帧约为7MB,镜头以每秒30帧的速度拍摄。例如,一个20分钟的视频大约需要250GB的存储空间
我看到了Lars George的一段优秀视频,他是《存储视频“块”(他谈论的视频片段从1:07:12开始,到1:08:52结束)的作者,标题为,在这里他谈到了存储视频“块”,因此HBase似乎可能适合此用例
我创建了两个行键选项:
场景0:rowkey=视频ID+时间戳;单列中的框架(高而瘦的桌子),例如。
优点:
我已经在EMR集群中创建了Hbase应用程序,主节点和核心节点分别为1和2。Hbase已配置为存储的S3存储模式。为了检查HA,我删除了2个核心节点中的一个。在EMR产生新的核心节点之后
当我执行查询时,异常显示为“错误:没有到主机的路由”,因为删除的死区服务器未清除,仍然有一些区域正在使用删除的区域服务器
如果启用了核心节点的自动缩放功能,如何自动清除死区服务器?我遇到了同样的问题,我的用例是我有一个mapreduce作业,可以扫描EMR集群上的某个表。数据存储在S3上,启用EMRFS以确保一
我们将HBase用于小对象。我注意到HBase的存储占用空间太大了。原始数据与HBase数据之间的比率达到5倍
仅供参考,我们的数据由小对象组成。每个对象大约有20个字段(存储在HBase表的每个单元格中)。由于每个字段值的平均大小为20字节,因此用于存储值(列系列、列限定符、时间戳等)的HBase数据开销会使HBase文件显著增大
目前,我们正在使用数据块编码算法(FAST\u DIFF)来节省一些空间。然而,我们不能将其降低到接近2倍(与原始数据相比)
你们中有人面对过HBase的这种行为吗
我在HBase中有下表
---row--- ---columns---
15678,ctx,plm,1561356310000 etc...
15678,ctx,plm,1561388710000 etc...
15678,ctx,plm,1561476430000 etc...
26355,yt,rcc,1561356310000 etc...
26355,yt,rcc,1561356
据我所知,HBase使用的是一种原子操作,CheckAndMutate文档解释了这是一种原子操作。我不知道那是什么意思
这是否意味着所有的变异操作都是以原子方式执行的
这是否意味着支票也包括在同一个原子伞下
假设我有:
值为5的单元格
如果值为5,两个工作人员同时希望更改单元格的值(使用checkAndMutate)
worker-1检查单元格值是否为5,然后将该值设置为6
worker-2检查单元格值是否为5,然后将该值设置为7
如果read包含在同一个原子伞下,那么只有一个工作人员会
我是HBase的初学者。
我需要设计我的桌子。
我想利用以下信息:
在XX-XX-XXXX日期,“HELLO”一词出现在文件2,3,4中,每个文件的权重为12,45,36
-我的原始数据:doc:D标题:“我喜欢土豆”,重量:W,日期:D
我创建了一个表,行:word,列:date,值:doc
但是我不能存储多个日期相同的行
我们可以为一个表创建多个列族吗?
设计模式的最佳方法是什么
非常感谢日期是文档中最相关的信息吗?正如您所说,对于给定的模式,每个日期只能存储一个文档。另一种方法是制作一个复
标签: Hbase
flumelog-analysis
默认情况下,flume将一行视为一个事件,但我想讨论一下其他一些标准,如何在flume中实现它
**10 Sep 2013 19:43:33,561 [WebContainer : 9] ERROR - An Error has occured for com.marsh.framework.core.exception.MarshException: Record has been modified since last retrieved - Resubmit transaction**
我只需要在扫描中找出结果的行数。下面代码的问题是,它返回行键和列键,这使得将数据传送到客户端时速度非常慢。我只需要将扫描结果中的行数发送到客户端。有没有具体的方法可以直接做到这一点
scan 'consumer-data', {FILTER => "
PrefixFilter('test_row')
AND KeyOnlyFilter()
AND FirstKeyOnlyFilter()
AND ((ColumnPrefixFilter('test_col:test1')
AND
我在Postgres中有一个表,但现在我应该实现Hbase作为后端数据库,所以我想将下面的表移动到Hbase中,如何重新设计这个表?我是Hbase的新手
id geom osm_id name type
1 00003381C75CBE6443 24254755 Millenium Hall office
2 00003382D5B5D76S3G ...
...
您需要在hbase中创建一个具有
我安装了一个HBase,其中有一组现有表,其中有一组数据(我不希望删除这些数据)。我最近发现使用ApachePhoenix可以使用类似SQL的语法查询HBase数据,到目前为止,它非常出色。然而,由于我还不完全熟悉各种数据类型以及它们如何映射到我存储在HBase中的Java类型,所以有时我会弄错。如果我有一个HBase列存储为
Bytes.toBytes(Long long)
我意外地将Phoenix列创建为varchar,现在如何更改Phoenix列而不丢失所有数据?如果我这样做
alter
我们正面临HBase地区的热点问题。所有写操作都重定向到一个区域服务器,因此某些映射需要花费大量时间。我想使用HBase外壳手动拆分该区域,但可以找到任何示例
我看到语法拼写为'regionname',拼写为key
但我无法找到溢出键,因为行键是随机序列号
什么是分割区域服务器的最佳优化方法。您可以选择salting,这意味着向行键添加随机前缀值,这样所有行键就不会按顺序排列
例如:
按顺序排列键
2016年11月1日
2016年第1202号
2016年第1204号
2016年第1204号
腌制
我想了解HBase的写入路径,到目前为止,我得到了一些非常好的文章:
http://blog.cloudera.com/blog/2012/06/hbase-write-path/
https://sematext.com/blog/2012/07/16/hbase-memstore-what-you-should-know/
然而,有一个问题仍然没有答案(至少对我来说是如此!)。
根据我的理解,write直接进入区域服务器(RS),然后它被写入WAL和Memstore并最终写入HFile。由
我在hbase中有一个表,其中肯定包含数据:
scan "my_table", {LIMIT=>1}
000008d624784f434ea441eb930eb84e201511162015111624000024498 column=g:orig_ccy, timestamp=3688201677984955, value=XXX
但是,在phoenix中在此表顶部创建视图后,未返回任何行:
select * from "my_table";
No rows selected (4.
当我试图通过scala程序将一列为Double的行键放入Hbase表时,我在输出文件(Hbase表)中看到了这种32位表示。这完全停止了我的工作
请告知我们如何在Hbase表中获得“Double”类型字段的正确表示形式
与此相关的代码如下:我是否遗漏了什么
VarValue_Output: Double
p(3).toDouble
final val colVarValueBytes = Bytes.toBytes("VarValue_Output")
put.add(cfDataBytes,
第一次创建HBase表时,我希望用以下方式创建包含多个列的表(我知道以下方式在寻找类似方式时不起作用)
这可能吗?除了使用put命令并将列动态添加到columnfamily之外,还有其他方法吗?我认为这违反了HBase逻辑,是不可能的。我查阅了文档,没有找到任何解决方案。在我的理解中,列族是元数据,但列限定符可能包含类似于单元格值的数据。因此,如果没有数据,就没有列限定符 这是不可能的。只有在插入值时,才会给出列族下的列名。如果要将列添加到CF,请尝试以下操作
put 'table_name',
我正在尝试计算HBase中一行的大小。我还没有找到一种在线或通过任何hbase UTIL实现这一点的方法,我使用hbase hfile-mbsf找到了一个hfile的平均行大小和其他统计数据,但我对单个行的大小感到好奇。有人找到了这样做的方法吗?对我来说,计算单个记录的大小非常有效
Cell有一个方法getRowLength()。任何Get操作都将返回它。这就是你需要的吗?有趣…我会试试看。谢谢
long size = Result.getTotalSizeOfCells(Result res
我试图做的是在PIG
因此,我基本上做了以下工作:
//Loading some address data
CITY = LOAD '/user/root/landingzone/ADRPCDCITY.csv' using PigStorage(';')
AS (dPOST_CODE:chararray, dCITY_CODE:chararray);
//Create the BAG by grouping postal code
B = GROUP CITY by dPOST_CODE;
我在CDH群集5.7.0中运行HBase。经过几个月的运行,没有任何问题,hbase服务停止,现在无法启动hbase主机(1台主机和4台区域服务器)
当我尝试在某个点启动时,机器会挂起,我在主日志中看到的最后一件事是:
2016-10-24 12:17:15,150 INFO org.apache.hadoop.hbase.util.FSHDFSUtils: Recover lease on dfs file hdfs://namenode:8020/hbase/MasterProcWALs/s
我有一个使用HBase作为存储后端的JanusGraph。我想从HBase执行大容量读取,并将数据转换为RDF三元组。是否有任何反序列化组件可供重用
上一页 1 2 ...
5 6 7 8 9 10 11 ...
下一页 最后一页 共 33 页