繁体   English   中英

无法在 KAFKA 上创建主题

[英]Impossible to create a topic on KAFKA

我尝试使用 spring 启动 JAVA 在 apache KAFKA 上自动创建一个主题。为此,我遵循了本教程: https://www.baeldung.com/spring-kafka但我设法连接到服务器,但我无法创建一个话题。 KAFKA 服务器托管在 EC2 AWS 实例上。

这里是在Intellij控制台得到的错误的一部分

022-05-08 10:21:22.889  WARN 20424 --- [| adminclient-1] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-1] Error connecting to node ip-172-31-XX-XX.eu-west-2.compute.internal:9092 (id: 0 rack: null)

java.net.UnknownHostException: ip-172-31-XX.XX.eu-west-2.compute.internal
    at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:797) ~[na:na]
    at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1505) ~[na:na]
    at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1364) ~[na:na]
    at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1298) ~[na:na]
    at org.apache.kafka.clients.DefaultHostResolver.resolve(DefaultHostResolver.java:27) ~[kafka-clients-3.0.1.jar:na]
    at org.apache.kafka.clients.ClientUtils.resolve(ClientUtils.java:110) ~[kafka-clients-3.0.1.jar:na]
    at org.apache.kafka.clients.ClusterConnectionStates$NodeConnectionState.currentAddress(ClusterConnectionStates.java:511) ~[kafka-clients-3.0.1.jar:na]
    at org.apache.kafka.clients.ClusterConnectionStates$NodeConnectionState.access$200(ClusterConnectionStates.java:468) ~[kafka-clients-3.0.1.jar:na]
    at org.apache.kafka.clients.ClusterConnectionStates.currentAddress(ClusterConnectionStates.java:173) ~[kafka-clients-3.0.1.jar:na]
    at org.apache.kafka.clients.NetworkClient.initiateConnect(NetworkClient.java:979) ~[kafka-clients-3.0.1.jar:na]
    at org.apache.kafka.clients.NetworkClient.ready(NetworkClient.java:301) ~[kafka-clients-3.0.1.jar:na]
    at org.apache.kafka.clients.admin.KafkaAdminClient$AdminClientRunnable.sendEligibleCalls(KafkaAdminClient.java:1127) ~[kafka-clients-3.0.1.jar:na]
    at org.apache.kafka.clients.admin.KafkaAdminClient$AdminClientRunnable.processRequests(KafkaAdminClient.java:1387) ~[kafka-clients-3.0.1.jar:na]
    at org.apache.kafka.clients.admin.KafkaAdminClient$AdminClientRunnable.run(KafkaAdminClient.java:1330) ~[kafka-clients-3.0.1.jar:na]
    at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]

来自 offset explorer 的图像捕获

这是我的代码:

@Configuration
public class KafkaTopicConfig {
    @Value(value = "${kafka.bootstrapAddress}")
    private String bootstrapAddress;

    @Bean
    public KafkaAdmin kafkaAdmin() {
        Map<String, Object> configs = new HashMap<>();
        configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress);
        return new KafkaAdmin(configs);
    }

    @Bean
    public NewTopic topic1() {
        return new NewTopic("baeldung", 1, (short) 1);
    }
}

我找到了解决方案,我没有正确配置 Apache KAFKA 的 config/server.properties 文件。 取消注释以下行:listeners=PLAINTEXT://:9092 advertised.listeners=PLAINTEXT://your.host.name:9092

将“you.host.name”替换为安装了 Apache KAFKA 的 EC2 服务器的“公共 ip 地址”。 打开端口 9092。

listeners 是代理将用来创建服务器 sockets 的内容。

advertised.listeners 是客户端用来连接到代理的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM