基于Docker Container运行Flink1.7.1 Local Cluster模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Docker Container运行Flink1.7.1 Local Cluster模式相关的知识,希望对你有一定的参考价值。

1. 编辑相关脚本

1.1 接入点脚本

docker-entrypoint.sh

#!/bin/bash
set -e

exec "[email protected]"

1.2 启动脚本

start.sh

#!/usr/bin/env bash

bin/start-cluster.sh

while true
do
    echo "======="
    sleep 60s
done

1.3 Dockerfile

FROM lynn/jdk:1.8.0_172
LABEL maintainer="Lynn Yuan <[email protected]>"

ENV FLINK_HOME /flink
ENV FLINK_VERSION  1.7.1
ENV HADOOP_VERSION 27

ENV TAR flink-${FLINK_VERSION}-bin-hadoop${HADOOP_VERSION}-scala_2.11.tgz
ENV TAR_URL http://mirrors.hust.edu.cn/apache/flink/flink-${FLINK_VERSION}/${TAR}

ENV PATH ${FLINK_HOME}/bin:$PATH

RUN set -x         && apt-get update         && apt-get install -y wget vim curl net-tools telnet procps nmap        && wget ${TAR_URL}

RUN set -x         && mkdir ${FLINK_HOME}        && tar zxvf ${TAR} -C ${FLINK_HOME}         && mv ${FLINK_HOME}/flink-${FLINK_VERSION}/*  ${FLINK_HOME}         && rm -rf ${FLINK_HOME}/flink-${FLINK_VERSION}         && rm -rf ${TAR}

ADD docker-entrypoint.sh /docker-entrypoint.sh
ADD start.sh /start.sh
RUN set -x     && chmod +x /docker-entrypoint.sh     && chmod +x /start.sh

WORKDIR ${FLINK_HOME}
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["/start.sh"]

EXPOSE 8081
EXPOSE 6123

2. 使用Dockerfile build image

docker build --rm -t lynn/flink:1.7.1  .

3. 运行容器

docker run -idt --name=flink -p 18081:8081 lynn/flink:1.7.1

在浏览器中输入如下Url:
http://localhost:18081/

截图如下:
技术分享图片

以上是关于基于Docker Container运行Flink1.7.1 Local Cluster模式的主要内容,如果未能解决你的问题,请参考以下文章

基于Docker快速搭建Hadoop集群和Flink运行环境

apache flink docker-compose 运行试用

Flink - The heartbeat of TaskManager with id container timed out 分析与 Heartbeat 简介

将Kubernetes的Runtime由Docker修改为containerd

Hadoop Yarn on Docker

我奶奶都能懂docker基本操作