heka+kafka遇到的一个小问题~

最近一段时间,在尝试使用heka读取本机的日志文件,向kafka集群发送日志消息

具体的方式是,kafka使用单broker用来功能验证,heka使用自带的kafka插件,hekad的配置如下

[LogstreamerInput]

log_directory = "/data1/www/logs"

file_match = 'recom\.i\.weibo\.com-access_log'

[PayloadEncoder]

append_newlines = false

[FxaKafkaOutput]

type = "KafkaOutput"

message_matcher = "TRUE"

topic = "recom_i"

addrs = ["10.75.5.27:9092"]

encoder = "PayloadEncoder"

启动hekad,hekad -config="/etc/hekad.toml"

会报错,说连不上broker,而broker这个时候明明是好的,看了一下heka的kafka这个plugin的code,其实配置里addrs这个数组是直接传给了kafka的golang客户端sarama,因此转而看了看sarama的客户端,恍然大悟,原来在heka和broker开始建立通信的时候使用ip是没有问题的,但是sarama里面是通过broker去访问kafka依赖的zookeeper,进而从zookeeper里的metadata里面获取到了10.75.5.27这个机器的host是talus27,在接下来的向kafka的broker发布消息的通信中,由于无法解析talus27这个hostname而报发送失败

解决的办法很简单,在heka的机器的/etc/hosts文件中添加一行

10.75.5.27   talus27

就搞定了~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • 一、入门1、简介Kafka is a distributed,partitioned,replicated com...
    HxLiang阅读 3,461评论 0 9
  • Kafka入门经典教程-Kafka-about云开发 http://www.aboutyun.com/threa...
    葡萄喃喃呓语阅读 10,890评论 4 54
  • kafka的定义:是一个分布式消息系统,由LinkedIn使用Scala编写,用作LinkedIn的活动流(Act...
    时待吾阅读 5,374评论 1 15
  • 本文转载自http://dataunion.org/?p=9307 背景介绍Kafka简介Kafka是一种分布式的...
    Bottle丶Fish阅读 5,505评论 0 34