Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HBase常见面试题[通俗易懂]

HBase常见面试题[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-09-03 09:52:21
发布于 2022-09-03 09:52:21
1K00
代码可运行
举报
运行总次数:0
代码可运行

从TiDBv4.0起,提供了包管理工具TiUP,负责管理TiDB、PD、TiKV等组件。用户只需通过TiUP命令即可运行这些组件,显著降低了管理难度。TiUP程序只包含少数几个命令,用来下载、更新、卸载组件。TiUP通过各种组件来扩展其功能。组件是一个可以运行的程序或脚本,通过tiup <component>运行组件时,TiUP会添加一组环境变量,并为该程序创建好对应的数据目录,然后运行该程序。

视频讲解如下:

下面的步骤将在单机上快速部署一个TiDB数据库集群。

(1)下载并安装TiUP

代码语言:powershell
AI代码解释
复制
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

# 安装完成后会提示如下信息:
Successfully set mirror to https://tiup-mirrors.pingcap.com
Detected shell: bash
Shell profile:  /root/.bash_profile
/root/.bash_profile has been modified to add tiup to PATH
open a new terminal or source /root/.bash_profile to use it
Installed path: /root/.tiup/bin/tiup
===============================================
Have a try:     tiup playground
===============================================

(2)生效环境变量

代码语言:powershell
AI代码解释
复制
source /root/.bash_profile

(3)由于模拟多机部署,需要通过root用户调大sshd服务的连接数限制。修改/etc/ssh/sshd_config将MaxSessions调至20。

(4)重启sshd服务

代码语言:powershell
AI代码解释
复制
service sshd restart

(5)执行命令运行最新版本的TiDB集群,其中TiDB、TiKV、PD和TiFlash实例各1个。

代码语言:powershell
AI代码解释
复制
tiup playground

# 如果这是第一次运行该命令,TiUP会下载最新版本的TiDB并启动集群。

(6)TiDB集群启动后,将输出下面的信息。

代码语言:powershell
AI代码解释
复制
TiDB Playground Cluster is started, enjoy!

Connect TiDB:    mysql --comments --host 127.0.0.1 --port 4000 -u root
TiDB Dashboard:  http://127.0.0.1:2379/dashboard
Grafana:         http://127.0.0.1:3000

(7)TiUP也可以指定TiDB版本以及各组件实例个数,例如:

代码语言:powershell
AI代码解释
复制
tiup playground v8.5.1 --db 2 --pd 3 --kv 3

# 此时将启动2个TiDB、3个PD和3个TiKV。

(8)执行命令查看当前支持部署的所有TiDB版本。

代码语言:powershell
AI代码解释
复制
tiup list tidb

# 输出信息如下:
......
v8.2.0                                      2024-07-11T08:28:29Z
v8.3.0                                      2024-08-22T04:35:09Z
v8.4.0                                      2024-11-11T05:51:14Z
v8.5.0                                      2024-12-19T06:05:34Z
v8.5.1                           YES        2025-01-17T07:30:24Z
v9.0.0-alpha-nightly                      2025-02-07T04:11:42Z

(9)使用TiUP client连接TiDB。

代码语言:powershell
AI代码解释
复制
tiup client

# 也可以使用mysql命令行客户端进行连接

(10)登录成功后将输出下面的信息。

代码语言:powershell
AI代码解释
复制
Starting component client:
 /root/.tiup/components/client/v1.16.1/tiup-client
Connected with driver mysql (8.0.11-TiDB-v8.5.1)
Type "help" for help.

my:root@127.0.0.1:4000=>

(11)执行命令查看TiDB中已存在的数据库信息。

代码语言:sql
AI代码解释
复制
my:root@127.0.0.1:4000=> show databases;

      Database      
--------------------
 INFORMATION_SCHEMA 
 METRICS_SCHEMA 
 PERFORMANCE_SCHEMA 
 mysql 
 sys 
 test 
(6 rows)

(12)使用MySQL客户端连接TiDB。

代码语言:powershell
AI代码解释
复制
mysql --host 127.0.0.1 --port 4000 -u root

(13)再次执行命令查看TiDB中已存在的数据库信息。

代码语言:sql
AI代码解释
复制
MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| INFORMATION_SCHEMA |
| METRICS_SCHEMA     |
| PERFORMANCE_SCHEMA |
| mysql              |
| sys                |
| test               |
+--------------------+
6 rows in set (0.001 sec)

(14)为了方便操作TiDB,可以修改MySQL客户端的提示符。在/etc/my.cnf的配置文件中加入下面的配置信息:

代码语言:powershell
AI代码解释
复制
[mysql]
prompt="tidb \h:\p>"

(15)重新使用MySQL客户端连接TiDB。

代码语言:powershell
AI代码解释
复制
mysql --host 127.0.0.1 --port 4000 -u root

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 2065694744
Server version: 8.0.11-TiDB-v8.5.1 TiDB Server 
(Apache License 2.0) Community Edition, MySQL 8.0 compatible

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to 
clear the current input statement.

tidb 127.0.0.1:4000>

(16)在TiUP的启动窗口中按下Control+C键停掉上述启用的TiDB数据库服务。

(17)等待服务退出操作完成后,执行以下命令清理创建的资源

代码语言:powershell
AI代码解释
复制
tiup clean --all
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月3,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hbase面试题(面经)整理
Hbase 中的每张表都通过行键 (rowkey) 按照一定的范围被分割成多个子表(HRegion),默认一个 HRegion 超过 256M 就要被分割成两个,由 HRegionServer 管理,管理哪些 HRegion 由 Hmaster 分配。 HRegion 存取一个子表时,会创建一个 HRegion 对象,然后对表的每个列族 (Column Family) 创建一个 store 实例, 每个 store 都会有 0个或多个 StoreFile 与之对应,每个 StoreFile 都会对应一个 HFile , HFile 就是实际的存储文件,因此,一个 HRegion 还拥有一个 MemStore 实例。
全栈程序员站长
2022/09/04
1.9K0
Hbase面试题(面经)整理
HBase 底层原理详解(深度好文,建议收藏)
HBase 是一个分布式的、面向列的开源数据库。建立在 HDFS 之上。Hbase的名字的来源是 Hadoop database,即 Hadoop 数据库。HBase 的计算和存储能力取决于 Hadoop 集群。
五分钟学大数据
2021/03/04
1.7K0
HBase 底层原理详解(深度好文,建议收藏)
大数据面试题——HBase面试题总结
2)无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列;
全栈程序员站长
2022/09/04
8090
大数据面试题——HBase面试题总结
大数据学习之Hbase面试题
首先通过meta表找到要读数据的region所在的RegionServer,然后去BlockCash中读取,如果没有就去Memstore中读取,如果也没有,那就去Hfile中去读 (1) 客户端访问Zookeeper,获取存放目标数据的Region信息,从而找到对应的RegionServer。 (2) 通过RegionServer获取需要查找的数据。 (3) Regionserver的内存分为MemStore和BlockCache两部分,MemStore主要用于写数据,BlockCache主要用于读数据。读请求先到BlockCache中查数据,查不到就到MemStore中查,再查不到就会到StoreFile上读,并把读的结果放入BlockCache。 寻址过程:client–>Zookeeper–>.META.表–>RegionServer–>Region–>client
全栈程序员站长
2022/09/03
3780
面试必问 | HBase最新面试总结
最近看了好多粉丝的面试题,于是总结出关于HBase相关的面试题,今天分享给大家,认真阅读,记得收藏。
大数据老哥
2021/04/29
5980
面试必问 | HBase最新面试总结
HBase极简教程
HBase 系统架构 HBase是Apache Hadoop的数据库,能够对大型数据提供随机、实时的读写访问。HBase的目标是存储并处理大型的数据。HBase是一个开源的,分布式的,多版本的,面向列的存储模型。它存储的是松散型数据。 HBase特性: 1 高可靠性 2 高效性 3 面向列 4 可伸缩 5 可在廉价PC Server搭建大规模结构化存储集群 HBase是Google BigTable的开源实现,其相互对应如下: Google            HBase 文件存储系统     GFS
架构师小秘圈
2018/04/02
2.4K1
HBase极简教程
面试头条:HBASE 存储设计
5、Hbase的表在物理存储上,是按照列族来分割的,不同列族的数据一定存储在不同的文件中
木野归郎
2020/06/12
1.1K0
HBase架构详解及读写流程
Master是所有Region Server的管理者,其实现为HRegionServer,主要作用有:
一个会写诗的程序员
2022/12/02
7.8K0
【万字长文】Hbase最全知识点整理(建议收藏)
Zookeeper: Master 的高可用、RegionServer 的监控、元数据的入口以及集群配置的维护等
857技术社区
2022/05/17
8.8K0
【万字长文】Hbase最全知识点整理(建议收藏)
内含面试|一文搞懂HBase的基本原理
温馨提示:本文内容较长,如果觉得有用,建议收藏。另外记得分享、点赞、在看,素质三连哦!
数据社
2020/09/08
1K0
内含面试|一文搞懂HBase的基本原理
HBase 内部探索之旅
写缓存,K-V在MemStore中进行排序,达到阈值之后才会flush到StoreFile,每次flush生成一个新的StoreFile。
木野归郎
2020/06/12
4130
HBase 底层原理详解(深度好文,建议收藏)
HBase 是一个分布式的、面向列的开源数据库。建立在 HDFS 之上。Hbase的名字的来源是 Hadoop database,即 Hadoop 数据库。HBase 的计算和存储能力取决于 Hadoop 集群。
五分钟学大数据
2021/01/13
4.1K0
HBase 底层原理详解(深度好文,建议收藏)
HBase容错性和Hbase使用场景、Hbase读写过程详解
该机制用于数据的容错和恢复: 每个HRegionServer中都有一个HLog对象,HLog是一个实现Write Ahead Log的类,在每次用户操作写入MemStore的同时,也会写一份数据到HLog文件中(HLog文件格式见后续),HLog文件定期会滚动出新的,并删除旧的文件(已持久化到StoreFile中的数据)。当HRegionServer意外终止后,HMaster会通过Zookeeper感知到,HMaster首先会处理遗留的 HLog文件,将其中不同Region的Log数据进行拆分,分别放到相应region的目录下,然后再将失效的region重新分配,领取 到这些region的HRegionServer在Load Region的过程中,会发现有历史HLog需要处理,因此会Replay HLog中的数据到MemStore中,然后flush到StoreFiles,完成数据恢复。
Java架构师必看
2021/08/12
8280
【图文详解】HBase 的数据模型与架构原理详解
HBase, Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、 实时读写的分布式开源 NoSQL 数据库,面向列存储。主要用来存储非结构化和半结构化的松散数据。
一个会写诗的程序员
2021/12/16
1.4K0
【图文详解】HBase 的数据模型与架构原理详解
HBase原理详解【Master、Region Server内部机制、Zookeeper、读写数据流程、hbase:meta表】
2、管理和分配HRegion,比如在HRegion split时分配新的HRegion;在HRegion Server退出时迁移其负责的HRegion到其他HRegionServer上。
Java架构师必看
2021/05/14
2.6K0
HBase原理详解【Master、Region Server内部机制、Zookeeper、读写数据流程、hbase:meta表】
Hbase 基础面试题
(1) Hbase一个分布式的基于列式存储的数据库,基于Hadoop的hdfs存储,zookeeper进行管理。
Tim在路上
2020/08/05
1.2K0
Hbase面试题总结(大数据面试)
hbase是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。
全栈程序员站长
2022/08/23
5470
Hbase面试题总结(大数据面试)
深入了解HBase架构
HBase架构组件 从物理结构上讲,HBase由三种类型的服务器构成主从式架构。Region Servers为数据的读取和写入提供服务。当访问数据时,客户端直接和Region Servers通信。Region的分配,DDL (create, delete tables)操作有HBase Master进程处理。Zookeeper是HDFS的一部分,维护着一个活动的集群。 Hadoop DataNode 存储着Region Server所管理的数据。所有的HBase数据存储在HDFS的文件中。Region S
Spark学习技巧
2018/06/22
1.1K0
HBase框架基础(一)
HBase的基础框架,将分成几个章节对HBase进行描述,不当之处还望大家批评指正。下面是了解HBase基础架构的第一部分。
大数据和云计算技术
2018/07/26
6740
HBase框架基础(一)
Hbase(四):Hbase原理
hbase表中的数据按照行键的字典顺序排序 hbase表中的数据按照行的的方向切分为多个region 最开始只有一个region 随着数据量的增加 产生分裂 这个过程不停的进行 一个表可能对应一个或多个region region是hbase表分布式存储和负载均衡的基本单元 一个表的多个region可能分布在多台HRegionServer上 region是分布式存储的基本单元 但不是存储的基本单元 内部还具有结构 一个region由多个Store来组成 有几个store取决于表的列族的数量 一个列族对应一个store 之所以这么设计 是因为 一个列族中的数据往往数据很类似 方便与进行压缩 节省存储空间 表的一个列族对应一个store store的数量由表中列族的数量来决定 一个store由一个memstore 和零个或多个storefile组成 storefile其实就是hdfs中的hfile 只能写入不能修改 所以hbase写入数据到hdfs的过程其实是不断追加hfile的过程
许喜朝
2020/11/24
4.3K0
相关推荐
Hbase面试题(面经)整理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验