构建 Kafka 生产者立即导致“请求 ApiVersion 时断开连接”错误

use*_*391 5 c# apache-kafka kafka-producer-api .net-4.7.2

我下载了kafka_2.13-2.5.1,将其解压到一个文件夹中,进行编辑producer.properties,以启用 Snappy 压缩,其余部分则保留原样。我用命令启动无论它是什么(服务器?集群?地狱知道)

bin/windows/zookeeper-server-start.bat config/zookeeper.properties
Run Code Online (Sandbox Code Playgroud)

它启动并显示它正在侦听端口 2181:

INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)
Run Code Online (Sandbox Code Playgroud)

在我的 C# 代码中,我创建了一个错误处理程序:

void KafkaErrorHandler(IProducer<Null, string> producer, Error error)
{
    Console.WriteLine(error.Reason);
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试建立一个生产者:

kafkaProducerConfig = new ProducerConfig
{
    CompressionType = CompressionType.Snappy,
    BootstrapServers = "localhost:2181", // Docs said 9092 plain, 9093 SSL. Huh?
    ClientId = Dns.GetHostEntry(Environment.MachineName).HostName
};

var pb = new ProducerBuilder<Null, string>(kafkaProducerConfig);
pb.SetErrorHandler(KafkaErrorHandler);
kafkaProducer = pb.Build();
Run Code Online (Sandbox Code Playgroud)

一旦代码到达最后一行,它就会立即进入错误处理程序,并且 Error 对象显示如下:

{localhost:2181/bootstrap: 请求 ApiVersion 时断开连接:可能是由于 security.protocol 配置不正确(连接到 SSL 侦听器?)或代理版本 < 0.10(请参阅 api.version.request)(处于状态 APIVERSION_QUERY 1 毫秒后)引起的}

Kafka 控制台窗口立即开始发出无尽的警告,直到我终止该应用程序:

[2020-12-01 15:53:39,486] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:53:39,781] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:53:40,093] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:53:41,409] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:53:45,683] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:53:55,686] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:54:05,688] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:54:13,683] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:54:23,682] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:54:33,573] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:54:43,579] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:54:53,583] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:55:03,499] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:55:13,504] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:55:23,501] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:55:33,505] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:56:17,879] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:56:18,175] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:56:18,494] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:56:19,809] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:56:24,083] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:56:34,087] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:56:44,087] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:56:52,080] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:57:02,079] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:57:11,968] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:57:59,379] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:57:59,675] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:57:59,986] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:58:01,302] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:58:05,575] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:58:15,580] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:58:25,579] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:58:33,575] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:58:43,575] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:58:53,465] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:59:03,465] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:59:13,468] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:59:23,384] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:59:33,387] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:59:43,387] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 15:59:53,393] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:00:03,391] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:00:13,399] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:00:22,206] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:00:32,210] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:00:39,848] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:00:49,851] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:00:59,851] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:01:09,856] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:01:18,576] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:01:28,580] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:01:38,580] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:01:46,192] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:01:55,227] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:02:05,231] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:02:14,033] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:02:21,884] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:02:29,387] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:02:39,399] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:02:50,368] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:02:53,368] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:02:53,467] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:02:53,895] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:02:54,612] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
[2020-12-01 16:02:58,736] WARN Exception causing close of session 0x0: Unreasonable length = 1718383973 (org.apache.zookeeper.server.NIOServerCnxn)
Run Code Online (Sandbox Code Playgroud)

如果我添加SecurityProtocol = SecurityProtocol.Ssl,到生产者配置,则会收到以下错误:

{ssl://localhost:2181/bootstrap:SSL 握手失败:已断开连接:连接到 PLAINTEXT 代理侦听器?(处于连接状态 2 毫秒后)}

它还需要什么才能下定决心并开始工作?

cri*_*007 4

我开始无论它是什么zookeeper-server-start

卡夫卡控制台窗口

那是 Zookeeper 服务器,而不是 Kafka

您需要一个kafka-server-start以该config/server.properties文件开头的单独窗口。

然后您的代码使用端口 9092(默认情况下),正如您在显示的代码中似乎已评论的那样。

如果我将 SecurityProtocol = SecurityProtocol.Ssl, 添加到生产者配置中,则会收到以下错误

据我所知,您从未在 Kafka 服务器中设置任何 SSL 属性,因此这不会改变任何内容