Zeppelin Docker解释器配置

时间:2018-10-25 06:18:18

标签: docker apache-zeppelin

我已经在本地系统中创建了Zeppelin docker映像,并通过maven存储库配置了Spark Interpreter,并运行了Zeppelin。但是当我停止Docker并再次运行时,解释器绑定消失了。如何解决这个问题?我希望一次性解释器绑定,以便每当我停止docker并再次运行时,它都必须按原样存储这些解释器绑定。

3 个答案:

答案 0 :(得分:0)

解释器绑定存储在conf/interpreter.json中。需要使用外部interpreter.json文件。

答案 1 :(得分:0)

将文件挂载到docker run很容易-只需将其传递到--volume参数即可。但是在齐柏林飞艇的情况下,那里已经预先配置了一些参数,因此用空文件替换它很可能不是您想要实现的。因此,我建议您首先从容器中获取具有默认内容的文件,然后在下一次运行时将其安装到该文件。请按照分步说明进行操作:

  1. 首先,我们为嵌套运行准备默认配置。

    1. 运行默认容器临时
      sudo docker run -d --name zeppelin-test apache/zeppelin:0.8.1
      
    2. 并从中获取默认配置:
      mkdir -p conf
      sudo docker zeppelin-test cat /zeppelin/conf/interpreter.json > conf/interpreter.json
      
      

    注释1 :它将不会用于工作,因此大多数参数都不重要。仅需进行一次设置即可!

         

    注释2 :由于不幸的是,该配置在启动时就填充了,因此您无法像sudo docker run --rm apache/zeppelin:0.8.1 cat /zeppelin/conf/interpreter.json

    那样在单次运行中获得
  2. 现在我们可以将其用作绑定安装。

    1. 如果您使用不带docker-compose的直接docker run方法,请添加选项,其中包括:--volume $(pwd)/conf/interpreter.json:/zeppelin/conf/interpreter.json
    2. 但是我建议使用docker-compose,因此在volumes:键下有一个选项,如- ./conf/interpreter.json:/zeppelin/conf/interpreter.json。完整示例:

      version: '3.7'
      
      services:
        zeppelin:
          image: apache/zeppelin:0.8.1
          ports:
            - "7077:7077"
            - "8080:8080"
          volumes:
            - ./logs:/logs
            - ./notebook:/notebook
            - ./conf/interpreter.json:/zeppelin/conf/interpreter.json
          environment:
            ZEPPELIN_NOTEBOOK_DIR: /notebook
            ZEPPELIN_LOG_DIR: /logs
      

      然后从该目录运行:

      docker-compose up -d
      

答案 2 :(得分:0)

您需要3个卷来进行持久配置,包括解释器,笔记本和日志。

docker volume create zeppelin-conf
docker volume create zeppelin-notebook
docker volume create zeppelin-logs

运行已安装上述卷的容器。

docker run -d --restart always -p 8080:8080 -v zeppelin-conf:/zeppelin/conf -v zeppelin-notebook:/zeppelin/notebook -v zeppelin-log:/zeppelin/logs apache/zeppelin:0.8.1

如果您只想保留解释器,则可以使用以下几行:

docker volume create zeppelin-conf
docker run -d --restart always -p 8080:8080 -v zeppelin-conf:/zeppelin/conf apache/zeppelin:0.8.1

配置文件,包括位于以下位置的解释器:/zeppelin/conf
笔记本:/zeppelin/notebook
日志:/zeppelin/logs