WSL代码调试

 

前几天在WSL上搭好了kafka的集群,今天想用kafka-client玩一下,按照网上的教程发现有那么一点小问题.

发送消息的时候报错.

Kafka API: java.io.IOException: Can't resolve address: xxx.x.x.xx:9091

很显然,连不上呗.那么我们很容易的想到,是不是我们在上面的配置写的有问题呢?我写的是localhost:9091

这个localhost应该指的是127.0.0.1,但是并没有指向WSL.所以我们在WSL里面用ifconfig命令看到ip

inet 192.168.0.9

用cmd命令行ping一下 发现可以ping成功

那么把配置的localhost改为这个应该就是没有问题的了,明天回到公司再试试看.

OK 这个问题解决了 在单元测试启动的时候把kafka相关的配置都打印出来了 证明已经可以连上WSL了

但是生产者发送消息的时候还是有问题,说连接不到节点Error connecting to node DESKTOP-V76GL5K.localdomain:9092

那么我们先从配置文件开始看起,在kafka的配置文件中,我之前没有显式的指定端口,改一下,改成

listeners=PLAINTEXT://10.118.80.63:9092

10.118.80.63是WSL的ip

然后kafka的监听命令改为

sudo ./kafka-console-consumer.sh --bootstrap-server 10.118.80.63:9092 --topic test --from-beginning

完美

 

 

其实也不是一定要这么做的 

 

 惊不惊喜 意不意外 

也就是说 只要改一下config里面的配置就好了 不管是127.0.0.1还是10.XXXXX

posted @ 2019-07-17 23:32  天糊十三幺  阅读(855)  评论(0编辑  收藏  举报