总结出来2个条件
1.客户端本机hosts还是要加
172.50.63.1 代理那台机器的主机名
2.advertised.listeners=PLAINTEXT://代理那台机器的主机名:端口
两个主机名要一致
代码里可以写主机名或ip都行,但是客户端必须要配置hosts
props.put("bootstrap.servers", "172.50.63.1:9092,172.50.63.1:9093,172.50.63.1:9094");
3.nginx代理配置直接用ip就行
总结出来2个条件
1.客户端本机hosts还是要加
172.50.63.1 代理那台机器的主机名
2.advertised.listeners=PLAINTEXT://代理那台机器的主机名:端口
两个主机名要一致
代码里可以写主机名或ip都行,但是客户端必须要配置hosts
props.put("bootstrap.servers", "172.50.63.1:9092,172.50.63.1:9093,172.50.63.1:9094");
3.nginx代理配置直接用ip就行
我发现props.put("bootstrap.servers", "node1:9092") 这个配置 直接写外网ip也可以,看来重点还是advertised.listeners和nginx代理的配置
我搞定了,advertised.listeners=PLAINTEXT://代理的ip:代理的端口 每台kafka都配成相应的代理就行了
就是leader跑到node3去了,但是我本地没有node3的hosts所以才会找不到,但是本机只有一个hosts配置 172.50.63.1 node1 怎么才能写三个呢