IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> kafka连接两台机器使用以及python连接kafka的简单使用 -> 正文阅读

[大数据]kafka连接两台机器使用以及python连接kafka的简单使用

kafka2.12-2.20包下载地址:链接

本文主要是kafka在两台机器中的消息传输

kafka在需要链接zk的场合,有两种方式
1、使用kafka自带的zk
2、下载zk部署
使用的过程都差不多,这里就用自带的zk举例,首先查看配置文件,主要使用的是server.properties(kafka启动的配置文件)和zookeeper.properties(zk启动的配置文件)
在这里插入图片描述
接下来是简单使用,zk的配置文件主要就是clientPort,指定zk的端口,用于链接kafka
在这里插入图片描述
然后是kafka的配置文件,主要是几个地方注意,使用最易懂的方式理解

在这里插入图片描述
在这里插入图片描述

broker.id  可以看做是链接两端的id,一个会话只能一个,要是启动遇到/brokers/ids的报错,可以使用下面的解决办法
如下图bin下有一个zookeeper-shell.sh,./zookeeper-shell.sh ip:port 进入zk,rmr /brokers/ids/<id>删除后重启kafka
如果是自己部署的zk,可以使用zkcli进入,之后的命令一样

在这里插入图片描述

listeners=PLAINTEXT://127.0.0.1:9092 #kafka链接开启的地址端口
advertised.listeners=PLAINTEXT://your.host.name:9092  #和上面不同的是,这个可以链接到其他机器的kafka
zookeeper.connect=127.0.0.1:2181 #链接的zk地址,需要zk先启动

接下来启动

先启动zk bin/zookeeper-server-start.sh conf/zookeeper.properties
在启动kafka  bin/kafka-server-start.sh  conf/server.properties
根据报错情况,观察zk是否启动正常,kafka链接zk是否正常

例举几个简单测试操作,
关于消费者命令的详细解释可参考https://blog.csdn.net/qq_29116427/article/details/80206125
关于生产者命令的详细解释可参考https://blog.csdn.net/qq_29116427/article/details/105912397

bin/kafka-topics.sh --list --bootstrap-server localhost:9192  #列出topic
bin/kafka-console-producer.sh --broker-list localhost:9192 --topic test #开启消费者端
bin/kafka-console-consumer.sh --bootstrap-server localhost:9192 --topic test --from-beginning#开启消费者端,--from-begin查看从开始的所有收到信息

接下来操作使用python在两台机器间直接链接kafka发送接收消息
这里我们将一台机器(客户端)server.proproties的配置文件从listeners注释,使用advertised.listeners,地址指向另一台机器(服务端)的地址,如192.168.173.2:9192,其他配置不变,重启kafka,重启过程可能会报/brokers/ids的错,根据上面的方法解决。
下面放一下python链接kafka的代码,

首先下载kafka库导入from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers='192.168.79.131:9192')
topic = 'test'
producer.send(topic, j.encode())#注意需要转码才能发送


在另一台机器接收
from kafka import KafkaConsumer
consumer = KafkaConsumer('test',
                         bootstrap_servers=['127.0.0.1:9092'],
                         auto_offset_reset='latest',# 消费kafka中最近的数据,如果设置为earliest则消费最早的数据,不管这些数据是否消费
                         )
for msg in consumer:
    print (msg)

在这里插入图片描述

python链接kafka还有其他许多参数,更详细的可百度或参考官方文档

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-16 11:22:15  更:2021-07-16 11:23:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/8 14:16:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码