这篇博客是用来记录用go安装及操作kafka库的时候踩到的坑~

安装kafka库

首先我参考了博客:https://blog.csdn.net/tflasd1157/article/details/81985722和https://blog.csdn.net/u011596455/article/details/80073841

在go get github.com/Shopify/sarama安装过程中出现了

package golang.org/x/net/proxy: unrecognized import path "golang.org/x/net/proxy" (https fetch: Get https://golang.org/x/net/proxy?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)

起初我以为是被墙了的原因,后来借用同学的ssrr节点翻墙后还是没能解决。

直到我看到这篇博客:https://www.jianshu.com/p/a55ba2ae6507

go get的时候遇到这个unrecognized import path "golang.org/x/net/html"提示,因为golang被大清墙了。
因此我们只能从github上拿到这部分包,放入项目中。

命令:
git clone https://github.com/golang/net
也可手动下载后解压
在gopath目录的src文件夹内建立如下目录 golang.org/x/net,将上面下载的net里面的文件放到该net目录中即可!

随后继续go get,然后又是报这个错。。

# github.com/DataDog/zstd
cc1.exe: sorry, unimplemented: 64-bit mode not compiled in

意思是mingw需要下载64位版本,而系统自带的是32位,所以又参考惹这篇博客安装mingw64:https://www.cnblogs.com/ggg-327931457/p/9694516.html

安装之前的gcc版本

还没安装又弹出个错误

折腾了半天试了各种方法还是不好使最后结果把校园网换成热点竟然成了。。成了。。。。

安装好之后修改配置变量,把其他所有有关mingw配置全删了,替换成刚下载的mingw64/bin

继续执行go get github.com/Shopify/sarama

顺利安装成功~

go操作kafka

首先启动zookeeper和kafka

创建了一个main.go

package mainimport ("fmt""github.com/Shopify/sarama"
)func main() {config := sarama.NewConfig()config.Producer.RequiredAcks = sarama.WaitForAllconfig.Producer.Partitioner = sarama.NewRandomPartitionerconfig.Producer.Return.Successes = truemsg := &sarama.ProducerMessage{}msg.Topic = "test"//topic没有的话会新建msg.Value = sarama.StringEncoder("this is a good test,my message is zhaofan")client, err := sarama.NewSyncProducer([]string{"192.168.0.118:9092"}, config)if err != nil {fmt.Println("producer close err:", err)return}defer client.Close()pid, offset, err := client.SendMessage(msg)if err != nil {fmt.Println("send message failed,", err)return}fmt.Printf("pid:%v offset:%v\n", pid, offset)
}

go run main.go后消费者执行

kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

成功

转载于:https://www.cnblogs.com/lesroad/p/10714367.html

【golang】kafka相关推荐

  1. golang反编译_【Golang】脱胎换骨的defer(一)

    Go语言的defer是一个很方便的机制,能够把某些函数调用推迟到当前函数返回前才实际执行.我们可以很方便的用defer关闭一个打开的文件.释放一个Redis连接,或者解锁一个Mutex.而且Go语言在 ...

  2. 【Flink】kafka FlinkKafkaException send data to Kafka old epoch newer producer same transactionalId

    文章目录 1.场景1 1.1 概述 2.场景2 M.参考 1.场景1 1.1 概述 重复问题:[Flink]kafka INVALID_PRODUCER_EPO send data to Kafka ...

  3. 【Flink】kafka INVALID_PRODUCER_EPO send data to Kafka old epoch newer producer same transactionalId

    文章目录 1.场景1 1.1 原因 1.2 解决 1.3 源码 2.类似问题 1.场景1 问题重复:[Flink]kafka FlinkKafkaException send data to Kafk ...

  4. 【Golang】解决Go test执行单个测试文件提示未定义问题

    [Golang]解决Go test执行单个测试文件提示未定义问题 参考文章: (1)[Golang]解决Go test执行单个测试文件提示未定义问题 (2)https://www.cnblogs.co ...

  5. 【Golang】Go 语言 XML 的序列与反序列化实践

    Go 语言 XML 的序列与反序列化实践 导读 本文使用 Go 原生支持的包,对 XML 字符串以及 .xml 文件进行序列化与反序列化实践.同时对 Go 语言下的 JSON 序列化反序列化与 XML ...

  6. 【Golang】关于Go中logrus的用法

    一.标准日志库log 在日常开发中,日志是必不可少的功能.虽然有时可以用fmt库输出一些信息,但是灵活性不够.Go 标准库提供了一个日志库log. 1.快速使用 log是 Go 标准库提供的,不需要另 ...

  7. 【golang】Go语言学习-time包

    go语言的time包 组成 time.Duration(时长,耗时) time.Time(时间点) time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] ti ...

  8. 【golang】Go语言学习-select用法

    golang 的 select 的功能和 select, poll, epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作. 示例: ch1 := make (chan in ...

  9. 【MQ】Kafka笔记

    笔记来源:尚硅谷视频笔记2.0版+2.1版 黑马视频:Kafka深入探秘者来了 kafka笔记地址:https://blog.csdn.net/hancoder/article/details/107 ...

  10. 【Golang】Golang基本介绍

    *本文笔记参考:b站[尚硅谷]Golang入门到实战教程 1.go语言的特点 一个文件是一个包 垃圾回收机制:内存自动回收,不需开发人员管理 天然并发:goroutine,轻量级线程,可实现大并发处理 ...

最新文章

  1. UITests操作指南
  2. nyoj 715 Adjacent Bit Counts
  3. 数据集标注工具_如何提高数据标注质量,提供精细化标注数据集?丨曼孚科技...
  4. Byte Cup 2018机器学习大赛进入冲刺阶段,最全资料帮你快速上手!
  5. 基于强跟踪卡尔曼滤波的隔振系统故障诊断——matab simulink仿真
  6. 一、开始动手开发网球平台
  7. Google浏览器代理设置
  8. 全网首发:WINDOWS某些文件夹,提供管理员权限后也无法删除,正确解决办法
  9. 文件和base64编码的相互转换
  10. vhms销售系统_kangle虚拟主机管理系统(vhms虚拟主机销售系统)
  11. 类似QQ的可隐藏的便签工具SNOTE
  12. JAVA前端————HTML—W3C—基本标签—超链接锚链接
  13. 微信小程序获取二维码scene报错40129
  14. 【Vscode - Bug】-- 过程试图写入的管道不存在
  15. 微信小程序简单好看的表格器
  16. 伺服阀放大器|通用型电液伺服阀放大器|伺服阀放大器厂家
  17. spark数据挖掘 - 基于 Audioscrobbler 数据集音乐推荐实战
  18. Vue 项目前端响应式布局及框架搭建
  19. 联想ideapad300-15isk加内存和固态硬盘拆机改造详细步骤
  20. 开源电商系统源码|前后端分离|uni-app开发

热门文章

  1. BP神经网络算法基本原理,bp神经网络的应用案例
  2. GitChat · 前端 | JavaScript 进阶之 Vue.js + Node.js 入门实战开发
  3. JAVA-生命游戏多线程
  4. ros路由器l5和l6的区别_ESXI安装Mikrotik RouterOS(ROS)软路由部署指南(附授权镜像下载)...
  5. python can通信_Python中的高级/抽象Canbus接口
  6. mouseenter、mouseleave、mouseover和mouseout的区别
  7. Python爬取百度翻译-可以选择语言
  8. javascript手册地址
  9. 图解机器学习笔记-1
  10. mysql中增删改查的详解 例题 sql 语句