我在使用NiFi…MiNiFi时遇到了一些挑战。我们使用MiNiFi将日志从远程系统运送到NiFi实例,再从那里运到Kafka和Elasticsearch。我们可以在没有https的情况下成功完成此操作。但是,最近,我受命使用https安全地进行此操作。
使用证书,我可以连接到NiFi UI,挑战在于MiNiFi无法连接到远程NiFi上的RPG,并且出现错误“无法通过URI https://xxxx.com:9443/nifi与远程NiFi通信由于:收到致命警报:handshake_failure“ 。我怀疑这是由于下面的错误
2018-07-23 16:27:23,083信息[main] o.apache.nifi.controller.FlowController由于nifi.remote.input.socket.port是启用了未启用RAW套接字站点到站点功能未设置
2018-07-23 16:27:23,083信息[main] o.apache.nifi.controller.FlowController由于启用了'nifi.remote.input,因此未启用HTTP(S)站点到站点功能。 http.enabled'属性为true
我试图在MiNiFi的nifi.properties文件中设置这些属性,但是每次重新启动时,该文件始终会被覆盖并加载默认值。 请问,您对解决此问题有任何想法吗?
如何在启动时在config.yml文件或任何其他地方引导这些设置?
答案 0 :(得分:0)
您需要在从NiFi导出到MiNiFi的原始流程中进行设置。根据提供的nifi.properties
文件自动生成MiNiFi实例的config.yml
。该文件是通过使用MiNiFi Converter Toolkit转换导出的模板XML文件生成的。
有关更多信息,您可以观看these videos或阅读Getting Started Guide。
您将要在config.yml
中查找以下内容:
Security Properties:
keystore: /tmp/ssl/localhost-ks.jks
keystore type: JKS
keystore password: localtest
key password: localtest
truststore: /tmp/ssl/localhost-ts.jks
truststore type: JKS
truststore password: localtest
ssl protocol: TLS
Sensitive Props:
key:
algorithm: PBEWITHMD5AND256BITAES-CBC-OPENSSL
provider: BC
Remote Processing Groups:
- name: http://localhost:8080/nifi
url: http://localhost:8080/nifi
comment: ''
timeout: 30 sec
yield period: 10 sec
Input Ports:
- id: AUTOGENERATED_NIFI_PORT_ID_HERE
name: MiNiFi-input
comment: ''
max concurrent tasks: 1
use compression: false
Properties: # Deviates from spec and will later be removed when this is autonegotiated
Port: 1026
Host Name: localhost