扩展集群中的 kafka 节点

时间:2021-03-04 05:49:52

标签: apache-kafka apache-nifi

我们在 QA 中有 7 个节点集群,在生产中有 7 个节点集群。 7个节点集群是:

  1. 一 - Ambari
  2. 3 - 卡夫卡
  3. 3 - 动物园管理员和 NiFi

目前,kafka QA 向 NiFi QA 发送数据,Kafka Prod 向 NiFi Prod 发送数据。 我们需要消除 NiFi QA 并将数据从 Kafka QA 发送到 Prod NiFi,因为我们在生产 NiFi 服务器中结合了 QA NiFi 流和 Prod NiFi 流。

根据 URL 中给出的说明,https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#troubleshooting_kerberos 我们改变了:

  1. QA zookeeper 中的 conf/zookeeper.properties
  2. kafka QA 中服务器属性文件中的连接字符串属性
  3. /etc/hosts 文件中已经提到了 7 个 QA 节点,我们在 Kafka QA 中添加了 3 个 Prod NiFi 节点

按照以上步骤,当我们在QA中创建kafka topic时: sudo /usr/hdf/3.1.2.0-7/kafka/bin/kafka-topics.sh --create --zookeeper ProdIPaddress_of_zookeeper1:2181, ProdIPaddress_of_zookeeper2:2181, ProdIPaddress_of_zookeeper3:2181 --replication-factor 3 --partitions 3 --topic connectiontest

我遇到了同样的错误:

[2021-03-04 13:19:48,249] ERROR An error: (java.security.PrivilegedActionException: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Server not found in Kerberos database (7) - LOOKING_UP_SERVER)]) occurred when evaluating Zookeeper Quorum Member's  received SASL token. Zookeeper Client will go to AUTH_FAILED state. (org.apache.zookeeper.client.ZooKeeperSaslClient)
[2021-03-04 13:19:48,250] ERROR SASL authentication with Zookeeper Quorum member failed: javax.security.sasl.SaslException: An error: (java.security.PrivilegedAjavax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Server not found in Kerberos database (7) - LOOKING_UP_SERVER)]) occurred when evaluating Zookeeper Quorum Member's  received SASL token. Zookeeper Client will go to AUTH_FAILED state. (org.apache.zookeeper.ClientCnxn) 
Exception in thread "main" org.I0Itec.zkclient.exception.ZkAuthFailedException: Authentication failure
        at org.I0Itec.zkclient.ZkClient.waitForKeeperState(ZkClient.java:947)
        at org.I0Itec.zkclient.ZkClient.waitUntilConnected(ZkClient.java:924)
        at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:1231)
        at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:157)
        at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:131)
        at kafka.utils.ZkUtils$.createZkClientAndConnection(ZkUtils.scala:115)
        at kafka.utils.ZkUtils$.apply(ZkUtils.scala:97)
        at kafka.admin.TopicCommand$.main(TopicCommand.scala:56)
        at kafka.admin.TopicCommand.main(TopicCommand.scala)

基本上,我希望集群是:

  1. 1 Prod Ambari
  2. 3 Kafka QA,它将数据发送到 Prod NiFi 服务器中的 QA NiFi 流
  3. 3 个 Kafka Prod,它将数据发送到 Prod NiFi 服务器中的 Prod NiFi 流
  4. 3 Prod NiFi 和 Zookeeper

我错过了什么。请帮忙解决这个问题。

0 个答案:

没有答案