HBase体系架构与环境搭建
这里写目录标题
- 一、常见的NoSQL数据库
- 二、HBase的体系架构和表结构
- 三、搭建HBasa环境
- 1.本地模式
- 2.伪分布模式
- 全分布模式
- HA模式
一、常见的NoSQL数据库
NoSQL数据库的说明与定义
NoSQL是一种不同于关系数据库的数据库管理系统设计方式,是对非关系型数据库的统称。它不依赖于业务逻辑来存储有关联的数据,而是以键值对、列族、文档、图形等非关系模型的形式进行数据存储。
分类
NoSQL数据库通常包括键值数据库(如Redis)、列族数据库(如HBase)、文档数据库(如MongoDB)和图形数据库(如Neo4j)等。
特点
- 灵活的可扩展性:NoSQL数据库去掉了关系数据库的关系型特性,数据之间无关系,因此能够轻松地进行横向扩展,以应对大规模数据和高并发访问的需求。
- 灵活的数据模型:NoSQL数据库采用多种非关系模型,允许在一个数据元素里存储不同类型的数据,提供了更高的数据模型灵活性。
- 高性能:NoSQL数据库通过优化数据存储、读写操作等方面的设计,能够提供更高的性能和吞吐量,特别是在处理大规模数据和高并发场景时表现优异。
- 弱一致性:与关系数据库的强一致性不同,NoSQL数据库一般采用最终一致性或者柔性事务的方式来保证数据的一致性,这有助于提升系统的可用性和性能。
- 低成本:NoSQL数据库通常采用分布式架构,使用廉价的硬件设备,相对于传统的关系型数据库而言成本较低。
常见的NoSQL数据库
HBase——分布式列数据库:面向列存储,适用于大规模数据处理,如日志分析。
Redis——高性能键值数据库:内存存储,支持多种数据结构,常用于缓存和会话管理。
MongoDB——文档型NoSQL数据库:存储BSON格式文档,支持动态查询,适用于非结构化数据存储。
二、HBase的体系架构和表结构
HBase的体系架构
其中Region表示列簇。
在Region中,数据将优先存储在内存的MemStore上。当MemStore中的数据量达到一定的阈值时,为了释放内存空间,HBase会将MemStore中的数据刷写到磁盘上,形成Store Files(也称为HFiles)。HFiles是HBase中存储数据的物理文件,它们的大小并不是与DataNode的大小一致,而是随着数据的写入而逐渐增长,直到达到HBase配置的某个大小阈值。之后,这些HFiles会被存储在HDFS的DataNode上,以实现数据的持久化存储。
HBase的表结构
-- 插入行键为's01'的数据到'info'列族中的'name'列
PUT '表名', 's01', 'info:name', 'Tom' -- 插入行键为's01'的数据到'info'列族中的'age'列
PUT '表名', 's01', 'info:age', '24' -- 插入行键为's01'的数据到'grade'列族中的'Chinese'列
PUT '表名', 's01', 'grade:Chinese', '98' -- 插入行键为's02'的数据到'info'列族中的'name'列
PUT '表名', 's02', 'info:name', 'Sam' -- 插入行键为's02'的数据到'info'列族中的'age'列
PUT '表名', 's02', 'info:age', '29' -- 插入行键为's02'的数据到'grade'列族中的'Chinese'列
PUT '表名', 's02', 'grade:Chinese', '51' -- 插入行键为's03'的数据到'info'列族中的'name'列
PUT '表名', 's03', 'info:name', 'Mike'
三、搭建HBasa环境
1.本地模式
特点
- 不需要HDFS支持,数据存储在操作系统之中
部署
上传安装介质–》解压–》环境变量–》参数文件
参数配置
.bash_profile
HBASE_HOME=/root/training/hbase-1.3.1
export HBASE_HOMEPATH=$HBASE_HOME/bin:$PATH
export PATH
hbase-env.sh
export JAVA_HOME=/root/training/jdk1.8.0_181
hbase-site.sml
<property>
<name>hbase.rootdir</name>
<value>file:///root/training/hbase-1.3.1/data</value>
</property>
效果
2.伪分布模式
特点
在单机上模拟分布式环境,具备HBase的所有功能,多用于开发和测试
部署
上传安装介质–》解压–》环境变量–》参数文件
参数配置
hbase-env.sh
export HBASE_MANAGES_ZK=true
hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.80.111:9000/hbase</value>
</property><property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property><property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.80.111</value>
</property><property>
<name>dfs.replication</name>
<value>1</value>
</property>
regionservers
192.168.80.111
效果
全分布模式
部署
主节点安装HBase介质,并设置相关环境变量
参数配置
hbase-env.sh
export JAVA_HOME=/root/training/jdk1.8.0_181
export HBASE_MANAGES_ZK=true
hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.80.112:9000/hbase</value>
</property><property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property><property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.80.112</value>
</property><property>
<name>dfs.replication</name>
<value>2</value>
</property>
regionservers
192.168.80.113
192.168.80.114
将主节点的HBase文件夹复制到从节点上
scp -r hbase-1.3.1/ root@bigdata113:/root/training
scp -r hbase-1.3.1/ root@bigdata114:/root/training
启动
在主节点上运行如下代码
start-all.sh
start-hbase.sh
效果
HA模式
HA:设置备用的主节点HMaster,当112上的主节点失效时,切换即可
部署:建立好分布式模式即可
切换主节点代码
hbase-daemon.sh start master
相关文章:

HBase体系架构与环境搭建
这里写目录标题 一、常见的NoSQL数据库二、HBase的体系架构和表结构三、搭建HBasa环境1.本地模式2.伪分布模式全分布模式HA模式 一、常见的NoSQL数据库 NoSQL数据库的说明与定义 NoSQL是一种不同于关系数据库的数据库管理系统设计方式,是对非关系型数据库的统称。它…...

海思SD3403/SS928V100开发(16)Tsensor驱动开发
1. 前言 由于需要检测SD3403芯片内部实时温度,需要开发Tsensor传感器驱动和应用 查看手册发现SD3403内部有三个Tsensor传感器 可以参考之前我写的35系列平台Tsensor驱动开发记录 海思35系列平台Tsensor驱动开发(1)驱动编写_t sensor-CSDN博客 海思35系列平台Tsensor驱动…...

JVM类加载机制—JVM类加载过程
一、概述 代码编译后,就会生成JVM(Java虚拟机)能够识别的二进制字节流文件(*.class)。而JVM把Class文件中的类描述数据从文件加载到内存,并对数据进行校验、转换解析、初始化,使这些数据最终成…...

可变参数模板与包装器
抱歉:铁汁们,最近在做兼职,积累社会经验,多有拖欠,请多多包涵(抱拳) 引子:接上回我们讲了C11的几种新增,今天就来接着讲C11中比较有用的二个东西可变参数模板与包装器。…...

工业控制常用“对象“数据类型汇总(数据结构篇)
合理巧妙的数据结构会大大简化项目的编程工作量,所以任何项目前期第一步应该是设计巧妙的数据结构、封装对象属性。这样会使我们的编程快捷和高效。这篇博客作为数据类型汇总,会不间断更新。 1、普通电机轴对象 2、普通电机轴对象(详细结构变量) TYPE "udtMotorAxis&q…...
优雅处理枚举前端丢失大Long精度问题
1. 枚举-json处理(前端 <> 后端 <> 数据库) 前端传递 枚举code 后端响应 枚举code 表里存储 枚举code 内存处理 枚举对象 Getter AllArgsConstructor JsonFormat(shape JsonFormat.Shape.OBJECT) public enum SexEnum {MALE(0, "男&…...
【c/c++】 学习ector 容器笔记
c/c 学习ector 容器笔记 int 型的 vector 容器应该使用什么类型的索引? 对于 int 型的 vector 容器,应该使用 size_t 类型的索引。size_t 是一个无符号整数类型,它在标准库中广泛用于表示大小和索引。它足够大,可以表示任何标准…...

DN专业3D图形制作软件win/mac软件安装下载(附下载链接)
目录 一、软件概述 1.1 Adobe DN简介 1.2 Windows/Mac系统要求 Windows系统: Mac系统: 二、安装步骤 2.1 下载与解压 2.2 安装程序 2.3 启动软件 三、使用教程 3.1 界面介绍 3.2 创建和编辑3D内容 3.3 合成与渲染 四、高级技巧与注意事项 …...
VSCode搭建Hzero(SpringCloud架构)后端开发调试环境
正常情况下我们使用IDEA开发Hzero,但是有的公司是不允许破解或者使用IDEA的,此时可以使用eclipse来替代也是可以的,最近尝试使用VSCode来开发调试发现了一些问题其中最大的问题是Vscdoe在绝大多数情况下是不能直接运行Hzero,使用插…...

【C++】OJ习题(初阶)
🚀个人主页:奋斗的小羊 🚀所属专栏:C 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 💥1、字符串💥1.1 字符串相加💥1.2 验证回文字符串💥1.3 反转…...

6.4K+ Star!一个强大的本地知识库问答系统,支持多格式文件和跨语言检索,为企业提供高效、安全的数据洞察……
https://github.com/netease-youdao/QAnything 【阅读原文】跳转Github项目 转自AIGC创想者 项目简介 QAnything 是一个基于本地知识库的问答系统,它能够理解和回答基于任何类型文件的问题。 QAnything支持的文件格式非常广泛,包括PDF、Word、PPT、XL…...
mvn编译的时候出现Perhaps you are running on a JRE rather than a JDK 解决方法
目录 1. 问题所示2. 原理分析3. 解决方法1. 问题所示 mvn编译的时候出现如下问题: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile (default-compile) on project yudao...

React原理之Fiber详解
前置文章: React原理之 React 整体架构解读React原理之整体渲染流程 -----读懂这一篇需要对 React 整体架构和渲染流程有大致的概念 😊----- 在React原理之 React 整体架构解读中,简单介绍了 Fiber 架构,也了解了 Fiber 节点的…...
远离“优越感”陷阱,拥抱美好人生
在人生的漫长旅程中,我们不断地与他人相遇、相知、相交,在各种关系中寻找温暖、支持与成长。然而,并非所有的关系都如我们所愿,有些关系甚至可能成为我们前进道路上的阻碍。正如我们所知,唯利是图者不可交,但有一种关系比索要金钱更值得警惕,那就是找你索取满足感的关系…...
Redis的线程模型
Redis作为一种基于内存的高性能键值对数据库,其线程模型和IO模型是实现高性能的关键因素。以下将详细探讨Redis的线程与IO模型,内容不少于2000字。 一、Redis的线程模型 Redis的线程模型是理解其高性能的重要基础。在Redis的发展过程中,其线…...

ubuntu24.04安装nginx1.24
ubuntu安装nginx 更新包索引 sudo apt update安装nginx sudo apt install nginx确认安装成功并检查Nginx版本 nginx -v启动Nginx服务 sudo systemctl start nginx设置Nginx开机自启 sudo systemctl enable nginx在浏览器中访问 http://<your_server_IP> 来确认Nginx…...

一款好看的WordPress REST API 主题
介绍: 主题特色: 使用Nuxtjs WordPress Rest Api 实现前后端分离,可完成多端部署; 主题支持自动切换黑夜模式。 使用说明: service 目录为wordpress主题文件,需要拷贝到wordpress主题目录下࿰…...
《5G 与区块链融合:智能城市服务质量的飞跃》
在科技飞速发展的时代,5G 技术的普及正以前所未有的速度改变着我们的生活,而区块链技术的兴起也为各领域带来了创新的解决方案。当这两种前沿技术相互结合,将为智能城市的发展注入强大动力,显著提升服务质量,开创更加便…...

前后端分离开发:用 Apifox 高效管理 API
目录 1.前后台分离开发介绍 2.API 2.1 APIfox介绍 2.2 接口文档管理 1.前后台分离开发介绍 前端开发有2种方式:「前后台混合开发」和「前后台分离开发」。 前后台混合开发,顾名思义就是前台后台代码混在一起开发,如下图所示:…...
Go Channel 详解
概述 在 Go 语言中,channel 是一种用于在 goroutine 之间传递数据的机制。它提供了同步和通信的能力,使得并发编程变得更加简单和安全。Channel 在 Go 语言中的设计是类型安全的,并且支持发送和接收两种操作。 基本概念 创建通道 创建一个…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...