nginx日志收集分析平台搭建3-搭建kafka

19 篇文章 5 订阅
本文档详细介绍了如何在三台机器上搭建Kafka集群,包括安装Java、Kafka和Zookeeper,配置Kafka的server.properties和Zookeeper的zoo.cfg,以及启动和测试过程。重点强调了启动顺序和日志的重要性,最后通过创建topic和测试生产消费来验证集群的正常运行。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


搭建kafka

kafka是什么?
kafka:消息中间件
典型的生产者消费者模型,一边生产一边消费

为什么要使用kafka?
使用kafka做日志统一收集
1、故障发送时方便定位问题
2、日志集中管理,后续需要日志的程序直接从kafka获取日志即可,尽可能减少日志处理对nginx的影响

kafka通常用于:日志收集、业务解耦、流量削峰


这里使用三台机器搭建kafka集群,三台机器都要搭建好kafka

1、安装

安装java

yum install java wget -y

安装kafka

wget https://mirrors.bfsu.edu.cn/apache/kafka/2.8.1/kafka_2.12-2.8.1.tgz --no-check-certificate

安装zookeeper

wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz --no-check-certificate

解包kafka和zk(在/opt目录下进行)

tar xf kafka_2.12-2.8.1.tgz
tar xf apache-zookeeper-3.6.3-bin.tar.gz

2、配置kafka

修改/opt/kafka_2.12-2.8.1/config/server.properties文件
注意每台机器的broker.id不一样,主机名不一样,其他的配置都一样

机器一

[root@nginx-kafka01 config]# vim server.properties 
broker.id=1           
listeners=PLAINTEXT://nginx-kafka01:9092
log.dirs=/data
num.partitions=3
zookeeper.connect=192.168.225.146:2181,192.168.225.147:2181,192.168.225.148:2181

机器二

[root@nginx-kafka02 config]# vim server.properties 
broker.id=2
listeners=PLAINTEXT://nginx-kafka02:9092
log.dirs=/data
num.partitions=3
zookeeper.connect=192.168.225.146:2181,192.168.225.147:2181,192.
168.225.148:2181

机器三

[root@nginx-kafka03 config]# vim server.properties 
broker.id=3
listeners=PLAINTEXT://nginx-kafka03:9092
log.dirs=/data
num.partitions=3
zookeeper.connect=192.168.225.146:2181,192.168.225.147:2181,192.168.225.148:2181

3、配置zookeeper

配置文件的路径: /opt/apache-zookeeper-3.6.3-bin/conf

1、复制

[root@nginx-kafka01 conf]# pwd
/opt/apache-zookeeper-3.6.3-bin/conf
[root@nginx-kafka01 conf]# cp zoo_sample.cfg zoo.cfg

2、修改zoo.cfg(每台机器的zoo.cfg文件里加入以下三行)

[root@nginx-kafka01 conf]# vim zoo.cfg
server.1=192.168.225.146:3888:4888
server.2=192.168.225.147:3888:4888
server.3=192.168.225.148:3888:4888

3、宣告id (宣告的id要和server后面的id对应上,如1号是192.168.225.146)

[root@nginx-kafka01 conf]# mkdir /tmp/zookeeper
[root@nginx-kafka01 conf]# echo 1 > /tmp/zookeeper/myid
[root@nginx-kafka02 conf]# mkdir /tmp/zookeeper
[root@nginx-kafka02 conf]# echo 2 > /tmp/zookeeper/myid
[root@nginx-kafka03 conf]# mkdir /tmp/zookeeper
[root@nginx-kafka03 conf]# echo 3 > /tmp/zookeeper/myid

4、启动zookeeper(三台全部启动,再查看状态,是否有leader和follower)

[root@nginx-kafka03 bin]# pwd
/opt/apache-zookeeper-3.6.3-bin/bin
[root@nginx-kafka01 bin]# ./zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
# 机器二、三同样的操作
[root@nginx-kafka02 bin]# ./zkServer.sh start
[root@nginx-kafka03 bin]# ./zkServer.sh start
# 查看状态
[root@nginx-kafka02 bin]# ./zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader

5、启动kafka(以守护进程的形式启动)

[root@nginx-kafka01 bin]# cd /opt/kafka_2.12-2.8.1
[root@nginx-kafka01 kafka_2.12-2.8.1]# bin/kafka-server-start.sh -daemon config/server.properties
[root@nginx-kafka01 kafka_2.12-2.8.1]# ps -ef |grep kafka

注意:
开启zookeeper和kafka的时候,一定是先启动zookeeper,再启动kafka。
关闭服务的时候,先关闭kafka,再关闭zookeeper。

4、测试

1、创建topic (test)

[root@nginx-kafka02 bin]# cd /opt/kafka_2.12-2.8.1
[root@nginx-kafka02 kafka_2.12-2.8.1]# bin/kafka-topics.sh --create --zookeeper 192.168.225.147:2181 --replication-factor 3 --partitions 3 --topic test

2、查看topic

[root@nginx-kafka02 kafka_2.12-2.8.1]# bin/kafka-topics.sh --list --zookeeper 192.168.225.147:2181

请添加图片描述

3、创建生产者

[root@nginx-kafka02 kafka_2.12-2.8.1]# bin/kafka-console-producer.sh --broker-list 192.168.225.147:9092 --topic test

在机器二创建生产者,生产数据
请添加图片描述

4、创建消费者

[root@nginx-kafka03 kafka_2.12-2.8.1]# bin/kafka-console-consumer.sh --bootstrap-server 192.168.225.148:9092 --topic test --from-beginning

在机器三创建消费者,消费数据
请添加图片描述


总结

学会看日志
看日志中的error信息,定位错误
kafka的日志在/opt/kafka_2.12-2.8.1/logs下,主要看server.log
zookeeper的日志在/opt/apache-zookeeper-3.6.3-bin/logs下,看以.out结尾的文件
常见错误:
防火墙没关,ip地址映射错误,服务没起来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值