kafka_obj = Producer() print(kafka_obj.broker) kafka_obj.send("自动生成".encode()) 发送的消息,主要是普通的字符串消息,和字典形式的消息,方便对接; 2. python 使用 kafka 消费者 由于kafka 消费者的特性,阻塞循环是一个必然的过程,可以使用 python 中的生成器进行优化,但是循环阻塞是无可避免的; ...
消费者改进 2:无限读取kafka数据 极简的示例 我们直接上一个极简示例,没有任何花里胡哨的部分: 1. 生产者(先运行) 先运行生产者,再运行消费者部分哈: from kafka import KafkaProducer import datetime import json # 启动生产者 producer = KafkaProducer(bootstrap_servers='localhost:9092', api_version=(0, ...
kafka_hosts= ["192.168.3.145:49154"] kafka_topic="topic1"consumer= KafkaConsumer(kafka_topic, group_id="test_aaa", bootstrap_servers=kafka_hosts, ssl_check_hostname=False, api_version=(0, 9))#要设置api_version否则可能会报错,如果没有使用ssl认证设置为False#方式一:print("t1", time.time(...
fromkafkaimportKafkaProducerfromkafka.errorsimportKafkaError#创建了一个生产者的对象producer=KafkaProducer(bootstrap_servers=['localhost:9092'])# 异步发送一个条数据,topic和value,没有keyfuture=producer.send('test',b'123456')# 获取发送记录的metadatatry:record_metadata=future.get(timeout=10)exceptKafkaEr...
producer = KafkaProducer( bootstrap_servers=['localhost:9092'], max_block_ms=10000, max_request_size=10485760, send_buffer_bytes=10485760, value_serializer=lambda m: json.dumps(m, ensure_ascii=False).encode(), api_version=(0, 10)
client_id='kafka-python-{version}',#客户端Id,默认是kafka-python-{version} api_version=None,#指定要使用的 Kafka API 版本。如果设置为 None,客户端将尝试通过API请求来启动不同版本的功能 enable_auto_commit=True,# 是否自动提交消费位置,默认为True ...
producer=KafkaProducer( bootstrap_servers=['xx.xx.xx.xx:port'],#地址 api_version=(1,1), security_protocol="SASL_PLAINTEXT", sasl_mechanism="PLAIN", sasl_plain_username="username",#用户名 sasl_plain_password="password",#密码 ) ...
api_version (tuple) 1.4 KafkaConsumer的函数 assign(partitions):手动为该消费者分配一个topic分区列表。 assignment():获取当前分配给该消费者的topic分区。 beginning_offsets(partitions):获取给定分区的第一个偏移量。 close(autocommit=True):关闭消费者 ...
用confluent-kafka替换kafka-python非常简单。confluent-kafka使用poll方法,它类似于上面提到的访问kafka-python的变通方案。kafka_consumer = Consumer({ "api.version.request": True,"enable.auto.commit": True,"group.id": group_id,"bootstrap.servers": config.kafka.host,"security.protocol": "...
python2.7 版本使用以下代码向 Kafka 发送数据时正常,但是在 python3.7 版本使用 Kafka 报错:return '' % self.async;原因是 async 是 python3.7 版本的关键字引起的,通过命令执行 pip install kafka-python 就可以解决这个问题。 #该代码在2.7版本运行正常,但是3.7版本运行报错:return '<SimpleProducer batch=%s>'...