悟空,拿我的打狗棒来

logstash消费kafka数据 client_id配置问题

Logstash | 作者 blue_sky | 发布于2020年05月27日 | 阅读数:414

起初是Logstash在消费kfaka数据的过程中报错javax.management.InstanceAlreadyExistsException
部分配置如下:
    kafka {
        bootstrap_servers => "***"
        topics => ["test_other"]
        codec => "json"
        id => "other_in"
        type => "other"
        group_id => "other_in"
        auto_offset_reset => "earliest"
        consumer_threads => 1
    }
    kafka {
        bootstrap_servers => "***"
        topics => ["test_video"]
        codec => "json"
        id => "video_in"
        type => "video"
        group_id => "video_in"
        auto_offset_reset => "earliest"
        consumer_threads => 1
    }
      后来去网上查找原因,网上查询到解决方法为配置client_id,后去官网查看client_id作用,官网描述为“请求时要传递给服务器的id字符串,这样做的目的是通过允许包含逻辑应用程序名称来跟踪ip/端口以外的请求源“。不太明白其含义,随后在网上查找相关资料为“当input里面有多个kafka输入源时,client_id => "es*"必须添加且需要不同,否则会报错InstanceAlreadyExistsException”
,我的理解为当bootstrap_servers中有多个kafka的IP与端口,也就是多个kafka的服务器的时候,需要配置client_id。
求教:
        1. 对于client_id的使用场景我的理解是否正确呢?
        2. client_id的工作原理是什么样的?   
已邀请:

要回复问题请先登录注册