Regras do Kafka e firewall
2 answers
Portas predefinidas do Kafka:
- 9092, pode ser alterado no servidor.propriedades;
Portos Predefinidos do guardião do Jardim zoológico:
- 2181 para ligações com clientes;
- 2888 para ligações de seguidores(outros nós de tratadores de jardins zoológicos);
- 3888 para ligações entre nós;
Kafka, também tem o ouvintes e anunciado.ouvintes propriedades que criam alguma confusão nos primeiros utilizadores. Para torná-lo simples, ouvinte é a interface de rede que o seu servidor irá ligar, e anunciado.os ouvintes é o nome da máquina ou IP que o seu servidor irá registar-se no tratador do Jardim zoológico e ouvir os pedidos. Se você colocar um hostname lá, seus clientes terão que usar o hostname para se conectar. O anunciado.ouvintes o url é o seu os clientes usarão para iniciar a conexão. Uma vez que a conexão é feita, o seu cliente terá uma conexão com o tratador de zoológico para obter outros corretores urls. O teu produtor não está a trabalhar por causa disso.
Então, para que funcione, tem de abrir o 2888 na sua firewall, não apenas o 2181. E @Jaya Ananthram está errado quando ele diz que kafka precisa do porto 2181. É um porto de tratores. Os consumidores em Kafka 0,10 stills precisam contatar o tratador de zoológico para persistir algumas coisas, é isso.Kafka 0.11.0.0 mudou isso e está fazendo com que os clientes não precisam de zookeeper em tudo.
Não há Porto Escondido. Verifique a configuração do seu corretor. Certifique-se de que ele anuncia IP/PORT que é acessível pelos consumidores Kafka.
Deparei-me com esta questão depois de ter experimentado o mesmo problema com o Kafka 0.10.1.1 com a biblioteca kafka-python como consumidor.
Não. Captei o tráfego da rede e não usa nenhuma outra porta para comunicar com o Kafka. Se os corretores estiverem configurados para usar o 9092, será a única porta usada por consumidor. Mas depois de mais investigações, as configurações de corretores estavam erradas no meu caso.Kafka.anunciar.ouvintes = texto simples: / / [private_ip]:9092, SSL: / / [public_ip]:9093 kafka.ouvintes = texto simples: / / 0.0.0.0:9092, SSL://0.0.0.0:9093
Usei [public_ip]: 9092 como servidor de bootstrap porque não tinha o PKI montado, mas queria testar o meu consumidor a partir da internet pública.
O consumidor foi capaz de se ligar ao corretor, mas não consegui enviar nenhuma mensagem.Uma vez que o consumidor estava ligado ao Kafka usando um texto simples, o Kafka publicitou endereços de corretor de texto simples em vez de endereços SSL. O consumidor, em seguida, tentou chegar a corretores Kafka usando endereços IP privados em vez de públicos. (tal como revelado pela captura da rede raw)
Depois de o PKI estar activo e configurado em corretores e clientes, consegui extrair mensagens da internet pública muito bem.