NiFi 处理器无法连接到 Zookeeper
Posted
技术标签:
【中文标题】NiFi 处理器无法连接到 Zookeeper【英文标题】:NiFi processors cannot connect to Zookeeper 【发布时间】:2021-03-17 12:15:31 【问题描述】:我正在将 Apache NiFi 1.9.2(安全集群)与 HDP 3.1.4 集成。 HDP 包含带有 SASL 身份验证 (Kerberos) 的 Zookeeper 3.4.6。 NiFi 节点成功连接到此 Zookeeper,同步流并记录心跳。
同时,使用 Zookeeper 的 NiFi 处理器无法连接。 GenerateTableFetch 抛出:
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not open client transport for any of the Server URI's in ZooKeeper: Unable to read HiveServer2 uri from ZooKeeper)
ListHDFS 尝试将其状态写入 ZooKeeper 失败:
o.apache.nifi.processors.hadoop.ListHDFS ListHDFS Failed to retrieve timestamp of last listing from the State Manager. Will not perform listing until this is accomplished.
但 GetHDFS(不与 zk 通信)工作正常。 启用 HiveConnector 可以正常工作。
感谢您之前的任何想法和支持。
【问题讨论】:
您的state-management.xml
是如何配置的?
@BenYaakobi 谢谢,我错过了 state-management.xml 中的 zk 连接字符串! ListHDFS 现在可以工作了。但是,GenerateTableFetch 仍然会抛出异常。它从 zk 和 Could not open client transport with JDBC Uri
community.cloudera.com/t5/Support-Questions/… 读取 hive url
【参考方案1】:
首先,我错过了 state-management.xml 中的 zk 连接字符串(感谢@BenYaakobi 的注意)。
其次,Hive 处理器与来自nifi-hive3-nar library 的 Hive3ConnectionPool 一起使用。库包含 Hive3* 处理器,但 Hive1*(例如 SelectHiveQL、GenerateTableFetch)处理器也适用于 Hive3 连接器。
【讨论】:
以上是关于NiFi 处理器无法连接到 Zookeeper的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Zookeeper 连接字符串通过 JDBC 连接到 Hive
我的 kafka docker 容器无法连接到我的 zookeeper docker 容器
无法使用localhost中的Solr连接到ZooKeeper