首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

HBASE - org.apache.hadoop.hbase.MasterNotRunningException

HBASE是一个开源的分布式非关系型数据库,它是基于Hadoop的HDFS(分布式文件系统)构建的。HBASE提供了高可靠性、高性能、高可扩展性的数据存储解决方案。

HBASE的主要特点包括:

  1. 分布式存储:HBASE将数据分布在多个节点上,实现数据的分布式存储和处理,提高了系统的可扩展性和容错性。
  2. 列存储:HBASE采用列存储的方式,将数据按列存储在磁盘上,可以灵活地读取和写入指定的列,提高了查询效率。
  3. 强一致性:HBASE支持强一致性,保证了数据的一致性和可靠性。
  4. 高性能:HBASE通过在内存中缓存数据和使用Hadoop的并行计算能力,实现了高性能的数据读写和查询。
  5. 扩展性:HBASE可以方便地扩展节点,支持PB级别的数据存储。

HBASE适用于以下场景:

  1. 海量数据存储:HBASE适用于需要存储海量数据的场景,如日志分析、用户行为分析等。
  2. 实时查询:HBASE支持快速的数据读取和查询,适用于需要实时查询大量数据的场景。
  3. 高可靠性要求:HBASE提供了数据的冗余备份和故障自动恢复机制,适用于对数据可靠性要求较高的场景。

腾讯云提供了一系列与HBASE相关的产品和服务,包括:

  1. 云数据库HBase:腾讯云提供的托管式HBASE服务,无需自行搭建和维护HBASE集群,提供高可用性和高性能的数据存储和查询能力。详情请参考:https://cloud.tencent.com/product/hbase
  2. 弹性MapReduce:腾讯云提供的弹性计算服务,可与HBASE结合使用,实现大规模数据处理和分析。详情请参考:https://cloud.tencent.com/product/emr
  3. 对象存储COS:腾讯云提供的高可靠、低成本的对象存储服务,可用于存储HBASE中的大型文件和数据备份。详情请参考:https://cloud.tencent.com/product/cos

以上是关于HBASE的概念、分类、优势、应用场景以及腾讯云相关产品的介绍。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Hbase API开发实例(Java版)

import java.io.IOException; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.ByteArrayInputStream; import java.io.DataInputStream; import java.util.Map; import java.util.ArrayList; import java.util.List; import org.apache.hadoop.io.Writable; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.Delete; import org.apache.hadoop.hbase.util.*; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.util.Writables; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.MasterNotRunningException; //import org.apache.hadoop.hbase.ZooKeeperConnectionException; public class HBaseHandler {     private static HBaseConfiguration conf = null;     /**      * 初始化配置      */     static {        //conf = HBaseConfiguration.create();          conf = new HBaseConfiguration();          conf.addResource("hbase-site.xml");     }     /**      * @param args      * @throws IOException      */     public static void main(String[] args) throws IOException {         // TODO Auto-generated method stub         System.out.println("Helloworld");         String[] cfs;         cfs = new String[1];         cfs[0] = "Hello";         createTable("Test",cfs);     }     /**      * 创建表操作      * @throws IOException      */     public static void createTable(String tablename, String[] cfs) throws IOException {         HBaseAdmin admin = new HBaseAdmin(conf);         if (admin.tableExists(tablename)) {

04

tried to access method com.google.common.base.Stopwatch

Caused by: org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.<init>()V from class org.apache.hadoop.hbase.zookeeper.MetaTableLocator     at org.apache.hadoop.hbase.client.RpcRetryingCaller.translateException(RpcRetryingCaller.java:229)     at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:202)     at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:326)     at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:301)     at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:166)     at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:161)     at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:794)     at org.springframework.data.hadoop.hbase.HbaseTemplate$1.doInTable(HbaseTemplate.java:132)     at org.springframework.data.hadoop.hbase.HbaseTemplate.execute(HbaseTemplate.java:61)     ... 75 more 首先确认,Stopwatch在google的guava包下,果断开始查guava,发现项目里有两个版本的guava,删除一个,保留与当前hbase版本匹配的另一个,运行成功。

03

HBase创建快照(snapshot)出现异常的处理方法

01.hbase(main):004:0> snapshot 'booking', 'booking-snapshot-20140912'  02.  03.ERROR: org.apache.Hadoop.hbase.snapshot.HBaseSnapshotException: Snapshot { ss=booking-snapshot-20140912 table=booking type=FLUSH } had an error.  Procedure booking-snapshot-20140912 { waiting=[hbase1.data.cn,60020,1407930968832, hbase45.data.cn,60020,1408609189376, hbase23.data.cn,60020,1407930978740, hbase37.data.cn,60020,1408608587411, hbase46.data.cn,60020,1408609190515, hbase6.data.cn,60020,1407930958926, hbase44.data.cn,60020,1408609188252, hbase7.data.cn,60020,1407930960021, hbase49.data.cn,60020,1408609193897, hbase47.data.cn,60020,1408609191647, hbase21.data.cn,60020,1407930976874, hbase39.data.cn,60020,1408608669063, hbase13.data.cn,60020,1407930966976, hbase15.data.cn,60020,1407930969235, hbase19.data.cn,60020,1407930973863, hbase16.data.cn,60020,1407930971152, hbase18.data.cn,60020,1407930972762, hbase43.data.cn,60020,1408609187126, hbase12.data.cn,60020,1407930966365, hbase10.data.cn,60020,1407930963512, hbase3.data.cn,60020,1407930955378, hbase11.data.cn,60020,1407930965112, hbase24.data.cn,60020,1407930979654, hbase2.data.cn,60020,1407930954308, hbase9.data.cn,60020,1407930962354, hbase38.data.cn,60020,1408608663894, hbase40.data.cn,60020,1408608674240, hbase41.data.cn,60020,1408609184867, hbase4.data.cn,60020,1407930956670, hbase36.data.cn,60020,1408608406292, hbase17.data.cn,60020,1407930972505, hbase35.data.cn,60020,1408607982898, hbase20.data.cn,60020,1407930974993, hbase48.data.cn,60020,1408609192763, hbase22.data.cn,60020,1407930978159, hbase8.data.cn,60020,1407930961333] done=[] }  04.    at org.apache.hadoop.hbase.master.snapshot.SnapshotManager.isSnapshotDone(SnapshotManager.java:342)  05.    at org.apache.hadoop.hbase.master.HMaster.isSnapshotDone(HMaster.java:2905)  06.    at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:40494)  07.    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2012)  08.    at org.apache.hadoop.hbase.ipc.CallRunne

02

HBase thrift2 TIOError

如果HBase thrift2报:“TIOError exception: Default TException”, 这个可能是因为操作的表不存在,不一定是网络或磁盘操作异常。 HBase Thrift2偷懒了,所有异常被统一成了TIOError和TIllegalArgument两个异常, 导致调用者无法区分,而且出错信息也没能很好的带过来,增加了定位工作量。 在HBase client中为如下一个继承关系: public class TableNotFoundException extends DoNotRetryIOException public class DoNotRetryIOException extends HBaseIOException public class HBaseIOException extends IOException HBase master相关日志: 2017-05-27 17:20:42,879 ERROR [thrift2-worker-7] client.AsyncProcess: Failed to get region location org.apache.hadoop.hbase.TableNotFoundException: ABCDE         at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegionInMeta(ConnectionManager.java:1285)         at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1183)         at org.apache.hadoop.hbase.client.AsyncProcess.submit(AsyncProcess.java:422)         at org.apache.hadoop.hbase.client.AsyncProcess.submit(AsyncProcess.java:371)         at org.apache.hadoop.hbase.client.BufferedMutatorImpl.backgroundFlushCommits(BufferedMutatorImpl.java:245)         at org.apache.hadoop.hbase.client.BufferedMutatorImpl.flush(BufferedMutatorImpl.java:197)         at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:1461)         at org.apache.hadoop.hbase.client.HTable.put(HTable.java:1017)         at org.apache.hadoop.hbase.thrift2.ThriftHBaseServiceHandler.put(ThriftHBaseServiceHandler.java:243)         at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)

02

2021年大数据HBase(十五):HBase的Bulk Load批量加载操作

很多时候,我们需要将外部的数据导入到HBase集群中,例如:将一些历史的数据导入到HBase做备份。我们之前已经学习了HBase的Java API,通过put方式可以将数据写入到HBase中,我们也学习过通过MapReduce编写代码将HDFS中的数据导入到HBase。但这些方式都是基于HBase的原生API方式进行操作的。这些方式有一个共同点,就是需要与HBase连接,然后进行操作。HBase服务器要维护、管理这些连接,以及接受来自客户端的操作,会给HBase的存储、计算、网络资源造成较大消耗。此时,在需要将海量数据写入到HBase时,通过Bulk load(大容量加载)的方式,会变得更高效。可以这么说,进行大量数据操作,Bulk load是必不可少的。

02

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券