Docker搭建Flink

Docker搭建Flink环境的步骤:

1. 安装Docker

确保你的系统已经安装了Docker。如果没有安装,可以参考以下命令进行安装:

bash 复制代码
# 对于Ubuntu系统
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 对于CentOS系统
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker

你可以直接使用官方的Flink Docker镜像,或者自己构建一个。

bash 复制代码
# 使用docker pull命令下载最新的Flink镜像
docker pull apache/flink:latest
# 如果你需要特定版本的Flink,可以指定版本号
docker pull flink:1.13.2

3. 运行Flink容器

使用以下命令运行Flink容器:

bash 复制代码
# 启动Flink Session Cluster
docker run -d --name flink-session -p 8081:8081 apache/flink:latest
# 如果你需要启动Flink Job Manager,可以运行
docker run -d --name flink-jobmanager -p 8081:8081 apache/flink jobmanager
# 对于TaskManager,可以运行
docker run -d --name flink-taskmanager --link flink-jobmanager:jobmanager apache/flink taskmanager

启动容器后,你可以通过浏览器访问Flink的Web界面进行进一步的操作:

复制代码
http://localhost:8081

5. 提交Flink作业

你可以通过以下命令提交Flink作业:

bash 复制代码
# 假设你的Flink作业打包为example.jar
docker exec -t -i flink-session flink run /path/to/example.jar

6. 使用Docker Compose

如果你想要更方便地管理Flink集群,可以使用Docker Compose。创建一个docker-compose.yml文件:

yaml 复制代码
version: "3"
services:
  jobmanager:
    image: apache/flink:latest
    ports:
      - "8081:8081"
    command: jobmanager
  taskmanager:
    image: apache/flink:latest
    depends_on:
      - jobmanager
    command: taskmanager

然后使用以下命令启动服务:

bash 复制代码
docker-compose up -d

注意事项

  • 确保你的Docker版本与Flink镜像兼容。
  • 根据需要调整Flink的配置,可能需要挂载配置文件或使用环境变量。
  • 如果要在生产环境中使用,需要根据实际情况调整资源限制和配置。
    以上步骤将帮助你使用Docker搭建基本的Flink环境。根据具体的使用场景,你可能需要进行更多的配置和优化。
相关推荐
水中加点糖6 小时前
Java中使用远程PlayWright进行网页接口测试(附Docker部署方式)
java·docker·web测试·devtools·playwright·ai自动化测试
梦梦代码精7 小时前
PHP 还是 Java?LikeShop 多版本对比,附6条落地避坑建议
低代码·docker·开源·代码规范
运维大师8 小时前
【K8S 运维实战】15-链路追踪Jaeger与OTel
运维·容器·kubernetes
zerwave9 小时前
深入理解 Docker 的“层”(Layer)
docker·容器
霁月的小屋10 小时前
Docker 工程化实践(二):理解镜像分层与容器文件系统
运维·docker·容器
abcy07121320 小时前
flink datastream调用8种分区策略实例
flink
码上上班1 天前
docker课程
java·docker·容器
取谖慕12.1 天前
Docker容器从入门到精通
docker·容器·eureka
取谖慕12.1 天前
Harbor仓库从讲解到部署实战
docker·harbor
逍遥德1 天前
运维技术栈Linux+docker+Kubernetes+Jenkins/GitLab CI 知识点详细列表
linux·运维·docker