Docker 使用 flink socketwordcount 示例 [apache-flink]
Docker using flink socketwordcount example [apache-flink]
我想在 docker 的帮助下使用 Flink。我想 运行 Socketwordcount 实例作为启动。但是在这个阶段我遇到了一个错误。我无法连接套接字。所以在 20 毫秒后,flink 完成工作。
Docker-撰写:
version: "3"
services:
jobmanager:
image: ${FLINK_DOCKER_IMAGE_NAME:-flink:1.3.2-hadoop24-scala_2.11-alpine}
expose:
- "6123"
ports:
- "8081:8081"
command: jobmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
taskmanager:
image: ${FLINK_DOCKER_IMAGE_NAME:-flink:1.3.2-hadoop24-scala_2.11-alpine}
expose:
- "6121"
- "6122"
- "9000"
depends_on:
- jobmanager
command: taskmanager
links:
- "jobmanager:jobmanager"
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
完成 docker-compose 后,我进入 运行ning jobmanager。
nc -l 6123
我是running.Then我在另一个终端的帮助下进入jobmanager容器
./bin/flink run examples/streaming/SocketWindowWordCount.jar -port 6123
我正在按照 Flink 文档中的说明进行操作;
我想要实现的是计算使用 nc 发送的单词并将结果写入 .out 文件。但是这里 flink 在 20 ms 后关闭。当我查看带有 Docker-compose 日志的日志时,我看到它已关闭,因为没有建立连接。我很抱歉我的英语不好。我不知道是什么问题。如果你想了解更多关于该主题的信息,我可以直观地发布我的工作顺序。
问题是实际工作发生在 taskmanager 上。 JobManager 只是协调工作。也就是说尝试在 taskmanager 节点上建立连接。您可以尝试 运行
nc -l 6123
在任务管理器上。
提示一下,使用 Socket 连接的示例不是分布式设置的最佳选择。
以下是我的工作方式:
首先我运行
nc -l 9999
在我笔记本电脑的终端中(不是在容器中)。
然后我运行
./bin/flink run examples/streaming/SocketWindowWordCount.jar --hostname 192.168.1.109 --port 9999
在 jobmanager 容器中,其中 192.168.1.109 是我笔记本电脑的 IP 地址。
最后,我用了
docker logs stuff_taskmanager_1
查看作业的输出(其中 stuff_taskmanager_1
是容器的名称 运行 taskmanager,使用 docker ps
确定)。
我想在 docker 的帮助下使用 Flink。我想 运行 Socketwordcount 实例作为启动。但是在这个阶段我遇到了一个错误。我无法连接套接字。所以在 20 毫秒后,flink 完成工作。
Docker-撰写:
version: "3"
services:
jobmanager:
image: ${FLINK_DOCKER_IMAGE_NAME:-flink:1.3.2-hadoop24-scala_2.11-alpine}
expose:
- "6123"
ports:
- "8081:8081"
command: jobmanager
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
taskmanager:
image: ${FLINK_DOCKER_IMAGE_NAME:-flink:1.3.2-hadoop24-scala_2.11-alpine}
expose:
- "6121"
- "6122"
- "9000"
depends_on:
- jobmanager
command: taskmanager
links:
- "jobmanager:jobmanager"
environment:
- JOB_MANAGER_RPC_ADDRESS=jobmanager
完成 docker-compose 后,我进入 运行ning jobmanager。
nc -l 6123
我是running.Then我在另一个终端的帮助下进入jobmanager容器
./bin/flink run examples/streaming/SocketWindowWordCount.jar -port 6123
我正在按照 Flink 文档中的说明进行操作; 我想要实现的是计算使用 nc 发送的单词并将结果写入 .out 文件。但是这里 flink 在 20 ms 后关闭。当我查看带有 Docker-compose 日志的日志时,我看到它已关闭,因为没有建立连接。我很抱歉我的英语不好。我不知道是什么问题。如果你想了解更多关于该主题的信息,我可以直观地发布我的工作顺序。
问题是实际工作发生在 taskmanager 上。 JobManager 只是协调工作。也就是说尝试在 taskmanager 节点上建立连接。您可以尝试 运行
nc -l 6123
在任务管理器上。
提示一下,使用 Socket 连接的示例不是分布式设置的最佳选择。
以下是我的工作方式:
首先我运行
nc -l 9999
在我笔记本电脑的终端中(不是在容器中)。
然后我运行
./bin/flink run examples/streaming/SocketWindowWordCount.jar --hostname 192.168.1.109 --port 9999
在 jobmanager 容器中,其中 192.168.1.109 是我笔记本电脑的 IP 地址。
最后,我用了
docker logs stuff_taskmanager_1
查看作业的输出(其中 stuff_taskmanager_1
是容器的名称 运行 taskmanager,使用 docker ps
确定)。