Hi, I'm setting up a Dockerfile to run Zeppelin using the Flink interpreter. I'm starting from the Docker image apache/zeppelin:0.9.0 and following the instructions on https://medium.com/@zjffdu/flink-on-zeppelin-part-1-get-started-2591aaa6aa47 to download flink-1.10.0-bin-scala_2.11.tgz and flink-shaded-hadoop-2-2.8.3-10.0.jar. This is mostly working, except for the fact that I have to manually configure FLINK_HOME in the Zeppelin UI to have it pointing to the path where I have installed Flink, in my case /opt/flink/latest. When I do that I am able to use the Flink interpreters. I have tried to setup that in the Dockerfile, but I'm not sure which files I have to edit:
- I have tried editing /zeppelin/conf/interpreter.json, but it looks like it is generated the first time Zeppelin runs, the file doesn't exist while I build the Docker image - I have tried editing /zeppelin/interpreter/flink/interpreter-setting.json instead, but it has no effect. I used the following statements in my Dockerfile: WORKDIR /zeppelin RUN apt-get install -y jq \ && FLINK_CONF_FILE=interpreter/flink/interpreter-setting.json \ && cp "${FLINK_CONF_FILE}" "${FLINK_CONF_FILE}.bak" \ && jq '.[0].properties.FLINK_HOME.value = "/opt/flink/latest"' "${FLINK_CONF_FILE}" > "${FLINK_CONF_FILE}.new" \ && mv "${FLINK_CONF_FILE}.new" "${FLINK_CONF_FILE}" - I have tried editing /zeppelin/conf/zeppelin-env.sh, but it also has no effect. I used the following statements in my Dockerfile WORKDIR /zeppelin RUN cp conf/zeppelin-env.sh.template conf/zeppelin-env.sh \ && echo 'export FLINK_HOME=/opt/flink/latest' >> conf/zeppelin-env.sh \ && echo '' >> conf/zeppelin-env.sh Which file should I edit to setup FLINK_HOME from a script? Any idea what am I doing wrong? I guess this should be the same as setting up any Zeppelin configuration key, so this is quite a basic question, but I have a very rudimentary knowledge of Zeppelin. Thanks a lot for your help Juan