自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Hadoop 速刷:HDFS / MR / YARN / Spark / Hive

blockId。

2026-11-01 20:09:42 499

原创 Hadoop/YARN 集群缩容:下线NM节点

先确认待缩容节点是否存在 Flink TaskManager 容器。没有 TM 节点,可以直接执行 NM 下线缩容。如果待下线节点运行着 TaskManager:传统调度器无法在线热迁移 task,必须通过 savepoint 停止任务。1)手动触发 savepoint;2)stop 作业,释放所有 TM 容器;3)集群执行 NodeManager 缩容下线;4)集群缩容完成后,重新提交 Flink 任务,从 savepoint 恢复;并行度不能超过缩容后集群可用 slot。

2026-10-26 08:24:31 288

原创 Hadoop Spark 数据倾斜完整排查

Spark 排查数据倾斜,打开 Spark UI,定位存在 Exchange(shuffle)的 Stage,查看 task 列表的 Shuffle Read 字段,如果少数 task 读取数据远大于其他 task,说明出现倾斜。倾斜分聚合倾斜、join 倾斜、null 值倾斜。groupByKey 全部数据 shuffle 到下游,没有本地聚合,更容易发生数据倾斜。如果日志看不到,可以开启采样,或者写代码采样 key 分布,找出热点 key。不会做 map 端聚合,全部数据走 shuffle,极易倾斜。

2026-10-22 09:25:11 315

原创 Flink Yarn-Session Job 相关常用脚本

批量停止 Yarn Session 内 Job,我会写两段脚本: 第一段批量 stop,并且增加预览模式,防止误杀;stop 执行完成后,调用校验脚本,查询 Session 内 Job 状态,确认不存在 RUNNING Job。全程不自动 cancel Session,留人工确认环节,规避生产风险。把批量 stop + 状态校验合并,stop 全部任务后自动校验,校验通过提示 cancel session。如果无 RUNNING Job,代表全部停止,可以继续 cancel Session。

2026-10-19 22:52:56 398

原创 Hadoop MapReduce 核心流程:从 Input 到 Reduce

MapReduce 是和,中间由 Shuffle 洗牌过程衔接。

2026-10-12 18:26:19 369

原创 MySQL 高可用:MySQL 主从 + Keepalived + 故障切换脚本

read_only⚠️重要局限: Keepalived 只是网络组件;脚本;双节点存在脑裂风险;异步复制切换存在数据丢失风险。

2026-10-10 10:37:17 252

原创 MySQL 故障排查常用命令清单

适配面试 + 线上实操。

2026-10-09 07:59:53 521

原创 MySQL 单机版 vs 高可用版:宕机排查 + 故障处理

处理:优先做故障切换,把业务切到健康从库,优先恢复业务;宕机排查:先确认 mysqld 进程状态,查看 error.log 错误日志、dmesg 系统日志、磁盘使用率。排查根因和单机排查日志手段完全一样:磁盘满、OOM kill、InnoDB 损坏、压力、硬件故障。,一套 mysqld 进程,只有一份数据,没有备库副本。注意:仅仅搭建主从复制,没有切换组件不算完整高可用,主库宕机业务依旧不可用。单机没有备库可以切换,所有修复都是在故障本机操作,修不好只能靠备份。无法修复只能依靠备份恢复,业务中断时间长。

2026-10-08 17:49:13 520

原创 Hadoop HDFS 扩容:新增DN节点

扩容:往现有集群增加新 DataNode 存储节点;如果机器同时部署 NodeManager,则同时扩容 YARN 计算资源。扩容对比缩容:缩容是;扩容是,新 DN 刚加入是空的,已有旧块不会自动均衡到新节点,需要手动执行数据均衡。

2026-09-24 17:20:06 403

原创 Flink on YARN 部署模式判断方式

4 种方式可以判断。

2026-09-23 14:55:55 307

原创 Hadoop Map & Shuffle & Reduce

Shuffle 将相同 word 的数据分组,网络传输交给同一个 Reduce;Spark:前面 map 操作放内存,到 shuffle 这一步才写磁盘;Reduce 拿到同一个 key 对应的一堆数字,把数字累加求和。Reduce 对 value 集合求和,输出每个单词计数;Map 读取文本,切分单词,输出 key‑value。Map 输出全部写磁盘,再 shuffle;Map 读取每一行文本,切割成单词,输出。Map 做的事:拆分数据,打上标记。出现一次单词,记计数 1。

2026-09-22 16:15:33 356

原创 Flink on YARN 3 种部署模式

任务停止,TM 容器全部释放。确认容器清零,就可以处理 NM 节点。flink stop逐个停止 Session 内所有 Job,TM 容器仍然保留在 NM 节点;必须cancel Session的applicationId,销毁 Session AM,TM 容器才会全部释放。否则 NM 节点存在常驻容器,不能直接下线。

2026-09-21 16:02:52 334

原创 Yarn NM 常驻Flink任务下线:stop/savepoint 释放容器

NM:集群缩容,要下线一台部署 NodeManager 的机器,这台 NM 上还跑着 Flink 流任务常驻 TM 容器/,YARN 不会自动杀掉长驻 TM 容器。直接下线 NM,会导致 Flink 任务异常。

2026-09-20 10:17:09 656

原创 Yarn 常驻TM 容器与常驻Flink 任务

模式TM 容器什么时候创建TM 容器什么时候释放常驻特点Per-Job提交 Job 时 AM 向 YARN 申请Job stop/cancel 完成,立刻销毁 TMJob 运行期间 TM 常驻;任务停,容器消失启动 Session 集群的时候一次性申请cancel 整个 Session AM,才会销毁 TMTM 容器长期常驻,Job 启停不销毁容器。

2026-09-20 10:16:01 240

原创 Hadoop/YARN 集群缩容:下线DN节点

核心原理:HDFS 支持,不是直接关机。执行退役后,NameNode 会把该 DN 上所有数据块,复制迁移到其他存活 DataNode,数据多副本保证不丢失。迁移完成后,再正式把节点从集群剔除。是HDFS 存储节点,管理块数据。

2026-09-20 10:05:47 831

原创 离线数仓标准分层:ODS、DWD、DWS、ADS 数仓分层

一层加工一层,层层依赖,就是你 Azkaban 调度的整套 ETL 链路。

2026-09-18 22:22:46 194

原创 Azkaban 调度:离线作业监控

离线数仓任务由 Azkaban 调度,数仓分层:ODS(原始数据层) → DWD(明细数据层) → DWS(汇总 / 服务数据层) → ADS(应用数据层)。Azkaban 底层 MySQL 采用主从架构:Azkaban 业务读写走主库;监控脚本只读从库,避免查询压力影响 Azkaban 调度本身。监控核心能力:P0/P1:任务失败 / 超过分层截止时间未完成,影响下游业务产出;P2:任务成功跑完,但耗时明显变长,属于隐患(数据倾斜、小文件增多、资源争抢)。截止时间告警(P0/P1)

2026-09-16 16:38:17 604

原创 Hadoop 集群高可用节点分布

(下表额外添加hbase的服务)部署习惯:ZK、JN、ZKFC 一般混部;NN、RM 独立;DN 和 NM 同机部署(数据节点)HMServerBzkfc(HDFS故障转移)Hive Metastore1. 部署kafka的机器IO要好2. Balabce 不长期启动,需要时临时执行3. Node1、Node2 核心主节点,不部署数据节点,配置cgroup系统限制,禁止yarn任务调度上来4. Hive 元数据库Mysql 独立部署。

2026-09-16 11:18:11 194

原创 Hive SQL 执行卡住完整排查 & 处理

Hive 提交 SQL 之后,任务长时间不动,Map 或者 Reduce 停在某个百分比不动,不报错、不失败,就是卡住。底层跑 Hive on MR / Tez / Spark‑on‑YARN,绝大多数问题体现在 YARN 任务层面。

2026-09-15 15:27:30 872

原创 Hadoop MapReduce / Hive 场景:ReduceTask 热点 Key 排查

MR 流程:Map 输出 <key,value>,按 key 哈希分区,同一个 key 全部发给同一个 Reducer。热点 Key = 某一个 key 对应的记录数远大于其他 key,数据全部打到同一个 reduce,这个 reduce 任务慢、OOM、长时间卡死,其他 reduce 很快跑完。正常:每个 key 几千条直接几十万 / 几百万条,全部进同一个 reduce。

2026-09-14 16:31:35 570

原创 Redis 高可用架构对比

方案核心能力自动故障转移水平扩展适用场景主从复制读写分离❌ 不支持❌ 不支持读多写少,容灾要求低哨兵模式高可用监控✅ 支持❌ 不支持高可用要求高,数据量一般集群模式分片存储与扩展✅ 支持✅ 支持大数据量、高并发、需扩容选择时,应根据业务的数据规模、并发量、可用性要求以及运维成本进行综合考量。

2026-09-14 10:38:39 187

原创 ELK Filebeat 部署

Filebeat 是轻量采集器,,尽量在日志产生的机器上部署,避免跨网络读取日志。

2026-09-11 17:12:47 298

原创 ELK 业务架构&日志采集

生产环境一般搭配,大规模业务架构会增加 Kafka 做缓冲,也就是,也叫 EFK(Filebeat 替代 Logstash 采集端)

2026-09-10 10:59:16 319

原创 Nginx 错误码解析与负载均衡策略

后端服务器性能不一致时,可通过权重让高配置机器承担更多流量,实现资源合理利用。后端服务器配置相近、请求处理时间差异不大的环境。此为 Nginx 默认策略。根据客户端 IP 计算哈希值,将同一用户的请求固定分发到同一台后端服务器。Nginx 作为反向代理时,后端服务返回了无效或无法解析的响应。根据预设的权重比例分发请求,权重越高的服务器获得越多流量。后端处理时间过长,超过了 Nginx 配置的超时时间。请求处理时间长短不一、希望更充分利用后端资源的场景。按顺序将请求依次分发给后端服务器,实现公平分发。

2026-09-09 10:05:30 72

原创 ZooKeeper 写入机制

这是 ZooKeeper 保证数据一致性的核心机制之一。

2026-09-09 10:01:59 218

原创 Linux 磁盘满常见处理方案

2)定时任务配合 find 清理归档日志(仅清理已经切割完毕的旧日志,不要处理正在写的日志)。按文件大小 / 时间切割日志,自动压缩、自动删除 N 天前日志。.log‑20260908.gz 这类轮转后的历史归档文件。1)业务程序本身配置日志级别,关闭大量 DEBUG 打印。,这是程序正在追加写的活跃日志!只匹配切割后的归档文件。本地先手动执行一遍测试,确认不会误删文件。du 看不到,但 df 统计占用。执行完,df 看磁盘空间马上释放。直接 rm 删除即可释放空间。幽灵文件,磁盘空间不释放。

2026-09-08 09:52:07 630

原创 Linux 清理日志常用命令

把日志只保留最后 2000 行,前面全部丢弃。

2026-09-08 09:30:46 505

原创 Linux 查看日志常用命令

场景:报错一般在日志末尾,想看最新日志,不想翻页;小日志文件使用。

2026-09-08 09:24:50 612

原创 Hadoop Hive 和 YARN 的关系

Hive 将生成的计算作业提交给 YARN,由 YARN 分配 Container 容器,调度 Map、Reduce Task 在集群节点执行计算。接收各类应用提交的任务,分配 Container 容器,调度任务在各个节点运行,监控任务运行、失败重启。不止 Hive 可以用 YARN,Spark、Flink、MR 程序都可以提交到 YARN 上跑。YARN 是 Hadoop 的资源调度框架,负责集群 CPU、内存资源管理。Hive 负责 SQL 解析生成计划,YARN 负责资源调度和实际任务运行。

2026-09-08 09:21:49 405

原创 前端页面加载卡住真实问题排查

虚拟机,SpringBoot Java 服务,多实例集群(3 台业务节点);架构:蓝绿/流控+灰度,由流控平台进行切换,下发策略;Apollo:配置中心,应用本身的配置主要由该平台管理下发;外部 detector :监控实例主机资源、HTTP 接口拨测、接口请求超时率&错误率、通过traceID检测应用链路调用(包括数据库和接口超时报错信息);

2026-09-07 07:42:19 339

原创 Kafka 迁移扩容实战指南

Kafka 通过副本重分配(Replica Reassignment)来实现数据迁移。该操作会改变分区副本所在的 Broker,从而将数据从源 Broker 移动到目标 Broker。脚本来辅助生成和执行副本重分配计划。该工具通过改变分区副本所在的 Broker 数量来实现数据迁移。Kafka 迁移与扩容是运维中常见的操作,主要涉及集群内数据均衡和跨集群数据迁移两种场景。

2026-09-05 16:07:10 275

原创 Hadoop MapReduce/Hive 数据倾斜完整排查

下载该 Reduce Task 日志,定位热点 Key:打开该 container 日志,搜索 key 相关打印,找到数量爆炸的热点 key 具体值。场景:group by 某个字段,某个 key 行数特别多。现象:reduce 输入记录数严重不均。优化方案 开启倾斜自动处理类型 2:Join 数据倾斜场景:大表 join 大表,join key 存在热点;或者大表 join 小表但 key 热点。方案 A:小表侧 mapjoin(小表全部加载到 map 内存,无 shuffle

2026-09-04 10:08:20 848

原创 运维高频使用命令 & 脚本

只打印预览,不改动磁盘文件。

2026-09-03 09:41:53 165

原创 线上性能问题排查方法

性能问题排查需要系统性的思维和科学的流程,从现象确认到根因定位,再到解决验证和复盘优化,形成完整的闭环。

2026-09-02 09:14:18 642

原创 Kafka 生产数据积压线上案例

以上两个案例展示了在实际生产环境中,面对资源限制和突发流量时的应急处理思路。核心原则是优先保障核心业务的实时性,同时建立数据补偿机制,确保最终数据一致性。

2026-09-01 16:11:48 172

原创 Java 故障排查:GC 日志、线程堆栈、内存快照 dump 全套命令

内容命令输出文件用途备注线程堆栈.txt死锁、CPU 高、线程阻塞抓 3 次对比;卡死用 -F堆内存快照.hprof内存泄漏、OOM 分析大堆会 STW,占磁盘 IOGC 历史日志JVM 启动参数 -Xloggcgc-xxx.logGC 停顿、频繁 FullGC必须提前开启,事后无法抓取实时 GC 状态控制台输出现场看当前 GC 情况快照采样,不是历史日志线程栈备选输出到应用 stdout/catalina.out线程栈不会杀死进程。

2026-09-01 14:25:14 1065

原创 Kafka 消息积压:快速诊断与高效解决

2026-08-31 09:59:23 180

原创 Hadoop 数据倾斜:加盐(Salting)

识别热点 key:通过任务监控、日志、采样,找到倾斜的 key;SQL/RDD 改造,实现两阶段加盐聚合;join 倾斜需要大小表配套改造;控制盐值数量:不是越大越好,10、20、50;盐值过大生成大量小 task;优先只对热点 key 加盐,减少全量数据膨胀;测试验证结果正确性:sum/count 正确;avg 不能直接加盐;评估资源:加盐多一轮 shuffle,资源会上涨,预估资源调整参数。缺点:加盐会多一轮 shuffle,增加 CPU、内存、磁盘 IO 开销。角色做什么。

2026-08-27 10:57:48 383

原创 Hadoop Reduce OOM 真实排查案例(Hive On MapReduce)

脏数据 → 数据倾斜 → OOM用户行为日志每日离线跑批,Hive 执行统计用户行为次数。每日跑批,某天作业突然失败,Reduce 任务 OOM,绝大多数 task 很快跑完,仅 1 个 reduce 反复重试后 OOM 失败。-99999。

2026-08-27 10:37:16 802

原创 MySQL 常用命令大全:增删改查全掌握

DDL(Data Definition Language)用于定义和管理数据库对象(表、索引、视图等)。2.1 创建表(CREATE TABLE)2.2 修改表(ALTER TABLE)-- 添加列-- 修改列类型-- 删除列-- 重命名表2.3 删除表(DROP TABLE)

2026-08-26 19:11:22 176

史海拾贝 - 历史知识答题小工具PC端

史海拾贝 - 历史知识答题小工具PC端

2026-08-20

史海拾贝 - 历史知识答题小工具

史海拾贝 - 历史知识答题小工具

2026-08-18

pdf word 互转 / ocr 图片识别(无office版本)

pdf word 互转 / ocr 图片识别(无office版本)

2026-08-18

pdf word 互转 / ocr 图片识别

pdf word 互转 / ocr 图片识别

2026-08-18

空空如也

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

TA关注的人

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