hbase-parameter-tuning
全部标签 我正在使用HBase(客户端中的0.98,服务器为HBase1.1.2),底层数据存储为HDFS。我尝试使用以下代码刷新表,并且能够看到刷新到Hadoop中的HFile位置的数据。htable.put(puts);htable.close();admin.flush(tableName);Hadoop中的数据位置./hadoopfs-du/hbase/data/default/tableName/当我关闭电源并重新启动节点、重新启动Hadoop和HBase时,我能够看到HDFS中的数据已损坏。如果数据正确刷新到HFile,为什么它在电源关闭期间会损坏。我是否需要对刷新表格的代码进行任何
我的应用程序连接到HBase并进行大量通信(每秒数百或数千次读/写)。这会严重影响性能,可能是由于HBase对每个请求执行的I/O操作。Doo.dle是对我的代码的调用-蓝色和红色之间的区别是HBase消耗的时间。目前,我只在独立模式下进行了测试,其中HBase使用本地文件系统存储数据。我想知道,在分布式模式下使用一个实际的HDFS是否可以显着提高性能,或者只是产生相同的结果。我试图在浪费太多时间启动和运行集群之前获得线索。我问自己的第二个问题是,是否可以将独立的HBase配置为仅将数据持久保存到内存(RAM),而不是将其写入文件系统以进行性能测量。 最佳答
我正在使用hbase的nativeAPI编写HbaseJava客户端。我可以连接到hbase并使用我创建的Hbase客户端运行各种查询。我用“hbaseclasspath”命令运行了我的hbase客户端。这解决了所有依赖关系。现在我们希望这个hbase客户端成为项目的一部分,该项目将它作为其组件之一。所以在集成它之后我们需要将它作为项目的War文件的一部分运行,(我们需要将它作为restAPI的一部分运行)。我添加了hbase-site.xml。hdfs-site.xml和core-site.xml作为资源并设置为配置对象的资源。Configurationconf=HBaseConfi
我正在尝试将我的HBase连接到HDFS。我有我的hdfsnamenode(bin/hdfsnamenode)和datnode(/bin/hdfsdatanode)正在运行。我还可以启动我的Hbase(sudo./bin/start-hbase.sh)和本地区域服务器(sudo./bin/local-regionservers.shstart12)。但是当我尝试从Hbaseshell执行命令时,出现以下错误:cis655stu@cis655stu-VirtualBox:/teaching/14f-cis655/proj-dtracing/hbase/hbase-0.99.0-SNAPS
设置:我有一个HBase表,有1亿多行和100万多列。每行只有2到5列的数据。只有1个列族。问题:我想找出所有不同的qualifiers(列)在此columnfamily.有快速的方法吗?我可以考虑扫描整个表,然后得到familyMap对于每一行,得到qualifier并将其添加到Set.但这会非常慢,因为有1亿多行。我们能做得更好吗? 最佳答案 您可以为此使用mapreduce。在这种情况下,您不需要像协处理器那样为hbase安装自定义库。下面是创建mapreduce任务的代码。工作设置Jobjob=Job.getInstance
HTableDescriptorhtd=newHTableDescriptor(table);上面的语句给出了已弃用的htable描述符我已经搜索了很多地方,但无法找到替代方案......感谢任何帮助 最佳答案 我猜你正在使用带有字符串参数的构造函数,即你的参数变量“table”是一个字符串:HTableDescriptor(Stringname);//Deprecated您需要构造一个表描述符,将TableName对象指定为:HTableDescriptor(TableNamename);有关TableName对象的更多详细信息,
我正在使用drill-embedded来执行SQL,我可以看到HBase中的表。这是终端输出..但是,我无法对它们执行查询,这是引发以下错误:0:jdbc:drill:zk=local>SELECT*FROMstudents;Error:SYSTEMERROR:IllegalAccessError:triedtoaccessmethodcom.google.common.base.Stopwatch.()Vfromclassorg.apache.hadoop.hbase.zookeeper.MetaTableLocator[ErrorId:9c656263-c774-4aaf-a789
我正在尝试使用start-hbase.sh启动HBASE,但是,我收到错误:java.lang.ClassNotFoundException:org.apache.htrace.SamplerBuilder。我尝试将各种.jar添加到各种文件夹(如其他线程中所建议的那样),但没有任何效果。我正在使用Hadoop3.11和HBase2.10这是错误日志(的结尾)。java.lang.RuntimeException:FailedconstructionofMaster:classorg.apache.hadoop.hbase.master.HMaster.atorg.apache.had
当Hadoop作业正在运行或正在进行时,如果我向HDFS或Hbase写入一些内容,那么数据对集群中的所有节点可见1.)立即?2.)如果不是立即那么多长时间后?3.)或者时间真的无法确定? 最佳答案 HDFS具有强一致性,因此一旦成功完成写入,新数据应该立即在所有节点上可见。显然,实际的写作需要一些时间-请参阅replicationpipelining有关这方面的一些详细信息。这与最终一致的系统形成对比,最终一致的系统在所有节点看到数据的一致View之前可能需要不确定的时间(尽管通常只有几毫秒)。Cassandra等系统具有可调一致性
我在伪分布式模式下使用CDH4,我在同时使用HBase和Pig时遇到了一些问题(但两者都可以单独工作)。我正在逐步遵循这个不错的教程:http://blog.whitepages.com/2011/10/27/hbase-storage-and-pig/所以我的Pig脚本看起来像这样register/usr/lib/zookeeper/zookeeper-3.4.3-cdh4.1.2.jarregister/usr/lib/hbase/hbase-0.92.1-cdh4.1.2-security.jarregister/usr/lib/hbase/lib/guava-11.0.2.ja