java - 想要输入主机名:9092 in BootStrap url(I have the hostname entry against the actual url in my host file windows) JAVA

标签 java apache-kafka kafka-producer-api confluent-schema-registry

想要输入 subham-virtualbox:9092 而不是 172.16.6.86:9092 作为我的 bootstrapURL 和 schemaRegistryurl。

我的主机文件中有此条目需要解决

172.16.6.86 subham-virtualbox

尝试这样做,但出现错误,

Exception in thread "main" org.apache.kafka.common.errors.SerializationException: Error serializing Avro message
Caused by: java.net.MalformedURLException: unknown protocol: subham-virtualbox
    at java.net.URL.<init>(URL.java:617)
    at java.net.URL.<init>(URL.java:507)
    at java.net.URL.<init>(URL.java:456)
    at io.confluent.kafka.schemaregistry.client.rest.RestService.sendHttpRequest(RestService.java:175)
    at io.confluent.kafka.schemaregistry.client.rest.RestService.httpRequest(RestService.java:256)
    at io.confluent.kafka.schemaregistry.client.rest.RestService.registerSchema(RestService.java:356)
    at io.confluent.kafka.schemaregistry.client.rest.RestService.registerSchema(RestService.java:348)
    at io.confluent.kafka.schemaregistry.client.rest.RestService.registerSchema(RestService.java:334)
    at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.registerAndGetId(CachedSchemaRegistryClient.java:168)
    at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.register(CachedSchemaRegistryClient.java:222)
    at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.register(CachedSchemaRegistryClient.java:198)
    at io.confluent.kafka.serializers.AbstractKafkaAvroSerializer.serializeImpl(AbstractKafkaAvroSerializer.java:70)
    at io.confluent.kafka.serializers.KafkaAvroSerializer.serialize(KafkaAvroSerializer.java:53)
    at org.apache.kafka.common.serialization.Serializer.serialize(Serializer.java:62)
    at org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java:903)
    at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:865)
    at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:752)
    at com.github.meSubhamSaraf.AvroSerializerDemo.main(AvroSerializerDemo.java:58)

最佳答案

错误并不是说 UnknownHostException

schema.registry.url 需要一个协议(protocol),并且它的端口不是 9092

http://subham-virtualbox:8081

您的引导服务器可以是subham-virtualbox:9092

就我个人而言,我建议使用 Docker 并为注册表进行简单的端口转发,而不是整个虚拟机。
否则,Vagrant works great并可以通过插件为您编辑主机文件

关于java - 想要输入主机名:9092 in BootStrap url(I have the hostname entry against the actual url in my host file windows) JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59542259/

相关文章:

java - 谁能建议我关于 aws-ec2 实例和 rds 使用的时区。我们可以更改这个时区吗?

java - 从数据库读取 Jasypt 密码进​​行验证

java - 在父类(super class)构造函数中调用抽象方法

apache-kafka - Kafka 消费者错误 : ERROR Unknown error when running consumer: (kafka. tools.ConsoleConsumer)

apache-kafka - Apache Kafka : . ..StringDeserializer 不是 ...Deserializer 的实例

hadoop - IIS日志实时流式传输到Hadoop

django - Kafka Python 生产者与 django Web 应用程序集成

java - NetBeans 停止在 NetBeans 重构代码中强调错误

java - Kafka 事务生产者——尽管中止,read_committed 仍显示记录

java - 无法从 KafkaProducer 发布消息