-
-
Notifications
You must be signed in to change notification settings - Fork 7
Support Zookeeperless NiFi #775
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
61f89d3
Resync Cargo.nix
nightkr fd6ffad
Add Kubernetes state provider
nightkr 914181f
Use raw strings to clean up escaping...
nightkr aaf6c2b
Prefix the Kubernetes state configmaps by the actual stacklet name, r…
nightkr e4609dc
Make clustering mode configurable, add Kubernetes mode
nightkr 7daf23e
Regenerate CRD
nightkr 82a9bf6
Rewrite zookeeperConfigMapName docs to emphasize that it is optional …
nightkr 0ff1c22
Update docs to mention Kubernetes backend
nightkr 1aa50cf
Rename clustering_mode to clustering_backend
nightkr f1a3368
Make the nifi prepare script more idempotent
nightkr db206b8
Only include the used cluster state provider in xml config
nightkr ef63fa9
Add test
nightkr 4f63520
Explicitly fail when trying to use NiFi 1.x in zookeeperless mode
nightkr 212bdff
Minor docs rewording
nightkr 1eb1b66
Merge branch 'main' into feature/zkless
nightkr a86fff8
Fix a compile error that I missed
nightkr fc3b295
refmt with the right rustfmt version
nightkr 69bb4cc
refmt python
nightkr cc48070
Changelog
nightkr 2776378
Update CHANGELOG.md
nightkr 8824341
Merge branch 'main' into feature/zkless
maltesander a7a1bb6
split smoke test into v1 and v2
maltesander 52b67d2
newline
maltesander af379f3
rename dimensions
maltesander d02c82d
remove trailing spaces
maltesander c6e3b28
Formatting
nightkr File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
= Clustering | ||
:description: Apache NiFi requires a backend for cluster management, and supports either Kubernetes or Apache ZooKeeper. | ||
:page-aliases: usage_guide/zookeeper-connection.adoc | ||
|
||
Apache NiFi requires{empty}footnote:[Apache NiFi also supports a single-node mode with no cluster backend, but this is not supported by the Stackable Operator for Apache NiFi. The Stackable Operator does require a cluster backend.] an external backend for state management and leader election. | ||
|
||
Currently, the Stackable Operator for Apache NiFi supports the following backends: | ||
|
||
- xref:#backend-kubernetes[] | ||
- xref:#backend-zookeeper[] | ||
|
||
CAUTION: The cluster backend of an existing cluster should never be changed. Otherwise data loss may occur, both due to losing NiFi processor state, and due to potential split-brain scenarios during the migration. | ||
|
||
[#backend-kubernetes] | ||
== Kubernetes | ||
|
||
NOTE: The Kubernetes provider is only supported by Apache NiFi 2.0 or newer. When using NiFi 1.x, use the xref:#backend-zookeeper[] backend instead. | ||
|
||
The Kubernetes backend is used by default (unless the xref:#backend-zookeeper[] backend is configured), and stores all state in Kubernetes objects, in the same namespace as the `NifiCluster` object. | ||
|
||
It takes no configuration. | ||
|
||
[#backend-zookeeper] | ||
== Apache ZooKeeper | ||
|
||
NiFi can also be configured to store its state in Apache ZooKeeper. | ||
|
||
NiFi in cluster mode requires an Apache ZooKeeper ensemble for state management and leader election purposes, the Stackable operator for Apache NiFi does not support single node deployments without ZooKeeper, hence this is a required setting. | ||
|
||
This is enabled by setting the `spec.clusterConfig.zookeeperConfigMapName` to a xref:concepts:service-discovery.adoc[discovery ConfigMap]: | ||
|
||
[source,yaml] | ||
---- | ||
spec: | ||
clusterConfig: | ||
zookeeperConfigMapName: simple-nifi-znode | ||
---- | ||
|
||
The ConfigMap needs to contain two keys: `ZOOKEEPER_HOSTS` containing the value being the ZooKeeper connection string, and `ZOOKEEPER_CHROOT` containing the ZooKeeper chroot. | ||
|
||
The xref:zookeeper:index.adoc[Stackable operator for Apache ZooKeeper] automatically creates this ConfigMap for every ZookeeperZnode object. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
14 changes: 0 additions & 14 deletions
14
docs/modules/nifi/pages/usage_guide/zookeeper-connection.adoc
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.