我下载了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 毫秒后)引起的} …