1. Instale y use kafka
1. Descargue el paquete de instalación de kafka y
seleccione la descarga binaria
2. Descomprima
tar -zxvf kafka_2.13-2.6.0.tgz -C ./
Después de la descompresión, ingrese al directorio kafka
3. Modifique el archivo de configuración (en el directorio config)
vim server.properties
Requerir único en todo el clúster
broker.id=0
Permitir conexiones externas
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://192.168.xx.xx:9092
Direcciones de nodo de Zookeeper, separadas por comas ","
zookeeper.connect=localhost:2181
4. Inicie zookeeper (en el directorio kafka) y ejecútelo en segundo plano.
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
Después del inicio, puede ver el proceso QuorumPeerMain
jps
5074 Jps
5032 QuorumPeerMain
5. Inicie Kafka
bin/kafka-server-start.sh -daemon config/server.properties
Después del inicio, puede ver el proceso Kafka
jps
5446 Kafka
5510 Jps
5032 QuorumPeerMain
---- Detenga el proceso kafka
bin/kafka-server-stop.sh
---- Inicie el consumidor
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic 主题名 --from-beginning
---- Iniciar el productor
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic 主题名
Dos, instalación de canal y uso
1, descargue el paquete de instalación,
seleccione la descarga binaria
2, descomprima
tar -xvf apache-flume-1.9.0-bin.tar
Después de la descompresión, ingrese al directorio flume
3. Modifique el archivo de configuración (en el directorio config)
cp flume-conf.properties.template flume-conf.properties
vim flume-conf.properties
a1.sources = s1
a1.channels = c1
a1.sinks = k1
a1.sources.s1.type = syslogudp
a1.sources.s1.bind = 0.0.0.0
a1.sources.s1.port = 44444
a1.channels.c1.type = memory
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.kafka.topic = DjangoLog(主题名称)
a1.sinks.k1.kafka.bootstrap.servers = 192.168.xx.xx:9092
a1.sources.s1.channels = c1
a1.sinks.k1.channel = c1
4. Inicie el canal
bin/flume-ng agent --conf conf/ --conf-file conf/flume-conf.properties --name a1 &
5. Pruebe si flume puede recibir el mensaje
telnet 192.168.xx.xxx 44444
telnet 192.168.xx.xxx 44444
Trying 192.168.xx.xxx...
Connected to 192.168.xx.xxx.
Escape character is '^]'.
123
OK
6. Utilice la vista de consumidor de Kafka
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic DjangoLog --from-beginning
123