Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用Kafka配置更新Kafka Adverted.listeners_Amazon Web Services_Apache Kafka - Fatal编程技术网

Amazon web services 使用Kafka配置更新Kafka Adverted.listeners

Amazon web services 使用Kafka配置更新Kafka Adverted.listeners,amazon-web-services,apache-kafka,Amazon Web Services,Apache Kafka,我必须使用命令行工具“Kafka configs.sh”更新Kafka broker config advised.listeners。使用命令行的原因是因为实例/代理正在AWS中运行,要从外部访问它,我们需要将端点添加到此中。 当前,我们可以从ZkCli中看到当前侦听器端点的列表: {"listener_security_protocol_map":{"CLIENT":"PLAINTEXT","CLIENT_SECURE":"SSL","REPLICATION":"PLAINTEXT","RE

我必须使用命令行工具“Kafka configs.sh”更新Kafka broker config advised.listeners。使用命令行的原因是因为实例/代理正在AWS中运行,要从外部访问它,我们需要将端点添加到此中。
当前,我们可以从ZkCli中看到当前侦听器端点的列表:

{"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}
当我尝试为其中一个代理添加侦听器安全协议时,出现以下错误:

./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
如果我们尝试直接添加端点,我们将得到:

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
为了验证是否可以执行此操作,我们尝试添加了一些其他参数,看起来它正在按预期工作:

./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.

到处查看,尝试指定所有安全组(添加了我们的内容),但没有成功。我们缺少什么?

在您的命令中,您只定义了一个映射:

./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"
您应该尝试添加完整列表:

./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"

正确的方法是:

./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"]

我们正在尝试这样做:@Issilva感谢您的时间,但是获取
失败:无效的实体配置:要添加的所有配置必须采用“key=val”
格式,还尝试使用{}像
{“EXTERNAL:PLAINTEXT”,“CLIENT:PLAINTEXT”,“CLIENT\u SECURE:SSL”,“REPLICATION:PLAINTEXT”,“REPLICATION\u SECURE:SSL”}
然后错误是:
没有为侦听器客户端定义安全协议
尝试了其他组合,如:
“外部=明文”、“客户端=明文”、“客户端\u安全=SSL”、“复制=明文”、“复制\u安全=SSL”要求失败:无效的实体配置:所有要添加的配置必须采用“key=val”格式且带有{}.@Rahul不带额外的东西试试看quotes@cricket_007
“外部:明文,客户端:明文,客户端\u安全:SSL,复制:明文,复制\u安全:SSL”要求失败:无效的实体配置:要添加的所有配置必须采用“key=val”格式
,即使是相同的
“外部=明文,客户端=明文,客户端\u安全=SSL,复制=明文,复制\u安全=SSL”要求失败:无效的实体配置:要添加的所有配置必须采用“key=val”格式。