这门课解决什么问题

这篇内容只讲一件事:怎么把用户在浏览器里的点击行为,一路搬进大数据消息队列。很多转岗或查漏补缺的同学,对着整套大数据架构画过流程图,却卡在最前端的采集环节:埋点 JS 到底写什么、Nginx 怎么接住请求并落成日志、Flume 又怎么把这些日志抽走。这门课的切入点很具体,不碰离线数仓建模,也不碰实时计算引擎,只解决数据从用户端到 Kafka 的这段管道。如果你之前只跑过本地 CSV 导入,或者只会调别人写好的采集脚本,那这段路就是你的能力缺口。它适合已经懂基本 Linux 命令、看过大数据概念、但没真正自己搭过采集链路的人;不需要你精通 Java,但得能看懂配置文件和简单脚本。

建议先看哪几块,资料怎么配合练习

别按目录顺序干看,先抓两条主线。第一条是采集与落盘:编写采集 JS、用 Docker 启动 Nginx 并配置日志这两块连着看,重点理解请求是怎么打过来的、Nginx 的日志格式要怎么改才能接住。第二条是抽取与缓冲:创建 Flume 镜像、抽取 Nginx 日志、用编排工具安装 Kafka、把日志抽进 Kafka 这四块连着做,重点跑通 Flume 的 Source 和 Sink 怎么配。配套练习别只停留在看视频,一定要自己起一套容器环境。先跟着把 Nginx 跑起来,用浏览器或脚本模拟点击,确认日志文件在涨;再起 Flume 镜像,盯着它有没有真正读到这个日志文件;最后起 Kafka,用命令行消费者看消息能不能进来。每一步都先验证再往下,别等全配完才发现哪里断了。

学完能独立做什么

看完并跟着跑通后,你应该能独立搭起一条完整的采集链路:自己写一段埋点 JS 往后端发请求,用 Nginx 把请求收成日志,再用 Flume 把日志实时抽进 Kafka 给下游消费。这中间遇到日志格式对不上、Flume 抽不到数据、Kafka 收不到消息这类问题,你得能自己定位是哪一环的配置出了错,而不是只会重启容器。更关键的是,你该能回答几个具体问题:采集 JS 发的请求和 Nginx 落的日志字段是怎么对应的?Flume 的 Source 该读哪个文件、Channel 用什么类型、Sink 指向 Kafka 时 topic 怎么定?Kafka 起来后,怎么用最简单的命令验证数据确实进来了?如果这三问你答得磕巴,就回去重跑对应那一段,别假装自己都会了。把这段管道真正吃透,后面无论接实时计算还是存进数仓,前端这一截就不会再成你的盲区。

课程目录

1 编写采集JS 2 (13:48)
2 使用Docker启动Nginx并配置日志 (11:45)
3 创建Flume Docker镜像 (13:19)
4 使用Flume镜像抽取Nginx日志 (11:19)
5 使用Docker compose安装Kafka (07:35)
6 使用Flume抽取Nginx日志到Kafka (09:39)