fluentd+kafka fluentd发送消息给kafka, kafka consumer没有内容?

Quinlan (weiche.cn) 发表于: 2016-12-09   最后更新时间: 2016-12-09 13:25:31   5,632 游览

python consumer代码(服务器B)

from pykafka import KakaClient
client = KafkaClient(
zookeeper_hosts='127.0.0.1:2181')
topic = client.topics['syslog-topic']
consumer = topic.get_simple_consumer()
for msg in consumer:
    if msg is not None:
        print msg.offset, msg.value

fluentd配置(服务器A)
broker_host zk_host为服务器B IP

<match *.*>
    type kafka
    id kafka_output
    brokers broker_host:9092,broker_host:9093,broker_host:9094            ##new version kafaka donnt need this?
    zookeeper zk_host:2181
    default_topic syslog-topic
    #compression_codec gzip
    output_data_type json
</match>

在服务器A执行kafka-console-producer 给topic syslog发送msg,那段python代码是可以收到msg的,是我的fluentd配置有问题?

发表于 2016-12-09
添加评论

不会python,简单看对应的配置是话必要的参数都是对的,python发消息,没有发送成功,从几个点分析一下。

1、如果python和kafka集群不在同一台机器,kafka要设置listener对外暴露ip,不然连接都是不通的

2、python发送后等待一下,消息还在缓存中,还没来得急发送到kafka进程就结束了

你的答案

查看kafka相关的其他问题或提一个您自己的问题