hbase-parameter-tuning
全部标签 我正在使用Flink1.3.2和hbaseTableInputFormat来自flink-connectors(flink-hbase_2.11),使用DataSetAPI。我有一个HBase表,其中行键的结构如下:|RowKey|data||0-someuniqid|data||0-someuniqid|data||2-someuniqid|data||2-someuniqid|data||4-someuniqid|data||5-someuniqid|data||5-someuniqid|data||7-someuniqid|data||8-someuniqid|data|表的前缀
我有一个Spark作业,它读取一些时间序列数据并使用HBASE客户端API将其推送到HBASE。我正在执行这个Spark作业在10节点集群上。首先说,当spark启动时,它选择machine1、machine2、machine3作为它的执行者。现在,当作业向HBASE插入一行时。以下是我对其功能的理解。基于行键,将选择一个特定区域(来自META),该行将被推送到该RegionServer的memstore和WAL,一旦memestore已满,它将被刷新到磁盘。现在如果假设一个特定的行正在由machine2上的执行程序处理,而处理要向其进行放置的区域的区域服务器在machine6上。数据
我尝试根据theofficialdocumentation安装和运行OpenTSDB我使用sudo./build/tsdbtsd--port=4242--config=/path/to/opentsdb/src/opentsdb.conf--staticroot=build/staticroot--cachedir="$tsdtmp"启动OpenTSDB一切似乎都运行良好,但是当我尝试使用./tsdbmkmetricmysql.bytes_receivedmysql.bytes_sent创建指标时,出现如下所示的错误。任何想法出了什么问题,我该如何解决?如果需要任何其他信息,请告诉我。
当我想使用sqoop将数据导入到hive时,我可以指定--hive-homesqoop将调用安装在执行脚本的机器上的指定配置单元副本。但是hbase呢?sqoop如何知道我要将数据导入到哪个hbase实例/数据库? 最佳答案 Maybethedocumentationhelps?Byspecifying--hbase-table,youinstructSqooptoimporttoatableinHBaseratherthanadirectoryinHDFS我看到的每个示例都只显示该选项以及列族等等,所以我假设它取决于可能属于sqo
我正在尝试运行以下Jython代码来扫描hbase表:importjava.langfromorg.apache.hadoop.hbaseimportTableName,HBaseConfigurationfromorg.apache.hadoop.hbase.clientimportConnection,ConnectionFactory,Result,ResultScanner,Table,Adminfromorg.apache.hadoop.confimportConfigurationconf=HBaseConfiguration.create()connection=Conn
我正在使用HBase。我已经安装并运行了分布式环境。但是在HMaster的接口(interface)页面中显示了警告:“您当前正在运行HMaster,但未启用HDFS追加支持。这可能会导致数据丢失”我该如何解决这个问题?如果我不用CDH3的hadoop呢?有人可以给我非常详细的说明吗?谢谢!!!! 最佳答案 正如您刚刚发现的,您不能(不应该)将Hadoop0.20.*的标准Apache版本与HBase一起使用,因为它缺少附加支持HDFS-200。没有支持追加的官方ASFHadoop版本。Cloudera的release是最简单的方法
如果HDFS是只读的(或在基本场景中可追加),它如何维护有序索引?它是否将其索引存储在HDFS或一些永久存储中?[编辑]例如,假设我按此顺序添加了行FBAE。由于HDFS只能追加,我怀疑磁盘上行的顺序将与插入顺序相同。但它如何维护其索引或保持其键有序?-因为它存储key的区域是一次性写入的。 最佳答案 HBase没有索引。它具有有序键(大致相当于SQLServer中的聚集索引,或Oracle中的索引组织表,但没有b树),这些键使用有序分区和时间戳写入进行维护。当memstore达到特定(可配置)大小时,HFiles仅刷新到磁盘,你是
文件内容:one,1two,2three,3文件位置:hdfs:/hbasetest.txtHbase中的表:create'mydata','mycf'pig脚本:A=LOAD'/hbasetest.txt'USINGPigStorage(',')as(strdata:chararray,intdata:long);STOREAINTO'hbase://mydata'USINGorg.apache.pig.backend.hadoop.hbase.HBaseStorage('mycf:intdata');我收到以下错误:在控制台上2012-03-1316:26:22,170[main]
有没有一种简单的方法可以在插入发生后重新计算一些值?我有一个包含多个列族的表,其中一个是统计列族。我想插入原始记录,而不是使用一些特定于HBase的工具来离线计算值-而不会阻止插入。假设我将一些文件放入hbase表中,并希望获得有关其中行数以及存储在那里的日期的信息。我一直在研究RegionObserver及其preGet方法。此解决方案有效,但恐怕它会阻止实际插入发生,直到计算完成。 最佳答案 使用postPut方法。可以看一下HBase的协处理器简介here 关于hadoop-在Hb
我正在通过hadoop多节点集群的importsv工具将1000万条记录加载到Hbase表中。现在这个任务需要5分钟。但我想知道如何提高它的性能。importtsv工具看起来根本不像使用缩减器。我想知道我是否可以强制它使用reducer,它可以提高性能或您认为可以提高性能的任何其他方式将不胜感激。谢谢。 最佳答案 使用HfileOutPutFormat、completeBulkLoadTool尝试Importtsv。 关于Hadoop/Hbase批量加载的性能提升,我们在StackOve