【golang】kafka
这篇博客是用来记录用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 main import (
"fmt" "github.com/Shopify/sarama"
) func main() {
config := sarama.NewConfig()
config.Producer.RequiredAcks = sarama.WaitForAll
config.Producer.Partitioner = sarama.NewRandomPartitioner
config.Producer.Return.Successes = true
msg := &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
成功
【golang】kafka的更多相关文章
- 【转载】Kafka史上最详细原理总结
Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量 ...
- 【Golang】基于录制,自动生成go test接口自动化用例
背景 之前写过一篇博客,介绍怎么用Python通过解析抓包数据,完成自动化用例的编写.最近这段时间在使用go test,所以就在想能不能也使用代码来生成自动化用例,快速提升测试用例覆盖率.说干就干. ...
- 【原创】Kafka producer原理 (Scala版同步producer)
本文分析的Kafka代码为kafka-0.8.2.1.另外,由于Kafka目前提供了两套Producer代码,一套是Scala版的旧版本:一套是Java版的新版本.虽然Kafka社区极力推荐大家使用J ...
- 【原创】kafka producer源代码分析
Kafka 0.8.2引入了一个用Java写的producer.下一个版本还会引入一个对等的Java版本的consumer.新的API旨在取代老的使用Scala编写的客户端API,但为了兼容性 ...
- 【转】Kafka producer原理 (Scala版同步producer)
转载自:http://www.cnblogs.com/huxi2b/p/4583249.html 供参考 本文分析的Kafka代码为kafka-0.8.2.1.另外,由于Kafka目前提供了两 ...
- 【转】kafka&zookeeper集群搭建指南
[转自]:http://www.cnblogs.com/luotianshuai/p/5206662.html 待续...
- 【原创】Kafka Consumer多线程实例
Kafka 0.9版本开始推出了Java版本的consumer,优化了coordinator的设计以及摆脱了对zookeeper的依赖.社区最近也在探讨正式用这套consumer API替换Scala ...
- 【原创】Kafka console consumer源代码分析(一)
上一篇中分析了Scala版的console producer代码,这篇文章为读者带来一篇console consumer工作原理分析的随笔.其实不论是哪个consumer,大部分的工作原理都是类似的. ...
- 【原创】Kafka topic常见命令解析
本文着重介绍几个常用的topic命令行命令,包括listTopic,createTopic,deleteTopic和describeTopic等.由于alterTopic并不是很常用,本文中就不涉及了 ...
随机推荐
- 2018-2019-1 20189203《Linux内核原理与分析》第二周作业
一.本周学习情况 我本周结合<庖丁解牛>教材学习了蓝墨云的视频课,主要学习内容如下: 1.学习了计算机的工作原理,深入理解了冯诺依曼体系结构. 2.学习了X86-32 CPU的寄存器 3. ...
- 从零开始一起学习SLAM | 给点云加个滤网
对VSLAM和三维重建感兴趣的在计算机视觉life"公众号菜单栏回复"三维视觉"进交流群. 小白:师兄,上次你讲了点云拼接后,我回去费了不少时间研究,终于得到了和你给的参 ...
- CentOS 7 配置Tomcat9连接MySQL
配置Tomcat 首先安装Tomcat 安装Tomcat分为安装Tomcat和安装JDK两个步骤 JDK( Java Development Kit ) 是Sun Microsystems针对Java ...
- 【软件工程1916|W(福州大学)_助教博客】团队第一次作业成绩公示
题目 第一次作业 评分准则: 队名(最好能够体现项目内容,要求有亮点与个性):(1分) 拟作的团队项目描述:一句话(中英文不限):(1分) 队员风采:介绍每一名队员,包括成员性格.擅长的技术.编程的兴 ...
- shell中wait命令详解
wait命令介绍 wait [作业指示或进程号] 1.等待作业号或者进程号制定的进程退出,返回最后一个作业或进程的退出状态状态.如果没有制定参数,则等待所有子进程的退出,其退出状态为0. 2.如果是s ...
- Centos 编译 安装 criu
下载依赖库 sudo yum install protobuf protobuf-c protobuf-c-devel protobuf-compiler protobuf-devel protobu ...
- Docker Registry V2 Garbage Collection
运行 docker run --rm -v /nfs1/docker/registry:/var/lib/registry registry:2.5.1 garbage-collect -d /roo ...
- random模块写的验证码
import randomabc=''for i in range(4): a=random.randrange(0,4) if i != a: b=chr(random.r ...
- 【python】python嵌套循环内层循环只执行一次
今天写了一个两个基因集找相同的基因然后输出这么个小程序就无论如何也跑不起来,原因出在循环嵌套上,这方面之前就出过问题,后来阴差阳错的就好了我也没太注意,但是最近这个问题严重制约了工作效率,我决心找到问 ...
- 腾讯出品的一个超棒的 Android UI 库
腾讯出品的一个超棒的 Android UI 库 相信做 Android 久了大家都会有种体会,那就是 Android 开发相对于前端开发来说统一的 UI 开源库比较少.造成这种现象的原因一方面是大多数 ...