Zeppelin启动报错:Creating directories for _notebook_.git failed

Zeppelin启动报错:Creating directories for notebook.git failed

一、背景和报错

背景:在使用docker快速搭建Flink开发环境的时候使用了zeppelin记事本作为Flink开发工具,在启动Zeppelin的时候报错。

zeppelin官方文档:

  1. 启动命令
docker run -u $(id -u) -p 8888:8080 --rm -v /opt/docker/zeppelin/logs:/logs -v /opt/docker/zeppelin/notebook:/notebook \
  -v /opt/modules/spark-3.0.0-bin-hadoop3.2:/opt/spark -v /opt/modules/flink-1.14.6:/opt/flink \
  -e FLINK_HOME=/opt/flink -e SPARK_HOME=/opt/spark \
  -e ZEPPELIN_LOG_DIR='/logs' -e ZEPPELIN_NOTEBOOK_DIR='/notebook' --name zeppelin apache/zeppelin:0.10.1

一定要配置 -v /opt/modules/flink-1.14.6:/opt/flink -e FLINK_HOME=/opt/flink这两个映射,不然启动后配置Flink时会一直报FLINK_HOME not find

spark文件路径映射如果不需要可以去掉。根据自己的需要配置

  1. 报错详情
ERROR [2023-03-17 01:33:32,943] ({main} ZeppelinServer.java[main]:262) - Error while running jettyServer
java.lang.Exception: A MultiException has 2 exceptions.  They are:
1. java.io.IOException: Creating directories for /notebook/.git failed
2. java.lang.IllegalStateException: Unable to perform operation: create on org.apache.zeppelin.notebook.repo.NotebookRepoSync

	at org.apache.zeppelin.server.ZeppelinServer.main(ZeppelinServer.java:256)
Caused by: A MultiException has 2 exceptions.  They are:
1. java.io.IOException: Creating directories for /notebook/.git failed
2. java.lang.IllegalStateException: Unable to perform operation: create on org.apache.zeppelin.notebook.repo.NotebookRepoSync

	at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:368)
	at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:463)
	at org.glassfish.hk2.utilities.ImmediateContext.findOrCreate(ImmediateContext.java:111)
	at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2102)
	at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:93)
	at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:67)
	at org.glassfish.hk2.utilities.ImmediateContext.doWork(ImmediateContext.java:290)
	at org.glassfish.hk2.internal.ImmediateHelper.run(ImmediateHelper.java:233)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Creating directories for /notebook/.git failed

二、排查思路

  1. 首先分析报错原因是创建文件夹失败,查找到Docker文件夹映射目录权限都是root,然后在docker启动命令中有个-u $(id -u)参数,这个参数是指定用户为当前用户,于是对映射路径进行授权
chown admin:admin /opt/docker/zeppelin
  1. 重新指定创建容器命令,可以启动。
  2. 打开web界面运行flink脚本,可以运行

image.png

三、其他解决思路分析

这次我是使用手动授权的方式对这个路径进行授权,当我做完这个操作的时候突然想起来我们使用docker 的时候有一个参数 --privileged ,我感觉非常有可能是没有加这个参数导致权限不够的,由于本地已经起来了,就没再尝试增加这个参数。

因为zeppelin启动命令是通过zeppelin官网查找的,除了映射文件路径外没再做其他的变更,所以增加 --privileged我觉得也能解决这个问题

结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

4935同学

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值