迁移数据流 NIFI
Migrate Dataflow NIFI
我在独立版本中使用 NIFI,现在我已经安装了带有 HDF 的集群 NIFI 版本,我想将我的 DataFlow 从我的独立版本迁移到集群版本。
最好的方法是什么?
假设您的独立 NiFi 中有活动数据,您会:
- 停止所有源处理器并让您的流量流出,直到任何队列中都没有活动数据。
- 停止 HDF 集群
- 停止独立实例并将 conf/flow.xml.gz 从独立实例复制到位于 /var/lib/nifi/conf/
的 HDF 集群的每个节点
- 启动您的 HDF 集群
如果您不关心独立 NiFi 中发生的任何事情,请跳过第一步。
更新:
另一个考虑因素是处理敏感属性(即处理器中的密码字段)...
在 nifi.properties 中,属性 nifi.sensitive.props.key 用于加密流中的敏感属性。xml.gz。您不必为此 属性 填写值,如果您将其留空,则代码中有一个默认密码。
HDF 的 Ambari 安装会强制您为 nifi.sensitive.props.key 设置一个值,因此除非您在两个实例上设置相同的值,否则 HDF 集群将尝试解密流中的值。xml.gz 使用与加密时不同的密钥。
nifi-toolkit(可以从 NiFi 主页下载)提供了一个工具来迁移流的敏感属性键。xml.gz 到一个新值。
这是一个例子...
假设 nifi-1 是原始 NiFi 实例,nifi-1 的敏感属性键设置为 'password1'。
然后你复制了 flow.xml.gz 到 nifi-2 并且 nifi-2 的敏感属性键是 'password2'.
运行 该命令将在流中读取。xml.gz 使用原始敏感属性密钥从 nifi-1 中读取,并在 nifi-2 中写出新版本,并加密敏感属性使用新密码:
./nifi-toolkit-1.2.0-SNAPSHOT/bin/encrypt-config.sh -f /path/to/nifi-1/conf/flow.xml.gz -g /path/to/nifi-2/conf/flow.xml.gz -s password2 -n /path/to/nifi-1/conf/nifi.properties -o /path/to/nifi-2/conf/nifi.properties -x
- -f为源流xml.gz(nifi-1)
- -g 是目标流。xml.gz (nifi-2)
- -s 是新的敏感属性密钥(nifi-2)
- -n是来源nifi.properties(nifi-1)
- -o 是目的地nifi.properties (nifi-2)
- -x 告诉它只处理敏感属性
我在独立版本中使用 NIFI,现在我已经安装了带有 HDF 的集群 NIFI 版本,我想将我的 DataFlow 从我的独立版本迁移到集群版本。
最好的方法是什么?
假设您的独立 NiFi 中有活动数据,您会:
- 停止所有源处理器并让您的流量流出,直到任何队列中都没有活动数据。
- 停止 HDF 集群
- 停止独立实例并将 conf/flow.xml.gz 从独立实例复制到位于 /var/lib/nifi/conf/ 的 HDF 集群的每个节点
- 启动您的 HDF 集群
如果您不关心独立 NiFi 中发生的任何事情,请跳过第一步。
更新:
另一个考虑因素是处理敏感属性(即处理器中的密码字段)...
在 nifi.properties 中,属性 nifi.sensitive.props.key 用于加密流中的敏感属性。xml.gz。您不必为此 属性 填写值,如果您将其留空,则代码中有一个默认密码。
HDF 的 Ambari 安装会强制您为 nifi.sensitive.props.key 设置一个值,因此除非您在两个实例上设置相同的值,否则 HDF 集群将尝试解密流中的值。xml.gz 使用与加密时不同的密钥。
nifi-toolkit(可以从 NiFi 主页下载)提供了一个工具来迁移流的敏感属性键。xml.gz 到一个新值。
这是一个例子...
假设 nifi-1 是原始 NiFi 实例,nifi-1 的敏感属性键设置为 'password1'。
然后你复制了 flow.xml.gz 到 nifi-2 并且 nifi-2 的敏感属性键是 'password2'.
运行 该命令将在流中读取。xml.gz 使用原始敏感属性密钥从 nifi-1 中读取,并在 nifi-2 中写出新版本,并加密敏感属性使用新密码:
./nifi-toolkit-1.2.0-SNAPSHOT/bin/encrypt-config.sh -f /path/to/nifi-1/conf/flow.xml.gz -g /path/to/nifi-2/conf/flow.xml.gz -s password2 -n /path/to/nifi-1/conf/nifi.properties -o /path/to/nifi-2/conf/nifi.properties -x
- -f为源流xml.gz(nifi-1)
- -g 是目标流。xml.gz (nifi-2)
- -s 是新的敏感属性密钥(nifi-2)
- -n是来源nifi.properties(nifi-1)
- -o 是目的地nifi.properties (nifi-2)
- -x 告诉它只处理敏感属性