注意:如果是基于 Kubernetes 容器的话,部署 Zeppelin 无法使用。

1. 下载

在官网下载页面 https://zeppelin.apache.org/download.html 下载 Zeeplin 安装包,历史版本可选择在 https://archive.apache.org/dist/ 下载。

  1. $ wget -c https://dlcdn.apache.org/zeppelin/zeppelin-0.10.0/zeppelin-0.10.0-bin-all.tgz
  2. $ tar vf zeppelin-0.10.0-bin-all.tgz -C ~/bigdata
  3. $ mv zeppelin-0.10.0-bin-all zeppelin-0.10.0

2. 修改配置文件

  1. $ cp conf/zeppelin-site.xml.template conf/zeppelin-site.xml
  2. $ alias zeppelin=/home/yumingmin/bigdata/zeppelin-0.10.0-bin-all/bin/zeppelin-daemon.sh # 可添加到配置环境中

主要修改 IP 、端口、 notebook 路径以及 Job Manager 的部分:

  1. <property>
  2. <name>zeppelin.server.addr</name>
  3. <value>0.0.0.0</value>
  4. <description>Server binding address</description>
  5. </property>
  6. <property>
  7. <name>zeppelin.server.port</name>
  8. <value>8998</value>
  9. <description>Server port.</description>
  10. </property>
  11. <property>
  12. <name>zeppelin.notebook.dir</name>
  13. <value>/opt/workspace/khzx_team_drive/yumingmin/notebooks</value>
  14. <description>path or URI for notebook persist</description>
  15. </property>
  16. <property>
  17. <name>zeppelin.jobmanager.enable</name>
  18. <value>true</value>
  19. <description>The Job tab in zeppelin page seems not so useful instead it cost lots of memory and affect the performance.
  20. Disable it can save lots of memory</description>
  21. </property>

3. 设置用户登录验证

Zeeplin 默认使用时 Shiro 进行验证的,但是它也支持 LDAP 的方式来进行用户验证。

  1. $ cp conf/shiro.ini.template conf/shiro.ini

修改 conf/shiro.ini 配置文件,其余暂不需要修改

  1. [users]
  2. admin = admin, admin
  3. yumingmin = yumingmin, role1

4. 安装Python相关库

如果需要跑通 Zeeplin 官方提供的所有 Python 示例,需要安装以下库:

  1. $ conda install matplotlib pandas grpcio protobuf jupyter seaborn
  2. $ conda install bokeh Holoviews altair hvplot plotly intake vega_datasets
  3. $ pip install ipykernel pyspark plotnine intake-parquet msgpack intake-xarray keras==2.4.0 tensorflow==2.4.0

Zepplin 需要使用 Python 3.7.11,使用 3.8 以上会有 BUG,会报 TypeError: required field “type_ignores“ missing from Module 错误

5. 安装 R 解释器

  1. $ install.packages('IRkernel', repos = 'https://mirrors.tuna.tsinghua.edu.cn/CRAN/')
  2. $ IRkernel::installspec()
  3. $ install.packages(c('devtools', 'ggplot2', 'knitr'), repos = 'https://mirrors.tuna.tsinghua.edu.cn/CRAN/')
  4. $ install.packages(c('devtools','mplot', 'googleVis'), repos = 'https://mirrors.tuna.tsinghua.edu.cn/CRAN/'); require(devtools); install_github('ramnathv/rCharts')
  5. $ install.packages(c('markdown', 'data.table', 'knitr'), repos = 'https://mirrors.tuna.tsinghua.edu.cn/CRAN/')

报错:No module named ‘mpl_config’
image.png
image.png
[

](https://www.cnblogs.com/huanghanyu/p/13792739.html)

Kubernetes 上并不行,使用任何解释器报错:

  1. io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: POST at: https://kubernetes.default.svc/api/v1/namespaces/default/pods. Message: Forbidden!Configured service account doesn't have access. Service account may have been revoked. pods is forbidden: User "system:serviceaccount:default:default" cannot create resource "pods" in API group "" in the namespace "default".