Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker Python KafkaConsumer未连接_Docker_Apache Kafka_Jupyter Notebook_Kafka Consumer Api_Kafka Producer Api - Fatal编程技术网

Docker Python KafkaConsumer未连接

Docker Python KafkaConsumer未连接,docker,apache-kafka,jupyter-notebook,kafka-consumer-api,kafka-producer-api,Docker,Apache Kafka,Jupyter Notebook,Kafka Consumer Api,Kafka Producer Api,设置: 我有3个码头集装箱 1) For Kafka 2) For Zookeeper 3) For JupyterLab 我在这些容器之间建立了网络,我看到kafka producer能够运行并生成数据 KafkaProducer.ipynb KAFKA_BROKER = ['172.20.0.2:9093'] from kafka import KafkaProducer from kafka.errors import KafkaError producer = KafkaProduc

设置:

我有3个码头集装箱

1) For Kafka
2) For Zookeeper
3) For JupyterLab
我在这些容器之间建立了网络,我看到kafka producer能够运行并生成数据

KafkaProducer.ipynb

KAFKA_BROKER = ['172.20.0.2:9093']
from kafka import KafkaProducer
from kafka.errors import KafkaError

producer = KafkaProducer(bootstrap_servers=KAFKA_BROKER)

for _ in range(100):
    print("sending")
    producer.send('my-topic', key=b'foo', value=b'bar')
    print("success")
这里send()发送消息100次

KafkaConsumer.ipynb

KAFKA_BROKER = ['172.20.0.2:9093']
from kafka import KafkaConsumer

consumer = KafkaConsumer('my-topic',group_id='my-group',bootstrap_servers=KAFKA_BROKER)

print("Comm success")

for message in consumer:
    # message value and key are raw bytes -- decode if necessary!
    # e.g., for unicode: `message.value.decode('utf-8')`
    print ("%s:%d:%d: key=%s value=%s" % (message.topic, message.partition,
                                          message.offset, message.key,
                                          message.value))

在上述消费者代码中,
print(“Comm success”)
行永远不会执行。基于生产者代码的执行,网络是开放的,jupyter能够与kafka经纪人交谈。但是,客户机无法连接到同一个代理以使用数据。如何开始调试此项?

默认情况下,值为
最新的
,因此使用新的group.id将其设置为
最早的

consumer = KafkaConsumer('my-topic',group_id='new-group',auto_offset_reset = 'earliest',bootstrap_servers=KAFKA_BROKER)