为了方便大家学习 Flink, apache 提供 flink-playgrounds
项目帮助开发者通过 docker
快速搭建出一套用于学习、开发的环境。
由于是通过 docker
来运行,适用于任何平台,windows、mac os 、linux 等
搭建 Flink 环境
下载 flink-playgrounds
,官方地址,我 clone 的是最新的稳定分支 1.11
git clone --branch release-1.11 https://github.com/apache/flink-playgrounds.git
打开 docker 切换到 flink-playgrounds
的 operations-playground
目录,然后构建 docker 镜像,这一步可能比较耗时
cd flink-playgrounds/operations-playground
docker-compose build
启动环境,第一次启动需要下载一些东西
docker-compose up -d
查看正在运行的 docker 容器
docker-compose ps
查看管理页面
通过 http://localhost:8081 访问 Flink 管理页面
操作 Flink 研发环境
停止 Flink 研发环境
docker-compose down -v
启动 Flink 研发环境
cd flink-playgrounds/operations-playground
docker-compose up -d
docker-compose ps
查看日志,JobManager 日志可以通过添加 docker-compose 查看
docker-compose logs -f jobmanager
TaskManager 日志也可以
docker-compose logs -f taskmanager
Flink CLi
docker-compose run --no-deps client flink --help
Flink RestAPI
curl localhost:8081/jobs
Kafka 操作命令
//input topic (1000 records/s)
docker-compose exec kafka kafka-console-consumer.sh \
--bootstrap-server localhost:9092 --topic input
//output topic (24 records/min)
docker-compose exec kafka kafka-console-consumer.sh \
--bootstrap-server localhost:9092 --topic output
列出正在运行的作业
docker-compose run --no-deps client flink list
观察故障与恢复 1、观察输出
docker-compose exec kafka kafka-console-consumer.sh \
--bootstrap-server localhost:9092 --topic output
2、模拟故障
这里模拟 TaskManager 进程的丢失
docker-compose kill taskmanager
几秒钟后,JobManager 将注意到 TaskManager 丢失,取消受影响的 Job,然后立即重新提交以进行恢复。
3、恢复
docker-compose up -d taskmanager
重新启动 TaskManager 后,它将重新连接到 JobManager