实战之通过Zeppelin部署在K8S上使用FlinkSQL(已在生产环境跑通版)

下载zeppelin-0.9.0-preview2-bin-all.tgz

截止到目前止,zeppelin官方并没有提供zeppelin-0.9.0-preview2的官方镜像,因此我们下载tar包
http://www-eu.apache.org/dist/zeppelin/zeppelin-0.9.0-preview2/zeppelin-0.9.0-preview2-bin-all.tgz

使用docker构建自定义Zeppelin镜像

为什么要自定义镜像呢?因为Zeppelin需要配置本地Flink Client,而官方Zeppelin镜像中是没有Flink Client的。从Flink官方镜像中拉去Flink

Dockerfile

FROM flink:1.11.1-scala_2.11 as flink

# base image
FROM 'JDK镜像,请用自己的替代,这个镜像必须设置好JAVA_HOME'

# 创建/data以及相关子目录 并赋予权限
RUN sudo mkdir -p /data/flink/          && \
    sudo mkdir -p /data/dependency/          && \
    sudo chown -R ${AppUser}:${AppGroup} /data

USER root

# copy binary
COPY --from=flink /opt/flink/ /data/flink
COPY ./zeppelin.tgz /data
RUN tar -zxvf /data/zeppelin.tgz && \
    mv /data/zeppelin-0.9.0-preview2-bin-all /data/zeppelin

# 将Zeppelin自定义的配置文件拷贝,覆盖tar包中的文件
COPY ./zeppelin/* /data/zeppelin/conf/
# 将Flink需要使用的第三方依赖拷贝到pod中
COPY ./lib/* /data/dependency/

RUN chown -R ${AppUser}:${AppGroup} .

USER 'XXX' 比如USER zhangsan
# copy dependency lib
RUN cp /data/flink/opt/flink-s3-fs-hadoop-*.jar /data/flink/lib/ && \
    cp /data/flink/plugins/metrics-prometheus/flink-metrics-prometheus-*.jar /data/flink/lib/ && \
    rm -rf /data/zeppelin/conf/*.template

RUN sudo chown -R ${AppUser}:${AppGroup} /data

# set workdir
WORKDIR /data
# 启动Zeppelin
CMD ["/bin/bash","-c","bash /data/zeppelin/bin/zeppelin-daemon.sh start"]

更多本文内容可以查看公众号:BeBetter4Me
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Better~Me

谢谢小可爱,希望你每天都开心~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值