如果重度依赖HBase,有必要对HBase源码进行深入理解,建议根据日志去找追踪源码!!!
本文根据网易杭州研究院技术专家范欣欣在中国HBase技术社区第3届 MeetUp 杭州站分享的《网易HBase实践》编辑整理而成。
这是几个月前遇到的一次HBase集群宕机事件,今天重新整理下事故分析报告。概况的说是业务方的一个10节点HBase集群支撑百TB级别的数据量,集群region数量达 23000+,最终集群支持不住业务压力,带来了一次惨痛的宕机事件。
相信长时间运维HBase集群的童鞋肯定都会对RIT(Region-In-Transition,很多参考资料误解为Region-In-Transaction,需要注意)有一种咬牙切齿的痛恨感,一旦Region处于长时间的RIT就会有些不知所措,至少以前的我就是这样过来的。正所谓“恐惧来源于未知”,不知所措意味着我们对RIT知之甚少,然而“凡事都有因果,万事皆有源头”,处于RIT状态的Region只是肉眼看到的一个结果,为什么会处于RIT状态才是问题探索的根本,也是解决问题的关键。本文就基于hbase 0.98.9版本对RIT的工作机制以及实现原理进行普及性的介绍,同时在此基础上通过真实案例讲解如何正确合理地处理处于RIT状态的Region。一方面希望大家能够更好的了解RIT机制,另一方面希望通过本文的学习之后可以不再’惧怕’RIT,正确认识处于RIT状态的Region。
很久很久以前,有一天,我在HBase中新建了一张表 “XXX: XXX _EXCEPTION_LIST_INFO”,同时HBase在处理大量更新操作。然后在DROP掉表XXX: XXX_EXCEPTION_LIST_INFO时,HBase Master就宕机。
https://www.cnblogs.com/yhxx511/p/9609765.html
HBase在不开启授权的情况下,任何账号对HBase集群可以进行任何操作,比如disable table/drop table/major compact等等。
之前的系列文章当中,已经为大家介绍了大数据存储当中的MongoDB、Redis等数据库,今天接着来讲Hbase。Hbase在大数据存储当中,与Hadoop生态紧密相关,也是Hadoop生态当中必学的重要组件。下面我们从基础入门开始,来讲讲Hbase。
HBase ACL 可以实现不同的用户、Group与Namespace、Table、ColumnFamily层级的数据权限控制
[root@ha1 sungrow]# cd /soft/hbase-1.1.10/bin [root@ha1 bin]# hbase shell
前段时间总结了一篇关于HBase由于分区过多导致集群宕机的文章,感兴趣的同学可以点击原文《HBase案例 | 20000个分区导致HBase集群宕机事故处理》阅读参考。本文重点参考HBase官网,从分区过多这个角度出发,进一步聊一聊HBase分区过多的影响以及单节点合理分区数量等。
Apache HBase 是基于 Hadoop 构建的一个分布式的、可伸缩的海量数据存储系统。常被用来存放一些海量的(通常在TB级别以上)、结构比较简单的数据,如历史订单记录,日志数据,监控 Metrics 数据等等,HBase 提供了简单的基于 Key 值的快速查询能力。
摘要:HBase自带许多运维工具,为用户提供管理、分析、修复和调试功能。本文将列举一些常用HBase工具,开发人员和运维人员可以参考本文内容,利用这些工具对HBase进行日常管理和运维。
HBCK2 是 hbck 的继承者,hbase-1.x (A.K.A hbck1) 附带的修复工具。 使用 HBCK2 代替 hbck1 对 hbase-2.x 集群进行修复。 hbck1 不应针对 hbase-2.x 安装运行。 它可能会造成伤害。 虽然 hbck1 仍然捆绑在 hbase-2.x 中——为了尽量减少意外——但它已被弃用,将在 hbase-3.x 中删除。 它的写入功能 (-fix) 已被删除。 它可以报告 hbase-2.x 集群的状态,但它的评估将不准确,因为它不了解 hbase-2.x 的内部工作原理。
在分布式系统中,负载均衡是一个非常重要的功能,HBase通过Region的数量实现负载均衡,即通过hbase.master.loadbalancer.class实现自定义负载均衡算法。下面将为大家剖析HBase负载均衡的相关内容以及性能指标。
第10章 HBase:Hadoop数据库 10.5 HBase Shell 10.5.1 官方快速入门教程 http://hbase.apache.org/book.html#quickstart P
HBase每张表在底层存储上是由至少一个Region组成,Region实际上就是HBase表的分区。HBase新建一张表时默认Region即分区的数量为1,随着数据增长一个分区在达到一定大小时会自动Split,一分为二。
问题24:在一个应用中,如果一个topic开始由名为A的消费组消费,后来把消费组名改为B(开始的命名不规范),重新发布应用,这个时候是不是从topic的分区头开始消费?如何保证从上次A消费组的最新偏移量处开始消费?
HBase是一种Hadoop数据库,经常被描述为一种稀疏的,分布式的,持久化的,多维有序映射,它基于行键、列键和时间戳建立索引,是一个可以随机访问的存储和检索数据的平台。HBase不限制存储的数据的种类,允许动态的、灵活的数据模型,不用SQL语言,也不强调数据之间的关系。HBase被设计成在一个服务器集群上运行,可以相应地横向扩展。
Hbase的访问方式 1、Native Java API:最常规和高效的访问方式; 2、HBase Shell:HBase的命令行工具,最简单的接口,适合HBase管理使用; 3、Thrift Gateway:利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据; 4、REST Gateway:支持REST 风格的Http API访问HBase, 解除了语言限制; 5、MapReduce:直接使用MapReduce作业处理Hbase数据; 6、使用Pig/hive处理Hbase数据。
接下来我们一块儿看一下HBase的几个概念,首先来看第一个概念:Row Key,如下图所示,Row Key顾名思义,就是把一行当做主键,由于HBase建立了索引,所以我们根据行号可以迅速定位的那一行,我们还可以通过Row Key的range来定位数据,也就是查询的时候一次查多行的数据,指定一个范围,同样可以根据索引快速为我们查询出我们想要的结果。当然,也可以通过全表扫描的方式来查询我们想要的数据,这种方式相对来说就慢了。
快速认识Kafka阶段(1)——最详细的Kafka介绍 教你快速搭建Kafka集群(2)——Kafka集群安装部署Kafka集群的简单操作入门(3)——Kafka集群操作 前面三篇文章给大家分享了kafka的一些理论知识和简单的操作,下面给大家分享Kafka的JavaAPI的操作!!!
Hbase是企业比较常用的大数据组件,对于开发来讲,单纯的开发几乎不可能,往往都会搭建集群,甚至负责集群的维护,特别是公司规模较小。我们VIP中很多成员,都是一个成员扛起了整个公司的大数据部门,被称之为“扛把子”。
hbase shell group (12个命令组) general、dll、dml、tools、replication、snapshots、configuration、quotas、procedures、visibility、labels、regroup Group name: general processlist, status, table_help, version, whoami Group name: ddl alter, alter_async, alter_status,
在大数据分布式中,分区,分桶,分片是设计框架的重点。此篇就来总结各个框架。建议收藏
作为快速入门Kafka系列的第六篇博客,本篇为大家带来的是Kafka的JavaAPI操作~
HBase, Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、 实时读写的分布式开源 NoSQL 数据库,面向列存储。主要用来存储非结构化和半结构化的松散数据。
北京时间2018年12月19日,Cloudera正式发布Cloudera Enterprise 6.1.0,昨天Fayson的文章介绍了《0487-CDH6.1的新功能》,因为本次更新内容较多,特意将CDH和Cloudera Manager的更新分开两篇文章来介绍,本文Fayson主要介绍Cloudera Manager6.1的新功能。
一、创建maven工程并添加jar包 创建maven工程并添加以下依赖jar包的坐标到pom.xml
以Apache Hudi为例,讲解如何通过一行代码成为Apache顶级项目的Contributor。
随着技术的不断的发展,在大数据领域出现了越来越多的技术框架。而为了降低大数据的学习成本和难度,越来越多的大数据技术和应用开始支持SQL进行数据查询。SQL作为一个学习成本很低的语言,支持SQL进行数据查询可以降低用户使用大数据的门槛,让更多的用户能够使用大数据。
在一些业务场景中需要将Hive的数据导入到HBase中,通过HBase服务为线上业务提供服务能力。本篇文章Fayson主要通过在Hive上创建整合HBase表的方式来实现Hive数据导入到HBase。
1.从http://www.apache.org/dyn/closer.cgi/hbase/下载稳定版安装包,我下的是hbase-1.2.6-bin.tar.gz
HBase简介及搭建 一、概述 HBase是基于hadoop的数据库工具。 1、特点 HBase来源于google的一篇论文BigTable,后来由Apache做了开源实现就是HBase。是一种NoSQL、非关系型的数据库、不符合关系型数据库的范式。 适合存储半结构化、非结构化的数据;适合存储稀疏的数据,稀疏的数据中空的数据不占用空间。 面向列(族)进行存储,提供实时增删改查的能力,是一种真正的数据库。 可以存储海量数据、性能也很强大,可以实现上亿条记录的毫秒级别的
本文的HBase安装是在Hadoop已经安装好的基础上实现的,所以之前要导出JAVA_HOME、HADOOP_HOME( 单机模式不需要,伪分布式模式和分布式模式需要)等环境变量以及配置好SSH互信等。 0 公共配置 导出HBase的环境变量
hbase和hadoop一样也分为单机版、伪分布式版和完全分布式集群版本,这篇文件介绍如何搭建完全分布式集群环境搭建。 hbase依赖于hadoop环境,搭建habase之前首先需要搭建好hadoop的完全集群环境,因此看这篇文章之前需要先看我的上一篇文章:hadoop分布式集群搭建。本文中没有按照独立的zookeeper,使用了hbase自带的zookeeper。 环境准备 hbase软件包: http://mirror.bit.edu.cn/apache/hbase/1.3.1/hbase-1.3.1-
在之前的章节中我们已经一同学习的Hive和HBase相关的知识,但是Hive和HBase都存在各自的问题,Hive实时性不强单条写入数据慢,HBase查询能力差不具备复杂查询的能力,但是Hive和HBase有个隐藏的功能就是关联操作,既然可以享受到HBase的实时性还可以享受到Hive查询带来的便捷. 附上: 喵了个咪的博客:w-blog.cn 1.前言 **注意:**Hive2.3.0 和 Hbase 关联表 使用 select count(*) form 表名 只会返回0条不会走 MR 程序 可以
本文承接上一篇:hadoop_学习_02_Hadoop环境搭建(单机) ,主要是搭建HBase的单机环境
如果想详细了解hbase的安装:http://abloz.com/hbase/book.html 和官网http://hbase.apache.org/
本文讲述如何安装,部署,启停HBase集群,如何通过命令行对Hbase进行基本操作。
在上一章中我们已经在ubuntu3主机上安装了hbase,这里为了省事,直接远程复制到ubuntu主机上。
Fayson在前面介绍了《0635-5.16.1-Hue集成HBase出现Api Error异常分析》和《0647-6.1.1-Hue集成HBase出现Api Error异常分析(续)》文章中说明了C5和C6中Hue与HBase集成的异常分析。本篇文章Fayson主要如何在C6.2.0的安全环境下使用Hue访问HBase。
将 bin 目录和 和 conf 目录备份一份,再修改配置文件,预防配置不成功可重置
测试环境,hdfs被format过。很多基于hdfs的环境都受到了影响。hbase也受到了影响。但是hbase在master启动的过程中,只要hdfs上有/hbase目录
为了避免第三方非法访问我们的重要数据,我们可以给HBase配置加密算法,目前HBase只支持使用aes加密算法,用于保护静态的HFile和WAL数据。
本文作者将会详细描述这两大类HBaseSinks 对应的三种序列化模式的使用方法。
所谓Standalone模式HBase,就是只启动一个JVM进程,在这个进程中同时启动了多个后台角色,如:HMaster,单个HRegionServer,以及ZooKeeper服务。
Hadoop版本: cdh5.0.1(manmual安装,未安装cloudera-manager相关)
领取专属 10元无门槛券
手把手带您无忧上云