起初是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的工作原理是什么样的?
部分配置如下:
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的工作原理是什么样的?
0 个回复