本文总结了本地开发环境(Windows系统)中启动推荐系统所需的所有组件命令,包括 Redis、Kafka、Flume 及 SparkStreaming 程序的启动流程。
1. 启动 Redis
进入 Redis 安装目录,执行:
bash
redis-server.exe
测试连接(另开一个终端):
bash
redis-cli.exe
2. 启动 Zookeeper(Kafka依赖)
进入 Kafka 解压目录,执行:
bash
bin\windows\zookeeper-server-start.bat config\zookeeper.properties
3. 启动 Kafka
(在另一个命令行窗口中操作)
bash
bin\windows\kafka-server-start.bat config\server.properties
4. 创建 Kafka Topic
Kafka Topic 名称:log
和 recommender
进入 Kafka 解压目录,分别执行:
bash
bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic log
bash
bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic recommender
验证 Topics 是否创建成功:
bash
bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092
看到有 log
和 recommender
两个 topic 即成功!
5. 启动 Flume
假设你在 D:\code\apache-flume-1.9.0-bin
目录。
执行:
bash
bin\flume-ng.cmd agent -n agent -c conf -f conf\log-kafka.properties -Dflume.root.logger=INFO,console
注意事项:
-
log-kafka.properties
中 source 改成监听 Windows 的日志文件,比如:D:\\Software\\ECommerceRecommendSystem\\WebServer\\src\\main\\log\\agent.log
-
Windows 必须用双反斜杠
\\
或正斜杠/
6. 启动 Kafka Stream 程序(log ➔ recommender 转换)
你的程序是 IDEA 里的 Java 程序:
- 打开
com.IronmanJay.kafkastream.Application
- 直接右键 → 运行
main
方法(绿色小三角)
✅ 成功后控制台应该输出:kafka stream started!
7. 启动 Spark Streaming 流处理服务
假设你的 Spark 项目已打成 jar 包,比如 streamingRecommender-1.0-SNAPSHOT.jar
。
命令格式:
bash
spark-submit --class com.IronmanJay.streamingRecommender.StreamingRecommender D:\path\to\streamingRecommender-1.0-SNAPSHOT.jar
注意:
- 本地运行 Spark,Master 设置
local[*]
- MongoDB 地址记得是
localhost:27017
- Kafka 也是
localhost:9092
8. 测试 Kafka 发送消息
打开生产者:
bash
bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic recommender
然后直接输入(注意是一行 JSON,不要换行):
json
{"uid":888,"pid":999,"score":4.5,"ts":1714149555}
回车发送!
总结:启动顺序建议
顺序 | 启动项 | 说明 |
---|---|---|
1 | Redis服务器 | 支持缓存 |
2 | Zookeeper | 支持Kafka协调 |
3 | Kafka服务器 | 支持消息通信 |
4 | 创建 Kafka Topic | log 和 recommender |
5 | Flume Agent | 采集日志到Kafka |
6 | Kafka Stream | 处理log并写入recommender |
7 | Spark Streaming | 监听recommender,实时处理 |
8 | 测试Kafka生产者 | 发送一条模拟数据验证 |