There's one ticket for unifying zeppelin storage layer.
https://issues.apache.org/jira/browse/ZEPPELIN-2742

But for your case about sharing notebook-authorization across multiple
zeppelin instances, I think this ticket is not enough, it would require
more deep integration with shiro's authorization.

Tan, Jialiang <j...@ea.com>于2017年10月17日周二 下午3:14写道:

> We want to have a Zeppelin service that serves over 200 people in our
> company. So we plan to have around 10 – 15 Zeppelin instances behind an
> ELB. We use S3 as notebook storage, and hence all our Zeppelin instances
> are referring to the same S3 location for notebooks. But there is one thing
> that breaks the whole thing: Zeppelin is storing the notebook authorization
> information into a LOCAL file called notebook-authorization.json. In order
> to solve the problem we setup some NFS like thing to let every Zeppelin
> instance to refer to the same configuration location through FS mount. The
> method has following problems:
>
> 1.       We cannot handle concurrency conditions where multiple Zeppelin
> instances are editing the files at the same time. Some unexpected behaviors
> will happen.
>
> 2.       I found out that Zeppelin only reads the
> notebook-authorization.json file to memory on startup. After startup, it
> only treats the authorization in memory as the source of truth. Zeppelin
> will never read that file anymore unless you restart it. It only writes to
> it, from memory. Therefore even without the concurrency problem described
> in (1), it is not able to get the correct authorization for notebooks after
> other Zeppelin instances change the authorization file.
>
> I know the reasons behind for making authorizations separate from notebook
> but it actually brings up more serious problems like this. Any ideas how to
> tackle this problem and make Zeppelin scalable?
>
>
>

Reply via email to