Bootstrap

单机版kafka安装教程与注意事项

由于需要完成使用filebeat从日志文件采集特征日志到kafka,然后消费kafka读取日志信息,做处理后存入starrocks中,用于指标数据的统计和关键日志的记录,需要安装一个单机版的kafka用于开发期间使用,kafka单机版网上教程较多就不再赘述。这边使用的是一个博主的安装教程,使用的是kraft模式,免去了ZK的安装,安装过程还是比较顺利的,但是实际使用时有一些坑,故稍微记录一下,以便后续查看。

参考安装教程如下:kafka3.4.0单机版安装配置教程(kraft模式舍弃ZK)_基于kraft方式部署单机版-CSDN博客

kafka安装地址:192.168.0.1:9092

filebeat安装地址:192.168.0.2

安装完毕后,kafka生产者和消费者可以成功生产和消费消息,本来以为配置完filebeat配置就可以直接将采集的日志吐到kafka了,但是查看filebeat启动日志一直报请求localhost:9092被拒绝,当时已经疑惑为什么会是localhost:9092而不是我配置的192.168.0.1:9092呢?查找资料未果,后面一气之下,直接把kafka重装了一遍放到了192.168.0.2,问题成功解决...(导致这个现象的原因可能是由于下面所述配置未修改!创建kafka主题时也直接使用的IP而不是localhost,不过估计没影响,例如:bin/kafka-topics.sh --bootstrap-server 192.168.0.2:9092 --create --topic test --partitions 1 --replication-factor 1

filebeat配置如下:(kafka在192.168.0.1安装时的配置,后续更换安装地址要修改filebeat配置中的kafka地址)

观察启动日志启动命令:

/elk/filebeat-5.5.2-linux-x86_64/filebeat -e -c /data/test.filebeat.yml

后台启动:/elk/filebeat-5.5.2-linux-x86_64/filebeat -c /data/test.filebeat.yml &

配置文件名称:test.filebeat.yml

filebeat.prospectors:
- input_type: log
  paths:
    - /data/logs/info/*.log #测试使用
  tail_files: true
  document_type: "test_local_log"        #模块名称,必填

max_procs: 1
max_bytes: 50000
name: "192.168.0.2"      #当前服务器ip,必填

output.kafka:
  hosts: ["192.168.0.1:9092"]
  topic: "test"

后续在日志处理程序中配置了kafka的配置,并且连接成功,但是奇怪是日志一直在请求localhost:9092,一直报错:Connection to node 1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.

后续查询得知需要配置:server.properties文件中的两个配置

#   FORMAT:
#     listeners = listener_name://host_name:port
#   EXAMPLE:
#     listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://:9092,CONTROLLER://:9093

advertised.listeners=PLAINTEXT://192.168.0.2:9092

重启kafka,问题成功解决,需要注意的是kraft模式安装的,需要更改的配置是/kafka340/config/kraft目录里面的server.properties文件,而不是/kafka340/config目录下的server.properties,否则不会生效!

我的做法是使用cat *.properties |grep 9092命令找出/kafka340/config/kraft目录中所有配置文件中localhost:9092将其修改为:192.168.0.2:9092,重启kafka后即看到了采集的日志成功进入日志处理程序之中。

;