首页 文章 Go语言基础 golang使用kafka提示:sarama.NewSyncProducer err, message=kafka: client has run out of available ...
0
0
0
1232

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

kafka 并发控制 开发工具 kafka NewSyncProducer available message golang client

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 ...”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持Go语言编程!

相关文章

创建博客

开始创作
写作能提升自己能力,也能为他人分享知识。

在线教程

查看更多
  • Go入门指南

    Go入门指南

  • Go语言高级编程

    Go语言高级编程

  • Go Web 编程

    Go Web 编程

  • GO专家编程

    GO专家编程

  • Go语言四十二章经

    Go语言四十二章经

  • 数据结构和算法(Golang实现)

    数据结构和算法(Golang实现)

Go语言编程网

微信扫码关注订阅号


博客 资讯 教程 我的