You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zeppelin.apache.org by liuxunorg <gi...@git.apache.org> on 2018/08/21 16:17:09 UTC
[GitHub] zeppelin pull request #3156: [ZEPPELIN-3610] Cluster Raft module design
GitHub user liuxunorg opened a pull request:
https://github.com/apache/zeppelin/pull/3156
[ZEPPELIN-3610] Cluster Raft module design
### What is this PR for?
By using the Raft protocol, multiple Zeppelin-Server groups are built into a Zeppelin cluster, the cluster State Machine is maintained through the Raft protocol, and the services in the cluster are agreed upon. The Zeppelin-Server and Zeppelin-Interperter services and processes are stored in the Cluster MetaData. Metadata information;
### What type of PR is it?
[Feature]
### Todos
* [x] add raft algorithm atomix jar
* [x] add cluster state machine
* [x] add state machine query command
* [x] add state machine delete command
* [x] add state machine put command
* [x] Isolate the netty JAR package introduced by atomix
### What is the Jira issue?
* https://issues.apache.org/jira/browse/ZEPPELIN-3610
### How should this be tested?
[CI pass](https://travis-ci.org/liuxunorg/zeppelin/builds/418742522)
### Screenshots (if appropriate)
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? Yes
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/liuxunorg/zeppelin ZEPPELIN-3610
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/zeppelin/pull/3156.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3156
----
commit 99cec8c8a204e9e20716c6721d82574da4d1e823
Author: liuxunorg <33...@...>
Date: 2018-08-21T14:57:44Z
[ZEPPELIN-3610] Cluster Raft module design
### What is this PR for?
By using the Raft protocol, multiple Zeppelin-Server groups are built into a Zeppelin cluster, the cluster State Machine is maintained through the Raft protocol, and the services in the cluster are agreed upon. The Zeppelin-Server and Zeppelin-Interperter services and processes are stored in the Cluster MetaData. Metadata information;
### What type of PR is it?
[Feature]
### Todos
* [x] add raft algorithm atomix jar
* [x] add cluster state machine
* [x] add state machine query command
* [x] add state machine delete command
* [x] add state machine put command
* [x] Isolate the netty JAR package introduced by atomix
### What is the Jira issue?
* https://issues.apache.org/jira/browse/ZEPPELIN-3610
### How should this be tested?
CI pass
### Screenshots (if appropriate)
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? Yes
----
---
[GitHub] zeppelin issue #3156: [ZEPPELIN-3610] Cluster Raft module design
Posted by liuxunorg <gi...@git.apache.org>.
Github user liuxunorg commented on the issue:
https://github.com/apache/zeppelin/pull/3156
@jongyoul @zjffdu ,I have followed the advice you put forward last time https://github.com/apache/zeppelin/pull/3074 . Change COPYCAT to ATOMIX library, please review my code, thank you!
---
[GitHub] zeppelin pull request #3156: [ZEPPELIN-3610] Cluster Raft module design
Posted by liuxunorg <gi...@git.apache.org>.
Github user liuxunorg closed the pull request at:
https://github.com/apache/zeppelin/pull/3156
---
[GitHub] zeppelin issue #3156: [ZEPPELIN-3610] Cluster Raft module design
Posted by liuxunorg <gi...@git.apache.org>.
Github user liuxunorg commented on the issue:
https://github.com/apache/zeppelin/pull/3156
Thanks @zjffdu , This zeppelin-interpreter-api module is very much needed to solve the problem of package conflicts. I will wait for you to submit to the master. I am re-editing my code.
---
[GitHub] zeppelin issue #3156: [ZEPPELIN-3610] Cluster Raft module design
Posted by zjffdu <gi...@git.apache.org>.
Github user zjffdu commented on the issue:
https://github.com/apache/zeppelin/pull/3156
Thanks @liuxunorg , but the shade part does not seem correct to me. I make a simple PR to implement that. https://github.com/zjffdu/zeppelin/commit/a82dc24adace704979b866f36459df61a70d0632
I think we need to introduce another module zeppelin-interpreter-api which shade all dependencies of zeppelin-interpreter, and all the interpreter modules depends on this module instead of zeppelin-interpreter so that we can avoid the potential conflict of some interpreter module and zeppelin-interpreter
---