自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 什么是 Sqoop

Apache 开源数据同步工具,专门解决传统关系型数据库 (RDBMS) ↔ Hadoop 大数据集群的数据迁移问题。企业业务数据存在 Oracle/MySQL(传统数据库,存业务订单、电信用户信息);大数据集群 HDFS/Hive/HBase 用来做离线统计、实时查询。人工复制几十万条数据极其麻烦,Sqoop 相当于数据摆渡车:一边拉取数据库数据扔进 Hadoop,一边把大数据分析结果推回业务库。

2026-08-18 08:54:17 162

原创 什么是HBase?它和Hive有什么区别?

一、HBase 是干什么的。

2026-08-10 22:39:00 221

原创 什么是ZooKeeper?(新手易懂版)

HDFS 的 NameNode、YARN 的 ResourceManager、后面 HBase 主节点,同一时间只能有一台主机当主节点,负责接收所有任务;2. ZK 集群检测到 Leader 失联,hadoop1、hadoop3 两台 Follower 互相发起投票;预设初始状态:hadoop2 是 Leader,hadoop1、hadoop3 为 Follower。4. 重启 hadoop2 的 ZK 后,它只会变成 Follower,不会抢占当前 Leader。四、ZooKeeper 底层核心原理。

2026-07-24 15:01:07 250

原创 什么是Hive(新手易懂版)

Hive 不生产数据,它只是数据的 "翻译官" 和 "管理员"—— 说明书存在 MySQL,货物存在 HDFS,Hive 负责对接两头。

2026-07-23 11:36:39 205

原创 HDFS NameNode 元数据详解:fsImage 与 Edits Log 到底是什么?

fsImage(文件系统镜像)和Edits Log(编辑日志),很多初学者容易混淆两者职责,搞不懂为什么需要两个文件配合存储元数据。本文讲清二者各自作用、协作流程,顺带梳理 SecondaryNameNode 定期合并机制。

2026-07-22 10:33:54 368

原创 深度解析:HDFS 为什么不适合存储大量小文件?

很多初学 HDFS 的同学会疑惑:既然 HDFS 可以存放任意大小文件,生产环境却强烈禁止大量小文件直接入库?课堂和面试高频问题:小文件究竟会带来什么致命影响?本文结合课件案例,从NameNode 内存压力、磁盘 IO 性能两大核心痛点讲清楚,附带数值举例,方便记忆。零散小文件:吃掉 NameNode20GB 内存合并大文件:仅消耗1.2MB 内存大量小文件会快速耗尽 NameNode 内存上限,NameNode 成为整个集群瓶颈,无法支撑更多业务存储。

2026-07-21 14:28:16 339

原创 一文搞懂 YARN 中 ApplicationMaster(AM)核心作用

MR 作业运行时 ApplicationMaster 到底干什么?YARN 彻底抛弃 MRv1 的 JobTracker,把资源调度和作业调度拆分,而ApplicationMaster(MR 场景下叫 MRAppMaster)是每一个 MapReduce 作业专属 “包工头”,全权管理本次作业全生命周期。本文结合 WordCount 单词统计实例,通俗易懂拆解 AM 四大核心职能。

2026-07-20 10:22:00 284

原创 一篇搞懂:SecondaryNameNode 和 Standby NameNode 根本不是一回事

很多初学大数据的同学,刚学完 HDFS 基础、再接触 HA 高可用架构时,都会踩同一个大坑: 误以为和都是 NameNode 备用节点,功能差不多。今天彻底拆解两者定位、架构、工作机制、使用场景,一次性分清,面试再也不会混淆。

2026-07-16 15:46:13 317

原创 为什么Hive的元数据需要存放在传统的关系型数据库内

元数据就是描述数据的数据库、表、分区、分桶名称;每张表字段名、字段类型、分隔符;这张表真实数据在 HDFS 上的存储路径;表类型(内部表 / 外部表)、存储格式(Text/ORC)、权限信息。举例子: 执行Hive 必须先查元数据:student 表有哪些列、数据在 HDFS 哪个文件夹,才能去 HDFS 读取文件解析内容。

2026-07-15 15:52:09 317

原创 ACID 数据库四大事务特性

多个事务并发执行时,彼此互不干扰,一个事务看不到另一个未提交的中间脏数据。举例: 事务 1 正在扣 A 的钱但还没提交;事务 2 查询 A 余额,只能看到转账前的数值,看不到中间扣款状态,避免脏读。事务执行前后,数据库的完整性约束不会被破坏,数据永远合法。事务提交成功后,修改的数据永久写入磁盘,哪怕服务器断电、崩溃,数据也不会丢失。转账提交完毕,就算数据库立刻关机重启,余额改动依然保留。,不支持事务、原子修改,所以不适合数据库类业务,只适合离线大数据存储。事务是不可分割的最小单元,

2026-07-14 08:57:03 186

原创 HDFS 读、写流程

磁盘真实存储单元:Block,读文件、跑 MR 共用;上传传输临时拆分:Packet,仅上传阶段使用;计算逻辑分片:Split,MR 运行时基于 Block 生成,用来分配 Map 任务;Packet、Split 只是过程拆分,底层存储载体统一都是 Block。

2026-07-13 14:42:12 382

原创 Hadoop2.0 (YARN) 完整应用执行全过程

前置组件说明: Client(客户端提交程序)、ResourceManager (RM)、两大子模块:调度器 Scheduler + 应用管理器 AMM;NodeManager (NM,各节点资源代理)、ApplicationMaster (AM,当前作业总管)、Container (资源容器)

2026-07-10 15:06:54 609

原创 Linux 三个核心环境变量配置文件、作用域、生效方式完整梳理

登录完成后,后续开再多终端,都不会再执行这个文件,它只负责登录初始化环境。只要启动交互式命令行窗口,就加载,适合配别名、终端样式、临时快捷命令、锁屏休眠脚本。(全系统所有用户) 用户私有配置会覆盖全局系统配置,比如 hadoop 用户自己。里的全局 Java 路径。作用:登录时顺带把终端配置。(当前用户终端)>~source 文件名。

2026-07-09 18:18:30 874

原创 Linux su /sudo/ssh 核心区别完整辨析

在实验中,我们频繁用到susudossh三类身份切换 / 登录命令,很多初学者会混淆三者本质:分不清「本机权限切换」「本机完整登录环境切换」「网络新建会话登录」的边界,甚至误以为ssh 本机IP是无意义操作。本文结合 Hadoop、systemd 用户服务实验场景,彻底拆解三者底层行为、适用场景、硬性限制。单次 sudo:人还是 hadoop,只是临时借一次管理员工具办事sudo -i:在当前房间内,直接切换成管理员全套办公环境,办事后随时退房回到普通用户身份。

2026-07-08 12:53:55 694

原创 面试口述版:对 Helm 完整理解

Helm 解决了原生 K8s YAML 难以批量维护、多环境适配、版本回滚困难的痛点,是云原生应用标准化交付的基础工具。在我的三节点 K8s 实验项目中,依托 Helm 快速落地完整监控体系,同时结合 ArgoCD 实现标准化 GitOps 流程,整套方案完全可以复用到企业生产环境,降低复杂中间件的部署与维护成本。

2026-07-07 09:23:58 697

原创 面试口述版:对 Ollama 的完整理解

Ollama 降低了本地私有化大模型落地门槛,轻量化、容器友好、标准 API 三大特性,让大模型可以无缝集成进 K8s 云原生体系。在我的 SRE 智能运维项目中,它是 AI 决策核心,把传统被动式监控升级为具备自主分析、自动恢复能力的 AIOps 平台,同时全程基于 GitOps 标准化部署,整套方案可直接迁移到企业私有化生产环境。

2026-07-06 18:16:50 734

原创 面试口述版:个人对 Grafana 的理解

Grafana 作为专业可视化中间层,补足了 Prometheus 可视化薄弱的短板,依托多数据源、交互式变量、海量社区看板三大优势,成为 K8s 集群标准观测工具。在我的 AIOps 项目中,它可以直观展示 Pod 崩溃、节点资源过载等异常指标,配合 Prometheus 告警、自研 SRE Agent,形成一套完整的 “监控 - 告警 - 可视化 - 自动自愈” 运维闭环。

2026-07-05 15:08:19 393

原创 面试口述版:个人对 Prometheus 完整理解

Prometheus 凭借轻量化、云原生适配、灵活的 PromQL 和完整告警链路,成为 K8s 环境监控事实标准。在我的项目中,它既是集群资源可视化监控工具,也是整套 SRE 智能自愈平台的数据源头,打通了「故障采集 - LLM 决策 - 自动恢复」完整链路。同时部署、配置全程遵循 GitOps,所有监控规则代码化,运维规范、可落地到企业生产环境。

2026-07-04 13:53:26 706

原创 面试版个人理解 Argo CD

整体来说,Argo CD 不只是一个自动部署工具,它是一套标准化的云原生运维交付规范落地载体。依托 GitOps 实现了环境可复现、变更可追溯、集群自修复,把 K8s 所有资源代码化,适配我项目里 AI 智能运维平台这类长期迭代的云原生应用;同时这套方案可以直接复用在企业生产环境,降低集群维护成本,减少人为操作故障。

2026-07-02 09:57:36 476

原创 彻底搞懂K8s CRI、Docker、Containerd核心区别|为什么K8s弃用Docker?

很多初学 K8s 的同学都会有这个终极疑问: Docker 用的好好的,为什么 K8s 1.24 之后突然弃用 Docker?CRI、Docker、Containerd、runc 到底是什么层级关系?既然 CRI 可以管理容器,为什么以前还要多一层 Docker 转发?为什么我执行只能看到自己打包的业务镜像,看不到 K8s 集群系统镜像?只安装 Docker CE 不安装 cri-dockerd,为什么 Docker 无法给 K8s 提供容器运行能力?

2026-07-01 08:51:41 692

原创 企业级自动化部署K8s集群|Ansible一键搭建Kubernetes v1.32集群

K8s手动部署是学习基础,Ansible自动化部署才是企业生产标配。通过Roles角色分离架构,实现了集群环境的标准化、自动化、可维护化,同时全程国内镜像适配,彻底解决网络访问问题,可直接落地用于企业测试、预发、生产环境。

2026-06-22 11:17:44 754

原创 K8s 集群必备 SSH 免密登录核心原理

执行ssh-keygenk8s-node1。

2026-06-21 09:25:59 467

原创 手把手教程:Ubuntu 使用 kubeadm 从零搭建 Kubernetes v1.33 集群(含 Calico 网络、cri-docker)

Kubernetes(简称 K8s)是当下主流容器编排开源平台,自动完成容器应用部署、扩缩容、运维管理。对于初学者、CKA 备考人员,使用kubeadm手动搭建集群是吃透 K8s 底层组件、网络前置条件、集群初始化流程的最佳方式。本文基于 Ubuntu 系统,完整覆盖主机环境初始化、容器运行时 cri-docker 部署、kubeadm 工具安装、Master 控制平面初始化、Worker 节点加入、Calico 网络插件部署、集群状态校验。

2026-06-19 12:27:27 711

原创 Ansible 实操踩坑:package_facts 不会自动刷新!yum 源 + GPG + 包管理完整实战

剧本中途安装软件后,facts 里依旧查不到新装的包。本文结合实验,从四大模块实战入手,讲清 facts 静态快照原理、变量引用规范、生产最优写法(register 替代频繁刷新 facts),全文附带可直接运行完整 playbook。

2026-06-18 10:57:12 616

原创 Linux autofs 自动挂载深度详解|NFS 远程家目录实战、踩坑易错点全梳理

autofs是 Linux 自带的按需惰性自动挂载服务不提前挂载,只有用户访问目标目录时,才自动完成挂载;长时间无访问自动卸载。它通过守护进程automount监控预设目录,拦截目录访问请求,后台完成 NFS/SMB/ 本地磁盘挂载。作用:定义父目录下子目录挂载规则,一条规则对应一个挂载点。本地子目录名 挂载参数 远端存储地址testuser:父目录/rhome下的子目录,完整本地挂载路径;-rw,sync:挂载参数,rw读写权限(满足题目写入需求),sync同步写入;参数前横杠不可省略;

2026-06-17 21:17:07 703

原创 Ansible 实战:登录标语定制实验|彻底搞懂 issue/motd/ 软链接,Jinja2 模板核心作用详解

下面实验中,我们通过copy模块+template(Jinja2)+file软链接完成 Linux 登录提示自定义,很多初学者疑惑:明明motd.j2模板只写了 2 行代码,SSH 登录后却弹出一大堆内容?软链接到底指向哪里?本文结合实操拆解文件逻辑,重点剖析Jinja2 是 Ansible 动态配置的核心灵魂。模块数据源内容特点适用场景copy控制节点原文件原样复制所有机器内容完全一致统一静态公告、固定脚本Jinja2 模板 + 主机变量动态渲染单模板多机器差异化内容。

2026-06-15 17:05:11 319

原创 【Ansible 生产实战必备】Handler、任务失败处理、Block/Rescue 超详解(企业运维必学)

Handler 可以理解为:非活动任务,平时不执行,只有被 notify 显式调用时才触发。默认在Play 中所有普通任务执行完成后才运行多个任务通知同一个 Handler,只会运行一次没有任务通知,就绝对不运行修改配置后重启服务、部署完成后重启主机任务执行成功了,但我想让它根据业务逻辑判定为失败。我把今天所有内容浓缩成企业运维必背 6 条Handler:被 notify 调用,所有任务结束后执行一次,用于重启服务多个任务通知同一个 Handler → 只跑一次:忽略任务失败,继续执行。

2026-06-12 10:22:50 335

原创 实战解惑:Ansible 控制节点不登录 Worker,如何让 Worker 拿 Master 令牌加入 K8s?hostvars 魔法变量封神用法

hostvars是 Ansible内置魔法变量,不需要定义、不需要赋值,直接用。作用只有一句话:让当前执行任务的机器(比如 Worker1),读取 inventory 里任意其他机器(比如 Master)的所有变量、 Facts、注册值。直白翻译:你在 Worker 上执行任务,但你能读到 Master 的变量!这就是解决 K8s join 最核心的神器。hostvars = 跨主机取变量的魔法任务跑在 Worker,但能读 Master 的数据。

2026-06-11 11:15:06 597

原创 小白吃透Ansible!Shell和Ansible核心区别(通俗超详解)

1.执行逻辑:Shell是过程式(写步骤),Ansible是声明式(定状态)2.执行范围:Shell天然单台执行,Ansible天然多台批量3.核心特性:Shell无幂等性,重复执行易出错;Ansible自带幂等性,安全稳定4.定位:Shell是单机命令工具,Ansible是企业级自动化运维平台Shell不会被Ansible替代,两者是互补关系,不是替代关系!日常临时操作可以用Shell高效搞定,但是批量自动化、标准化运维、企业集群管理,Ansible是绝对的主流选择。

2026-06-10 10:38:40 604

原创 K8s集群版本升级完整教程|标准升级流程+实操命令+核心注意事项

Kubernetes 集群需要定期版本升级,以此获取新功能、修复安全漏洞、优化集群稳定性,是运维工程师核心日常维护操作。很多新手升级集群容易踩坑:跨版本升级、未排空节点、组件版本不统一、无备份导致故障无法回滚;尤其困惑:为什么升级流程里两次操作 kubeadm?到底有什么区别?本文结合官方标准升级流程、可直接复制的实操命令、面试满分答题模板,手把手讲透 K8s 集群 Master 节点升级全流程,重点拆解两次 kubeadm 操作的核心差异,兼顾实操落地与面试备考需求。

2026-06-09 10:50:33 916 1

原创 生产环境必懂:为什么改 Deployment/PVC 能直接编辑,改独立 Pod 却必须删了重建?

在日常 K8s 生产运维中,经常遇到资源配置变更场景:修改应用端口、扩容存储、新增日志容器…… 同样是 “改配置”,有些资源直接用就能生效,有些却必须导出 YAML、改完后删除重建。很多运维同学只记操作,不懂原理,导致排障时踩坑、变更时出错。本文从K8s 资源设计本质、生产稳定性逻辑、实际运维场景出发,讲透这两类修改方式的核心区别,帮你在生产中安全、高效地做配置变更。改控制器、配置类资源(Deployment、PVC、Service 等):直接用,高效安全,业务无中断;改独立 Pod。

2026-06-08 17:16:59 625

原创 K8s CRD+自定义控制器详解|从零实现集群自动化运维(超详细实操)

很多初学K8s的同学,只会使用集群内置的Pod、Deployment、Service等资源,但不清楚K8s真正强大的核心能力——可扩展性。K8s本身的内置资源是固定的,无法适配所有业务场景,比如数据库自动化运维、中间件集群管理、机器学习任务调度、CI/CD流水线定义等复杂场景。而CRD + 自定义控制器就是K8s实现功能扩展、业务自动化的核心方案,也是云原生Operator模式的底层原理。本文结合完整实操案例,用人话讲透CRD的概念、意义、使用流程、自动化原理,零基础也能看懂。

2026-06-07 10:30:13 506

原创 K8s ETCD 详解|备份恢复+静态Pod原理+kubectl查询底层流程(面试必考)

很多新手学 K8s 只会敲kubectl数据从哪来、etcd 到底是什么、控制平面组件为什么不能用 systemctl 启停。kubectl get pod 数据到底从哪里查的?apiserver、etcd、controller、scheduler 为什么叫静态 Pod?为什么 systemctl stop etcd 停不掉 etcd?etcd 正确停机方式、备份恢复完整流程这篇文章一次性讲透底层原理,彻底搞定控制平面核心机制!etcd 是 K8s 集群唯一真实数据源,存储所有集群核心数据。

2026-06-06 18:05:41 473

原创 K8s网络隔离实战|NetworkPolicy 详解(跨命名空间访问控制+完整实验)

Kubernetes 集群默认所有命名空间、所有 Pod 全网互通,没有任何隔离。生产环境里不同业务、命名空间需要做网络隔离保障安全,就是实现 Pod 级防火墙隔离的核心资源。本文搭配可直接复现的 bash 实操命令、原理讲解与面试考点,全面掌握网络策略与跨命名空间访问管控。NetworkPolicy 是 K8s 的 Pod 层级网络防火墙,管控 Pod 之间、Pod 与外网的入站、出站流量,可依据 Pod 标签、命名空间标签、外网 IP 划定访问权限,实现网络隔离与访问管控。

2026-06-05 10:14:59 450

原创 K8s权限核心|SA、Role、ClusterRole、RoleBinding、ClusterRoleBinding 五者关系详解(面试必背)

Role:仅管控当前命名空间资源权限(局部权限):管控全集群所有命名空间资源权限(全局权限),还可管控节点、PV、命名空间等集群级资源身份(SA)+ 权限规则(Role/ClusterRole)+ 绑定授权(RoleBinding/ClusterRoleBinding)。区分局部与全局权限的关键,不在于SA,而在于Role/ClusterRole的权限范围和绑定器的授权范围。掌握这套逻辑,就能彻底搞定K8s权限管控,轻松应对实操配置和面试问答。

2026-06-04 11:13:11 791

原创 K8s 存储核心:PV 与 PVC 实战详解(附 NFS+PV+PVC 完整实操)

PV 与 PVC 是 K8s 实现持久化存储的核心,核心逻辑就是 “公共硬盘(PV)+ 申请单(PVC)+ 挂载使用(Pod)”,数据随 PV 永久保留,不会随 Pod 删除而丢失。本次实验用 NFS 模拟后端存储,完整演示了 PV 与 PVC 的创建、绑定、使用和验证流程,新手跟着做就能快速掌握。如果在实操过程中遇到 PV 无法绑定、Pod 无法挂载、NFS 访问失败等问题,欢迎在评论区留言,我会一一回复!

2026-06-03 09:30:06 827

原创 K8s新手实操|hostPath卷超详细实战(附完整YAML+命令+避坑指南)

hostPath卷是K8s中最基础的存储卷之一,核心优势是“直接复用节点目录,数据不随Pod删除而丢失”,但核心弊端是“限制Pod跨节点迁移”,这也决定了它不适合生产环境的业务场景。本次实操全程使用新手友好的命令和配置,所有命令可直接复制运行,通过Nginx验证挂载效果,直观易懂,帮助新手快速掌握hostPath的用法。记住:hostPath适合节点级临时使用,生产环境存储业务数据,优先选择PersistentVolume(PV)、PersistentVolumeClaim(PVC)等持久化存储方案。

2026-06-02 10:43:46 714

原创 K8s emptyDir 共享存储卷深度详解|多容器数据互通 + Sidecar 实战

学习 K8s Pod 核心知识时,emptyDir 共享存储、多容器数据互通、Sidecar 边车模式是新手最容易混淆、最容易踩坑的重难点。大家普遍有这些疑惑:同一个 Pod 的多个容器,到底怎么实现数据互通?两个容器的 mountPath 必须一模一样吗?不一样能不能互通?emptyDir 存在哪里?是虚拟的还是节点真实目录?为什么我改了挂载路径,文件明明存在却读不到?今天结合httpd + busybox 经典 Sidecar 实战emptyDir 底层物理原理。

2026-06-01 11:10:00 606 3

原创 K8s新手实操|emptyDir卷超详细实战(附完整命令+核心理解)

结合本次实操和个人理解,整理出emptyDir卷的核心知识点,新手直接背诵即可,避免踩坑:归属:emptyDir是Pod级别的存储卷,属于Pod的属性,不是容器的属性,由Pod统一管理。生命周期:与Pod完全绑定——Pod创建→emptyDir创建(Node节点上);Pod删除→emptyDir删除(数据永久丢失);容器崩溃重启→emptyDir及数据保留。

2026-05-31 15:41:35 594

原创 从 0 到 1 实操 K8s Gateway API+Istio:告别 Ingress,用新标准实现域名访问

在 Kubernetes 中,Ingress 一直是处理七层 HTTP 流量的标准方式。但随着业务复杂度提升,Ingress 暴露出了不少问题:功能依赖不同控制器的自定义注解、各实现间兼容性差、扩展性弱。为了解决这些痛点,Kubernetes 社区推出了,它被称为 Ingress 的下一代标准,提供了更模块化、更通用、更可扩展的流量管理能力。本文将带你从理论到实操,完整走一遍 Gateway API 的安装、配置过程,并结合 Istio 实现一个基于域名的服务访问。

2026-05-30 09:01:39 527

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除