超简单kafak安装及python操作教程

安装篇

环境介绍

项目说明
操作系统CentOS7 任意版本均可
JDK版本jdk1.8 (小版本不作要求,jdk-8u65-linux-x64.rpm)
kafak版本2.11(其他版本应该也行,kafka_2.11-2.4.1.tgz)
zookeeper版本3.4.14(其他版本应该也行,zookeeper-3.4.14.tar.gz)

安装jdk

百度安装即可,参考:
CentOS 7.2 安装JDK1.8(rpm版): https://blog.csdn.net/lpch0825/article/details/79542049.
安装之后,验证一下环境变量已经生效,如图
验证一下环境变量

安装zookeeper服务

百度即可,很多教程,参考
https://blog.csdn.net/u012430402/article/details/82694473

启动ZooKeeper服务器

cd   zookeeper安装目录
$ cd /你的路径/zookeeper/
$ bin/zkServer.sh start

停止Zookeeper服务器

cd   zookeeper安装目录
$ bin/zkServer.sh stop

安装Kafka

去官网下载安装包,进行下述操作
tar zxvf kafka_2.11-2.4.1.tgz
mv kafka_2.11-2.4.1  kafka    改名为了好记,不改也行
cd kafka

启动服务器

$ bin/kafka-server-start.sh config/server.properties

注意:配置文件中listeners=PLAINTEXT://x.x.x.x:9092,默认是localhost,导致外界程序无法连接到kafak

创建topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看topic:
bin/kafka-topics.sh --list --zookeeper localhost:2181 test
 使用ip创建(推荐)
bin/kafka-topics.sh --create --zookeeper 192.168.24.129:2181/kafka100 --topic topic-test3 --replication-factor 2 --partitions 4 --config key=value

进入生产者CLI

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

进入消费者CLI

bin/kafka-console-consumer.sh --bootstrap-server 192.168.11.90:9092 --topic test --from-beginning

停止服务器

$ bin/kafka-server-stop.sh config/server.properties

python简单操作kafak

使用pycharm,进行操作
在这里插入图片描述
【生产者】

import json
from kafka import KafkaProducer


producer = KafkaProducer(bootstrap_servers='192.168.24.129')
# producer = KafkaProducer(bootstrap_servers='192.168.24.129:9092')

msg_dict = {
    "sleep_time": 10,
    "db_config": {
        "database": "test_1",
        "host": "host ip",
        "user": "root",
        "password": "root"
    },
    "table": "msg",
    "msg": "Hello World"
}
msg = json.dumps(msg_dict).encode('utf-8')  # # 发送内容,必须是bytes类型
producer.send('test', msg, partition=0)  # topic
producer.close()

此处若遇到错误:pykafka的NoBrokersAvailableError
原因是,kafak的配置文件,server.properties ,中没有手动修改为IP,修改一下,重启kafak服务就行了,如下图
在这里插入图片描述
【消费者】

from kafka import KafkaConsumer

consumer = KafkaConsumer('test', bootstrap_servers=['192.168.24.129'])
for msg in consumer:
    recv = "%s:%d:%d: key=%s value=%s" % (msg.topic, msg.partition, msg.offset, msg.key, msg.value)
    print(recv)

效果图:
生产者:执行生产者代码,会产生一条消息,可以只用linux命令行快速生产消息
在这里插入图片描述
在这里插入图片描述

消费者:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值