我正在Ubuntu WSL2上成功运行最新的Kafka。我可以在WSL上运行的Ubuntu中启动zookeeper、kafka服务器、创建主题、控制台制作和控制台消费。然而,当我进入Windows上的Intellij并创建一个简单的Java生成器时,它似乎无法连接到代理
版本
Java version: 1.8
Kafka Version: 2.6
hostname (from Ubuntu): KDAAPPDEV04
hostname (from Powershell): KDAAPPDEV04
java.net.InetAddress.getLocalHost().getHostName() = KDAAPPDEV04
java.net.InetAddress.getLocalHost().getCanonicalHostName() = KDAAPPDEV04
netstat from CMD:
TCP [::1]:9092 [::]:0 LISTENING
服务器属性我在另一个SO答案中找到了此设置,但这些设置对我不起作用。
advertised.listeners=PLAINTEXT://127.0.0.1:9092
listener.security.protocol.map=PLAINTEXT:PLAINTEXT
listeners=PLAINTEXT://0.0.0.0:9092
然后尝试(并重新启动动物园管理员和Kafka)
advertised.listeners=PLAINTEXT://KDAAPPDEV04:9092
listener.security.protocol.map=PLAINTEXT:PLAINTEXT
listeners=PLAINTEXT://0.0.0.0:9092
生产者
我用三个不同的值运行这个生产者:主机名、localhost和127.0.0.1但它从来没有连接到代理
public class ProducerDemo{
private static Logger logger = LoggerFactory.getLogger(ProducerDemo.class);
public static void main(String[] args) throws UnknownHostException{
System.out.println(InetAddress.getLocalHost().getHostName());
System.out.println(InetAddress.getLocalHost().getCanonicalHostName());
String bootstrapServers = "127.0.0.1:9092";
// String bootstrapServers = "localhost:9092";
// String bootstrapServers = "KDAAPPDEV04:9092";
//create Producer properties
Properties properties = new Properties();
properties.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,bootstrapServers);
properties.setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
properties.setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,StringSerializer.class.getName());
//create the producer
KafkaProducer<String,String> producer = new KafkaProducer<String, String>(properties);
//create a producer record
ProducerRecord<String,String> record = new ProducerRecord<String, String>("first-topic","hola mundo");
//send data
producer.send(record);
//flush + close
producer.flush();
producer.close();
}
}
错误
[main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka version: 2.6.0
[main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka commitId: 62abe01bee039651
[main] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka startTimeMs: 1601666175706
[kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient - [Producer clientId=producer-1] Connection to node -1 (KDAAPPDEV04/my-ipconfig-address-here:9092) could not be established. Broker may not be available.
WSL2 在虚拟机监控程序上运行,您需要端口代理来连接在 WSL2 上运行的 Kafka Broker。
步骤 1 .使用以下命令检查 WSL2 IP 并复制 inet 值
$ ifconfig
inet 172.X.X.X
第二步。使用管理员权限打开cmd
netsh interface portproxy add v4tov4 listenport=9092 listenaddress=0.0.0.0 connectport=9092 connectaddress=172.X.X.X
你现在应该可以连接了
注意:每次重新启动机器时,WSL2 IP都会改变
我有确切的问题,你有,我解决如下:
有关 WSL2 网络的详细信息,请访问 https://learn.microsoft.com/en-us/windows/wsl/compare-versions 。
此设置的唯一问题是,每次关闭或重新启动Windows计算机或关闭Ubuntu终端时,eth0的IP地址都会更改。这会导致重做步骤 2、4 和 5。我相信有更好的方法,但我尝试的一切都失败了,除了这个。
也有同样的问题。根本原因似乎是WSL2在IPv6和本地主机方面出现了问题(参见:https://github.com/microsoft/WSL/issues/4851)
我发现的唯一不涉及每次重新启动时更改配置的修复方法(根据上面的“172.*”建议)是在Linux中运行的Kafka服务器配置和Windows中的Java客户端中使用IPv6环回地址::1。
在服务器属性中,我有这个:
listeners=PLAINTEXT://[::1]:9092
同样,在我的Java客户端引导服务器配置中,我使用
"[::1]:9092"
我通过在WSL2上运行的Docker Destop在Windows上使用KinD,并尝试设置入口以公开主机上的端口。 我按照指南并使用如下所示的配置安装了集群:https://kind.sigs.k8s.io/docs/user/ingress/,以及入口NGINX控制器(来自helm)和一个自定义入口资源,该资源使用正确的类名重定向到我的服务。 如果我将kubectl端口转发到入口服务,它可以正
我已经正确地设置了Docker,并运行了一些容器没有问题。现在我试着设置邮件。我试了两个: 1 https://hub.docker.com/r/paintedfox/postgresql/ 2 https://hub.docker.com/_/postgres/ 我已尝试在VirtualBox中为容器设置端口转发。 我还尝试了机器主机,如Kitematic:192.168.99.100所示
问题内容: 我在端口5000上的docker容器中运行了一个REST服务,该服务用于通过kafka主题生成消息,而该主题用尽了docker容器。 我为生产者客户端配置了以下属性:- 我已经用下面的命令开始了包含: 我还做了以下配置来宣传kafka主机和端口 尽管我尝试制作kafka主题时已进行了所有配置,但还是遇到了以下错误:- 有人可以指出实际问题在哪里吗? 问题答案: 在现实生活中,永远都不应
我正在尝试使用python 3从WSL2(Ubuntu18.04)中无头打开Chrome。 在Windows上,我使用的是Chrome84。我已经从ChromeDriver-WebDriver下载了Chrome Driver 84。并在C:\chromedriver\chromedriver.exe下安装了。exe 以下是我的剧本: 它失败并出现错误: 引发WebDriverException(“
这些天我正在学习微服务架构,我需要运行Kafka来遵循一些教程。然而,zookeeper-server-start在cmd上运行Kafka的第一步对我来说不起作用。它说“命令的语法不正确” 我遵循了下面的过程 > 下载kafka和extarct(https://kafka.apache.org/downloads-kafka2.11-2.1.0.tgz(二进制下载)) bin\windows\zo