1. Informações básicas
Site oficial: http://kafka.apache.org
Início rápido: http://kafka.apache.org/quickstart
Baixe do site oficial: http://kafka.apache.org/downloads http://apache.fayea.com/kafka/
Documento chinês: http://kafka.apachecn.org/
W3CSchool: https://www.w3cschool.cn/apache_kafka/
Hortonworks: https://hortonworks.com/apache/kafka
2. Informações de configuração do sistema e da ferramenta
1. Versão do sistema: CentOS-7-x86_64-Minimal-1708
2. Versão JDK: jdk1.8
3. Ferramentas: xshell5
4. Versão VMware: VMware Workstation Pro15
Três, construção de cluster
1. Instalação de máquina virtual
Referência https://blog.csdn.net/llwy1428/article/details/89328381
2. Construção do ambiente JDK8
Consulte https://blog.csdn.net/llwy1428/article/details/85232267
3. Construção do ambiente de cluster Zookeeper
Referência https://blog.csdn.net/llwy1428/article/details/85937442
A construção do ambiente JDK e Zookeeper acima deve ser concluída em cada nó do cluster
4. Realize a configuração básica no node3.cn (após configurar as informações básicas, envie o arquivo de instalação configurado para outros nós)
Entre no catálogo
[root@node3 ~]# cd /opt/cluster/
5. Baixe e descompacte os arquivos
下载:
[root@node3 cluster]# wget https://www-eu.apache.org/dist/kafka/2.3.0/kafka_2.12-2.3.0.tgz
解压:
[root@node3 cluster]# tar zxvf kafka_2.12-2.3.0.tgz
6. Empoderamento
[root@node3 cluster]# chmod 777 -R kafka_2.12-2.3.0
Ver catálogo
7. Edite o arquivo de configuração
[root@node3 cluster]# vim /opt/cluster/kafka_2.12-2.3.0/config/server.properties
#修改以下配置
#为方便,直接将broker.id设置为了ip的最后一段,当集群中有多个Kafka时,他们的这个值必须不一样
broker.id=133
#端口暂时不变
port=9092
#hostname修改为本机的主机名
host.name=node3.cn
#可选配置项,将日志输出到指定的位置
log.dirs=/tmp/kafka-logs
#必须配置自己的zookeeper
zookeeper.connect=node3.cn:2181,node4.cn:2181,node5.cn:2181
#在配置集群的时候,必须设置
listeners = PLAINTEXT://node3.cn:9092
Nota
Se for uma versão autônoma, basta usar a configuração padrão.
Se você estiver configurando um cluster, as seguintes informações devem ser modificadas:
(1) Broker.id: No mesmo cluster, cada máquina não pode ser a mesma
(2) Zookeeper.connect: Como tenho 3 servidores zookeeper, então aqui zookeeper.connect está definido como 3, todos devem ser adicionados
(3), ouvintes: Ao configurar o cluster, ele deve ser definido, caso contrário as operações subsequentes irão reportar um erro que o líder não pode ser encontrado
8. Distribuir os arquivos configurados
[root@node3 cluster]# scp -r /opt/cluster/kafka_2.12-2.3.0 node4.cn:/opt/cluster/
[root@node3 cluster]# scp -r /opt/cluster/kafka_2.12-2.3.0 node5.cn:/opt/cluster/
9. Insira o nó node4.cn
Modifique o arquivo de configuração server.properties
[root@node4 cluster]# vim /opt/cluster/kafka_2.12-2.3.0/config/server.properties
Modificar informação
broker.id=134
listeners=PLAINTEXT://node4.cn:9092
10. Insira o nó node5.cn
Modifique o arquivo de configuração server.properties
[root@node5 cluster]# vim /opt/cluster/kafka_2.12-2.3.0/config/server.properties
Modificar informação
broker.id=135
listeners=PLAINTEXT://node5.cn:9092
11. Firewall ou configurações de porta
Cada nó do cluster fecha o firewall ou abre a porta correspondente
Desligue o firewall
关闭防火墙 : systemctl stop firewalld
查看状态 : systemctl status firewalld
开机禁用 : systemctl disable firewalld
Adicionar porta à lista de permissões
[root@node3 ~]# firewall-cmd --zone=public --add-port=9092/tcp --permanent
[root@node3 ~]# firewall-cmd --reload
12. Inicie o cluster Zookeeper e veja o status Zookeeper de cada nó no cluster
Processo: Omitido. Consulte https://hunter.blog.csdn.net/article/details/96651537
Ver o status de cada nó no cluster Zookeeper
~]# /opt/cluster/zookeeper-3.4.5-cdh5.16.1/bin/zkServer.sh status
13. Inicie o serviço Kafka em cada nó do cluster
[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon /opt/cluster/kafka_2.12-2.3.0/config/server.properties
[root@node4 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon /opt/cluster/kafka_2.12-2.3.0/config/server.properties
[root@node5 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon /opt/cluster/kafka_2.12-2.3.0/config/server.properties
14. Visualize o status de inicialização dos serviços de cada nó do cluster
15. Operar Kafka
Criar tópico
[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-topics.sh --create --zookeeper node3.cn:2181 --replication-factor 1 --partitions 1 --topic test
Criado com sucesso, conforme mostrado abaixo:
Explicação:
--zookeeper: é o endereço do servidor zk, que foi dividido por vírgulas para configurar várias
--replication-factor: o número de réplicas do líder da partição, 1 significa que não há réplica ou a própria partição e é recomendado ser 2
--partições: número de partições
--topic: tópico nome
16. Ver tópico
[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-topics.sh --list --zookeeper node3.cn:2181
17. Visualize as informações do tópico de teste
[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-topics.sh --describe --zookeeper node3.cn:2181 --topic test
Descrição:
líder: responsável por processar a leitura e escrita das mensagens, o líder é selecionado aleatoriamente em todos os nós.
Réplicas: lista todos os nós de réplica, independentemente de o nó estar em serviço.
Lsr: É o nó que está em serviço.
18. Publicar notícias
[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-console-producer.sh --broker-list node3.cn:9092 --topic test
19. Notícias do consumidor
[root@node5 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-console-consumer.sh --bootstrap-server node3.cn:9092 --topic test --from-beginning
Descrição:
desde o início: comece do zero sempre
20, excluir tópico
[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-topics --delete --zookeeper node3.cn:2181 --topic test
Quatro, gerenciamento visual de cluster
https://blog.csdn.net/llwy1428/article/details/94389615
Até agora, o Centos7.4 constrói o cluster Kafka (v2.12-2.3.0), a operação está concluída!