Github user andrewmlim commented on a diff in the pull request:
https://github.com/apache/nifi/pull/1246#discussion_r88743987
--- Diff: nifi-docs/src/main/asciidoc/administration-guide.adoc ---
@@ -1599,7 +1599,97 @@ java.arg.16=-Dsun.security.krb5.debug=true
This will cause the debug output to be written to the NiFi Bootstrap log
file. By default, this is located at _$NIFI_HOME/logs/nifi-bootstrap.log_.
This output can be rather verbose but provides extremely valuable
information for troubleshooting Kerberos failures.
+[[zookeeper_migrator]]
+=== ZooKeeper Migrator
+You can use the NiFi ZooKeeper Migrator to perform the following tasks:
+* Move ZooKeeper information from one ZooKeeper cluster to another
+* Migrating ZooKeeper node ownership
+
+For example, you may want to use the ZooKeeper Migrator when you are:
+
+* Upgrading from NiFi 0.x to NiFi 1.x in which embedded ZooKeepers are used
+* Migrating from an embedded ZooKeeper in NiFi 0.x or 1.x to an external
ZooKeeper
+* Upgrading from NiFi 0.x with an external ZooKeeper to NiFi 1.x with the
same external ZooKeeper
+* Migrating from an external ZooKeeper to an embedded ZooKeeper in NiFi 1.x
+
+The NiFi ZooKeeper Migrator (`zk-migrator.sh`) is part of the NiFi Toolkit
and is downloaded separately from the
+link:https://nifi.apache.org/download.html[Apache NiFi download page].
+
+[[zk_migrator_command_line_parameters]]
+==== zk-migrator.sh Command Line Parameters
+
+You can use the following command line options with the ZooKeeper Migrator:
+
+* `-a,--auth <username:password>` Allows the specification
of a username and password for authentication with ZooKeeper. This option is
mutually exclusive with the `-k,--krb-conf` option.
+* `-f,--file <filename>` The file to be used for
JSON data. When used with the `-r,--receive` option, data read from ZooKeeper
will be stored in the given filename. When used with the `-s,--send` option,
the data in the file will be sent to ZooKeeper.
+* `-h,--help` Prints help, displays
available parameters with descriptions
+* `--ignore-source` Allows the ZooKeeper
Migrator to write to the ZooKeeper and path from which the data was obtained.
+* `-k,--krb-conf <jaas-filename>` Allows the specification
of a JAAS configuration file to allow authentication with a ZooKeeper
configured to use Kerberos. This option is mutually exclusive with the
`-a,--auth` option.
+* `-r,--receive` Receives data from
ZooKeeper and writes to the given filename (if the `-f,--file` option is
provided) or standard output. The data received will contain the full path to
each node read from ZooKeeper. This option is mutually exclusive with the
`-s,--send` option.
+* `-s,--send` Sends data to ZooKeeper
that is read from the given filename (if the `-f,--file` option is provided) or
standard input. The paths for each node in the data being sent to ZooKeeper are
absolute paths, and will be stored in ZooKeeper under the *path* portion of the
`-z,--zookeeper` argument. Typically, the *path* portion of the argument can
be omitted, which will store the nodes at their absolute paths. This option is
mutually exclusive with the `-r,--receive` option.
+* `-z,--zookeeper <zookeeper-endpoint>` The ZooKeeper server to
use, specified by a connection string with path, in the format of
_host:port/znode/path_.
+
+[[migrating_between_source_destination_zookeepers]]
+==== Migrating Between Source and Destination ZooKeepers
+
+Before you begin, confirm that:
+
+* You have installed the destination ZooKeeper cluster.
+* You have installed and configured a NiFi cluster to use the destination
ZooKeeper cluster.
+* If you are migrating ZooKeepers due to upgrading NiFi from 0.x to 1.x,,
you have already followed appropriate NiFi upgrade steps.
+* You have configured Kerberos as needed.
+* You have not started processing any dataflow (to avoid duplicate data
processing).
+* If one of the ZooKeeper clusters you are using is configured with
Kerberos, you are running the ZooKeeper Migrator from a host that has access to
NiFiâs ZooKeeper client jaas configuration file (see <<zk_kerberos_client>>
for more information).
+
+1. Collect the following information:
+
+|====
+|*Required Information*|*Description*
+|Source ZooKeeper hostname (*sourceHostname*)|The hostname must be one of
the hosts running in the ZooKeeper ensemble, which can be found in <NiFi
installation dir>/conf/zookeeper.properties. Any of the hostnames declared in
the *server.N* properties can be used.
+|Destination ZooKeeper hostname (*destinationHostname*)|The hostname must
be one of the hosts running in the ZooKeeper ensemble, which can be found in
<NiFi installation dir>/conf/zookeeper.properties. Any of the hostnames
declared in the *server.N* properties can be used.
+|Source ZooKeeper port (*sourceClientPort*)|This can be found in
*zookeeper.properties* of the <NiFi installation
dir>/conf/zookeeper.properties. The port is specified in the *clientPort*
property.
+|Destination ZooKeeper port (*destinationClientPort*)|This can be found in
*zookeeper.properties* of the <NiFi installation
dir>/conf/zookeeper.properties. The port is specified in the *clientPort*
property.
+|Export data path|Determine the path that will store a json file
containing the export of data from ZooKeeper. It must be readable and writable
by the user running the zk-migrator tool.
+|Source ZooKeeper Authentication Information|This information is in <NiFi
installation dir>/conf/state-management.xml. For NiFI 0.x, if Creator Only is
specified in state-management.xml, you need to supply authentication
information using the `-a,--auth` argument with the values from the Username
and Password properties in state-management.xml. For NiFi 1.x, supply
authentication information using the `-k,--krb-conf` argument.
+
+If the state-management.xml specifies Open, no authentication is required.
+|Destination ZooKeeper Authentication Information|This information is in
<NiFi installation dir>/conf/state-management.xml. For NiFI 0.x, if Creator
Only is specified in state-management.xml, you need to supply authentication
information using the `-a,--auth` argument with the values from the Username
and Password properties in state-management.xml. For NiFi 1.x, supply
authentication information using the `-k,--krb-conf` argument.
--- End diff --
thanks
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---