Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 无法使用Sarama Golang软件包创建Kafka producer客户端-“;客户端/元数据在获取元数据时从代理处获取错误:EOF";_Docker_Go_Apache Kafka_Sarama - Fatal编程技术网

Docker 无法使用Sarama Golang软件包创建Kafka producer客户端-“;客户端/元数据在获取元数据时从代理处获取错误:EOF";

Docker 无法使用Sarama Golang软件包创建Kafka producer客户端-“;客户端/元数据在获取元数据时从代理处获取错误:EOF";,docker,go,apache-kafka,sarama,Docker,Go,Apache Kafka,Sarama,版本:GoLang 1.10.2 卡夫卡4.4.1 Docker 18.03.1 我正在尝试使用Shopify的Sarama包来测试我的Kafka实例。我用Docker compose站起来让Kafka/Zookeeper站起来,一切都顺利运行 当我尝试使用Sarama创建Producer客户端时,会抛出一个错误 当我运行以下命令时 package main import ( "fmt" "log" "os" "os/signal" "time" "strconv" "github

版本:GoLang 1.10.2 卡夫卡4.4.1 Docker 18.03.1

我正在尝试使用Shopify的Sarama包来测试我的Kafka实例。我用Docker compose站起来让Kafka/Zookeeper站起来,一切都顺利运行

当我尝试使用Sarama创建Producer客户端时,会抛出一个错误

当我运行以下命令时

    package main

import (
"fmt"
"log"
"os"
"os/signal"
"time"

"strconv"

"github.com/Shopify/sarama"
)

我明白了

[sarama]2018/06/12 17:22:05初始化新客户

[sarama]2018/06/12 17:22:05客户端/元数据从代理本地主机获取所有主题的元数据:29092

[sarama]2018/06/12 17:22:05已连接到本地主机上的代理:29092(未注册)

[sarama]2018/06/12 17:22:05客户端/元数据在获取元数据时从代理获取错误:EOF

[sarama]2018/06/12 17:22:05已关闭与代理本地主机的连接:29092

{sarama]2018/06/12 17:22:05客户端/元数据没有可用的代理向其发送元数据请求

[sarama]2018/06/12 17:22:06关闭客户 恐慌:卡夫卡:客户端已经没有可用的代理可以与之交谈了(您的集群可以访问吗?)

goroutine 1[正在运行]: main.main() /Users/benwornom/go/src/github.com/acstech/doppler events/testprod/main.go:29+0x3ec 退出状态2

Sarama确实连续几次尝试创建producer客户端,但每次都失败了

我对Sarama的“NewAsyncProducer”方法的理解是它调用“NewClient”,无论您是创建生产者还是消费者,都会调用它。NewClient尝试从Kafka代理收集元数据,这在我的情况下是失败的。我知道它正在连接到Kafka代理,但一旦连接,它似乎会断开。任何建议都会有帮助。我的网络连接很强,我想不出任何东西干扰服务器。据我所知,现有主题只有一个代理和一个分区。我认为我不必手动将主题分配给代理。如果我的客户端正在与代理连接,为什么我不能为我的制作者建立持久的连接

这是卡夫卡死前的日志文件

__消费者5->向量(1),连接消费者23->向量(1),消费者43->向量(1),消费者32->向量(1),消费者21->向量(1),连接消费者10->向量(1),连接消费者20->向量(1),消费者37->向量(1),连接消费者9->向量(1),连接状态-4->向量(1),消费者偏移-48->Vector(1),消费者偏移-40->Vector(1),消费者偏移-29->Vector(1),消费者偏移-18->Vector(1),connect-Offset-14->Vector(1),connect-Offset-7->Vector(1),消费者偏移-34->Vector(1),消费者偏移-45->Vector(1),connect-Offset-6(1) ,connect-status-1->Vector(1),connect-offsets-17->Vector(1),connect-offsets-0->Vector(1),connect-offsets-22->Vector(1),connect-offsets-11->Vector(1),connect-offsets-15->Vector(1),connect-offsets-4->Vector(1),connect-offsets-42->Vector(1),connect-offsets-9->Vector(1),消费者偏移-31->Vector(1),消费者偏移-20->Vector(1),connect-Offset-3->Vector(1),消费者偏移-1->Vector(1),消费者偏移-12->Vector(1),connect-offsets-8->Vector(1),connect-offsets-19->Vector(1),connect-status-3->Vector(1),confluent.support.metrics-0->Vector(1),消费者偏移-17 Vector(1) ,消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者,消费者14->向量(1),消费者25->向量(1),消费者3->向量(1),消费者30->向量(1),消费者41->向量(1),连接13->向量(1),连接24->向量(1),连接2->向量(1),连接配置0->向量(1),连接11->向量(1),消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者消费者 [36mkafka_1|[0m[2018-06-12 20:24:47461]调试[Controller id=1]主题不在broker 1 Map()的首选副本中(kafka.Controller.kafkantroller)
[36mkafka_1 |[0m[2018-06-12 20:24:47462]TRACE[Controller id=1]经纪人1的领导者失衡比率为0.0(kafka.Controller.kafkancontroller)

我遇到了同样的问题,我采取了以下措施解决了我的问题:

  • 检查您正在使用的卡夫卡版本。当传递到
    NewAsyncProducer
    时,配置中指定的默认卡夫卡版本是
    V0_8_2_0
    。请确保在配置中指定正确的卡夫卡版本:

    config := sarama.NewConfig()
    config.Version = sarama.V1_1_0_0
    
  • 确保您传递的代理URL是正确的。您应该传递代理URL,而不是zookeeper URL或其他URL。默认kafka端口为
    9092
    ,因此如果使用默认端口,则URL应类似于
    broker\u URL:9092

  • config := sarama.NewConfig()
    config.Version = sarama.V1_1_0_0