hbase 整理

简介:

时间同步设置
ntpdate.cn.pool.ntp.org
zookeeper
分布式系统协调工具 高可用协调工具
zookeeper 上的数据存在于每个server节点上 每个节点上的zookeeper节点上保存的数据都是全量数据zookeeper上保存的数据的方式和文件系统保存数据一样

hbase的数据模型
sql 在sql的数据库中包含两种元素
即 模式和元组
nosql:在nosql里面一般更强调元组而弱化模式 有些nosql中没有模式 有些nosql有比较弱的模式 比方说有些表而没有明确字段 或者有表有更为冠以上的字段

hbase 是nosql中的一种 它的设计和他使用都是反模式的。它里面不是完全没有模式 ,它的模式分为三层。
1.namespace 类似于mysql 的database
2.table 类似于MySQL的table
3.column 雷速与mysql的table
把他认为是mysql里面一个表的多个字段按照找某个条件分成多组
一个hbase 中可以创建若干个2namespace namespace一般用来做部门或者应用之间的数据隔离
一个namespace下可以创建若干个table table做不通种类的数据之间的隔离
一个列簇下面可以有若干个列簇

hbase 的劣质可以使任意类型
hbase对其中所有存储的数据不做任何类型上的限制
hbase在存储数据的位置不作任何类型上的限制
hbase在存储书籍肚饿位置处统一的吧数据转换成字节数组来进行保存的。

namespace的基本操作
create_namespace 'bd2o'
list_namespace 展示hbase有多少个namespace
list_namespace_table 'bd20' 展示bd20数据下有多少张表

drop_namespace 'bd20'
table 的基本操作
创建表
create 'bd20:table_name' ,'column_family'
describe 'bd20:table_name'
disable 'bd20:table_name'
drop 'bd20:table_name'

--alter table
alter 'bd20:table1',NAME=>'c1',method=>'delete'
alter table 'bd20:tale1',NAME=>'c2'
create

create 'cms_link','primary_info','system_info'

mysql 上所说的一条数据值的是一行数据
hbase中所说的一条数据值的是一行数据中的单元格
put ‘cms_link’,'1','primary_info:category_id','19'

hbase 底层数据存储
hbase 的底层数据是按照挑来保存的,每一条数据在底层数据文件里面占据一个存储空间。每条数据的格式如下
rowkey
timestamp
family_column
hbase的数据文件是吧每条数据以kv的形式来存储的
因为key上的大部分数据都是冗余的,范式我们自己设计的kety上的数据 尽可能的限定他们的长度
rowkey在设计师要舍得尽可能的端
列簇在设计上要尽可能的端,要尽可能的表达劣质的数据内容的意义,比方说姓名,年龄等。
hbase架构原理
hbase中的没一张表都是分布式存储的
hbase 吧一张表的tale划分为多个region 每个rigion可以散布在不同的regionserver 上来对外提供服务,hbase 是根据兴业划分region 也就是说hbase是根据rowkey 来划分region的。
每个region都有自己的rowkey上下线,第一个region没下线,最后一个region 没有上下限,当一条记录需要保存在habse 中,hmaster 会判断这条记录的rowkey应该分布在哪个region上,然后转交给这个region所负责的regionserver来执行读写操作。

hbase 的region 的大小会随着里面的数量的增加而增加。当以region的体谅超过256M时,这个region就会分裂。分裂的过程有hmaster主导,由hregionserver执行,在分裂的过程中,不对外提供读写服务。
hbase 中如果在定义表示不对表进行预分区。那么整个hbase 表就只有一个region 为了尽可能的皮面分裂最好。
create ‘stable1’,‘i’,SPLITS=>['100','200','300','400','500']
hbase 根据rowkey查找一个表tableA数据的过程 根据root表来确定meta的位置,root表存在于zookeeper 中 根据元数据定位taleA的位置,元数据保存在hbase的meta 表中。
定位tableA的位置,然后根据rowkey来确定要查找记录的准确region 根据region定位其所在。
regionserver regionserver根据rowkey就检索数据文件中记录的位置从而获取数据。

hbase中的数据来源
1.来源自自己有的数据文件
mapreduce
hive
spark

bulk loading
2.来自业务系统不断增加的数据记录。
java api
shell
其他语言 +thrift服务
hbase api操作
1.构建配置参数对象,使用hbaseConfiguration来创建。
2.创建Connection 对象。使用ConnectionFactory 来创建。
3.如果执行ddl来操作的话需要Admin对象。通过Connection来获取。
4.如果执行dml操作的话需要Table对象,通过Connection来获取。
往hbase里面插入数据 需要Put对象,一个Put对象代表一行数据。
mapreduce读写hbase
TableInoutFormat
TableOutputFotmat
TableMapper
TableReducer
TableMapReduceUtil
写hbase 需要在job上配置输出格式为
TableOutputFormat,reduce 的输出kv必须满足写入hbase表的kv类型
可以通过写reduce继承TabeReducer来解决这个kv类型的限定。
在Job中还得设置目标表,可以通过调用。

相关文章
|
机器学习/深度学习
深入理解SVM中的核函数及其应用
深入理解SVM中的核函数及其应用
929 91
|
人工智能 JSON 缓存
利用 CodeBuddy 构建高效可维护的《植物大战僵尸》游戏项目
本文介绍基于Python开发的《植物大战僵尸》游戏项目,采用模块化设计,包含游戏逻辑、资源管理、UI与音效系统。通过CodeBuddy平台,实现智能代码补全、错误诊断、实时协作等功能,大幅提升开发效率。项目支持5种植物与4种僵尸,具备可扩展架构与关卡配置驱动机制。未来将探索Web/移动端移植及联网对战功能,欢迎访问GitHub贡献代码或体验。
763 8
|
分布式计算 监控 安全
产品评测|从数据标准到实时监控,深度解析Dataphin如何以智能提效与安全合规驱动企业数据价值释放
Dataphin是阿里巴巴基于OneData方法论打造的一站式数据治理与建设平台,帮助企业实现数据全生命周期管理。本文详细记录了使用Dataphin搭建离线数仓的全流程,包括环境准备、数仓规划、数据引入、处理、周期任务补数据、数据验证与分析等环节。体验中发现其离线管道任务、周期调度、补数据功能便捷高效,但也存在系统稳定性不足、文档更新滞后等问题。建议增强对JSON文件支持、优化资源推荐机制并完善脱敏操作功能,进一步提升用户体验。
|
存储 关系型数据库 分布式数据库
PolarDB 开源基础教程系列 8 数据库生态
PolarDB是一款开源的云原生分布式数据库,源自阿里云商业产品。为降低使用门槛,PolarDB携手伙伴打造了完整的开源生态,涵盖操作系统、芯片、存储、集成管控、监控、审计、开发者工具、数据同步、超融合计算、ISV软件、开源插件、人才培养、社区合作及大型用户合作等领域。通过这些合作伙伴,PolarDB提供了丰富的功能和服务,支持多种硬件和软件环境,满足不同用户的需求。更多信息请访问[PolarDB开源官方网站](https://openpolardb.com/home)。
819 4
|
安全 数据库 数据安全/隐私保护
什么是 单点登录SSO?SSO工作原理
单点登录(SSO)让用户通过一组凭证访问多个应用,简化了多平台登录流程。在没有 SSO 的情况下,用户需为每个应用单独管理用户名和密码,而 SSO 通过身份提供商(IdP)和信任的服务提供商(SP)实现统一认证。这不仅减少了用户的密码管理负担,还降低了 IT 管理员的工作量,提高了安全性和用户体验。借助如 ADSelfService Plus 等工具,企业能更轻松地实施 SSO,并结合多重身份验证(MFA)增强安全性。
1223 9
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。
|
消息中间件 Java Kafka
zookeeper:Unexpected exception, exiting abnormally ::java.io.EOFException
zookeeper:Unexpected exception, exiting abnormally ::java.io.EOFException
810 1
zookeeper:Unexpected exception, exiting abnormally ::java.io.EOFException
|
设计模式 敏捷开发 jenkins
软件测试中的自动化测试实践指南
本文旨在探讨软件测试中自动化测试的实施方法及其重要性,通过具体案例分析自动化测试的步骤、工具选择及最佳实践。我们将从自动化测试的基本概念入手,逐步解析其在实际项目中的应用,并提供一些常见问题的解决方案。
1155 5
|
前端开发
前端基础(十一)_Float浮动、清除浮动的几种方法
本文介绍了浮动的概念、属性、特性以及清除浮动的几种方法,并通过实例演示了如何使用CSS实现元素的浮动和处理浮动带来的问题。
938 3
|
SQL 网络协议 安全
有哪些常见的网络攻击类型?
【8月更文挑战第8天】
1294 15