教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang使用kafka提示:sarama.NewSyncProducer err, message=kafka: client has run out of available ...

golang使用kafka提示:sarama.NewSyncProducer err, message=kafka: client has run out of available ...

发布时间:2023-03-16   编辑:jiaochengji.com
教程集为您提供golang使用kafka提示:sarama.NewSyncProducer err, message=kafka: client has run out of available ...等资源,欢迎您收藏本站,我们将为您提供最新的golang使用kafka提示:sarama.NewSyncProducer err, message=kafka: client has run out of available ...资源

golang使用kafka提示:sarama.NewSyncProducer err, message=kafka: client has run out of available brokers to talk to (Is your cluster reachable?)
kafka安装网上很多,本人这就不详述,默认配置端口9092,zookeeper为2181
在golang运行如下代码:

package main

import (
	"fmt"
	"github.com/Shopify/sarama"
	"log"
	"os"
	"time"
)

func main() {
	var address = []string{"127.0.0.1:9092"}
	topic := "test"
	syncProducer(address, topic)
	time.Sleep(2 * time.Second)
}

// 同步生产消息模式
func syncProducer(address []string, topic string) {
	config := sarama.NewConfig()
	config.Producer.Return.Successes = true
	config.Producer.Timeout = 3 * time.Second
	p, err := sarama.NewSyncProducer(address, config)
	if err != nil {
		log.Printf("sarama.NewSyncProducer err, message=%s \n", err)
		return
	}
	defer p.Close()

	strKey := "key"
	srcValue := "sync: this is a message, index=%d"
	for i := 0; i < 5; i   {
		value := fmt.Sprintf(srcValue, i)
		msg := &sarama.ProducerMessage{
			Key:   sarama.StringEncoder(strKey),
			Topic: topic,
			Value: sarama.ByteEncoder(value),
		}
		part, offset, err := p.SendMessage(msg)
		if err != nil {
			log.Printf("send message(%s) err=%v \n", value, err)
		} else {
			fmt.Fprintf(os.Stdout, value "发送成功, partition=%d, offset=%d \n", part, offset)
		}
	}
}

2020/09/11 17:22:11 sarama.NewSyncProducer err, message=kafka: client has run out of available brokers to talk to (Is your cluster reachable?)
本人在使用从cmd,kafka提示正常运行,但采用非管理员权限,所以一直提示此错误,通过telnet 127.0.0.1 9092提示无法连接,可能是没有启动kafka。
如果通过telnet 127.0.0.1 2181 连接成功,在windows下连接正常的话就是进入一个黑窗口什么内容都没有
在使用管理员权限打开kafka后,再次运行代码能正常发送消息到kafka

到此这篇关于“golang使用kafka提示:sarama.NewSyncProducer err, message=kafka: client has run out of available ...”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
golang使用kafka提示:sarama.NewSyncProducer err, message=kafka: client has run out of available ...
安装kafka golang操作kafka
go windows 安装zookeeper ,链接kafka
Kafka添加SASL_PLAIN安全认证
使用kafka在spark 3 0中进行结构化流式传输
LogAgent的工作流程
centos6安装kafka及使用一
接口日志一般关心什么_什么是提交日志,为什么要关心
go 操作kafka包 sarama (Producer流程)
Golang微服务开发实践

[关闭]
~ ~