【问题标题】:Setup zeppelin in docker without using built-in image在 docker 中设置 zeppelin 而不使用内置图像
【发布时间】:2023-03-08 02:10:01
【问题描述】:

我需要在不使用内置映像的情况下在 docker 中安装 zeppelin,因为它的尺寸很大(以 gb 为单位)。所以我想从二进制文件安装 zeppelin,例如 zeppelin-0.8.2-bin-netinst.tgz(仅 spark 解释器 ~ 318 mb)

我的 Dockerfile

FROM openjdk:8
RUN wget -O /tmp/zeppelin-0.8.2-bin-netinst.tgz https://mirror.downloadvn.com/apache/zeppelin/zeppelin-0.8.2/zeppelin-0.8.2-bin-netinst.tgz
RUN tar -xvzf /tmp/zeppelin-0.8.2-bin-netinst.tgz -C /opt && rm /tmp/zeppelin-0.8.2-bin-netinst.tgz
EXPOSE 8080

我构建 docker 镜像并运行容器

docker build -t test:1.0 .
docker run -p 8080:8080 -it test:1.0 /bin/bash

然后启动zeppelin手册

/opt/zeppelin-0.8.2-bin-netinst/bin/zeppelin-daemon.sh start

我收到了结果

Zeppelin start                                             [  OK  ]

但是当我在 http://localhost:8080/ 从浏览器访问 zeppelin 时。我收到了:

This page isn’t working
localhost didn’t send any data.
ERR_EMPTY_RESPONSE

我尝试运行一些命令 bin/zeppelin.sh 但没有出现 我哪里错了?

我用 docker ps 命令检查我的容器,结果如下:

5d37f4a18a53        test:1.0            "/bin/bash"         27 minutes ago      Up 27 minutes       0.0.0.0:8080->8080/tcp   brave_bardeen

我从 docker 主机远程登录:telnet localhost 8080 并且它工作。为什么我无法从浏览器访问 zeppelin?

感谢和问候

【问题讨论】:

  • 当我在本地安装时,我上面介绍的方式相同。这是工作
  • 我可能会先从官方 docker 基础映像开始,然后删除您不想要的元素。 hub.docker.com/r/apache/zeppelin/dockerfile 但尽管您需要 spark 或 python 或 R.
  • @shaine 感谢您的回复。但是内置的 zeppelin docker 镜像使用 FROM ubuntu:16.04。 Devops 团队推荐给我,我在应用我们公司的 CICD 系统时不要使用它。不要来自ubuntu。有没有其他办法?

标签: docker apache-zeppelin


【解决方案1】:

我发现了一些有用的帖子: Zeppelin fails to load on docker: logErrors docker zeppelin

我们需要设置 ZEPPELIN_ADDR=0.0.0.0,现在我可以从浏览器 localhost 访问 zeppelin

docker run -p 8080:8080 -e ZEPPELIN_ADDR=0.0.0.0 -it test:1.0 /bin/bash

【讨论】:

    猜你喜欢
    • 2019-12-27
    • 2019-12-29
    • 2016-04-02
    • 1970-01-01
    • 1970-01-01
    • 2019-12-21
    • 2019-03-29
    • 1970-01-01
    • 2019-09-23
    相关资源
    最近更新 更多