首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Kafka吐露更新kafka advertised.listeners

使用Kafka吐露更新kafka advertised.listeners
EN

Stack Overflow用户
提问于 2019-11-26 14:14:45
回答 2查看 2.2K关注 0票数 1

我必须使用命令行工具"kafka-configs.sh“更新Kafka advertised.listeners。使用命令行的原因是,实例/代理在AWS中运行,要从外部访问它,我们需要将端点添加到其中。

当前在ZkCli中,我们可以看到当前侦听器端点的列表:

代码语言:javascript
复制
{"listener_security_protocol_map":{"CLIENT":"PLAINTEXT","CLIENT_SECURE":"SSL","REPLICATION":"PLAINTEXT","REPLICATION_SECURE":"SSL"},"endpoints":["CLIENT://b-1:9092","CLIENT_SECURE://b-1:9094","REPLICATION://b-1:9093","REPLICATION_SECURE://b-1:9095"],"rack":"subnet-09d8","jmx_port":9099,"host":"b-1.amazonaws.com","timestamp":"1574664497892","port":9092,"version":4}

当我试图为其中一个代理添加侦听器安全协议时,我们将得到以下错误:

代码语言:javascript
复制
./kafka-configs.sh --bootstrap-server b-3.amazonaws.com:9094  --command-config client.properties --entity-type brokers --entity-name 1 --alter --add-config  listener.security.protocol.map="EXTERNAL:PLAINTEXT"
java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.InvalidRequestException:
Caused by: org.apache.kafka.common.errors.InvalidRequestException: Invalid config value for resource ConfigResource(type=BROKER, name='1'): Error creating broker listeners from 'CLIENT://b-1.amazonaws.com:9092,CLIENT_SECURE://b-1.amazonaws.com:9094,REPLICATION://b-1amazonaws.com:9093,REPLICATION_SECURE://b-1.amazonaws.com:9095': No security protocol defined for listener CLIENT

如果我们试图直接添加端点,我们将得到:

代码语言:javascript
复制
kafka-configs.sh --bootstrap-server b-3.amazonaws.com:9094  --command-config client.properties --entity-type brokers --entity-name 1 --alter --add-config advertised.listeners="PLAINTEXT://vpce-amazonaws.com:36379"
: No security protocol defined for listener PLAINTEXT

为了验证我们是否能做到这一点,我们尝试添加了一些其他参数,并且它看起来像预期的那样工作:

代码语言:javascript
复制
./kafka-configs.sh --bootstrap-server b-3.amazonaws.com:9094  --command-config client.properties --entity-type brokers --entity-name 1 --alter --add-config log.cleaner.threads=2
Completed updating config for broker: 1.

到处查看,尝试指定所有安全组(加上我们的新增内容),但是这里没有遗漏luck.What吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-04 12:44:29

正确的方法是:

代码语言:javascript
复制
./kafka-configs.sh --bootstrap-server b-3.amazonaws.com:9094    
  --command-config client.properties    
 --entity-type brokers --entity-name 1     
 --alter --add-config listener.security.protocol.map=["CLIENT:PLAINTEXT,CLIENT_SECURE:SSL,REPLICATION:PLAINTEXT,REPLICATION_SECURE:SSL"]
票数 2
EN

Stack Overflow用户

发布于 2019-11-26 14:38:53

在您的命令中,您只定义了一张地图:

代码语言:javascript
复制
./kafka-configs.sh --bootstrap-server b-3.amazonaws.com:9094  
--command-config  client.properties 
--entity-type brokers --entity-name 1 
--alter --add-config  listener.security.protocol.map="EXTERNAL:PLAINTEXT"

您应该尝试添加完整的列表:

代码语言:javascript
复制
./kafka-configs.sh --bootstrap-server b-3.amazonaws.com:9094  
--command-config  client.properties 
--entity-type brokers --entity-name 1 
--alter --add-config  listener.security.protocol.map="EXTERNAL:PLAINTEXT,CLIENT:PLAINTEXT,CLIENT_SECURE:SSL,REPLICATION:PLAINTEXT,REPLICATION_SECURE:SSL"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59052873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档