SpringBoot+Kafka+ELK收集日志搭建可视化框架—02.搭建Kafka集群

SpringBoot+Kafka+ELK收集日志搭建可视化框架—02.搭建Kafka集群

准备搭建所需压缩包:
1.jdk-1.8
2.zookeeper-3.4.10
3.kafka-2.11

准备搭建集群的三台服务器
三台服务器:

192.168.133.167
192.168.133.168
192.168.133.169

1.安装jdk

解压jdk
[root@localhost opt]# tar -zxvf jdk8.tar.gz 
[root@localhost opt]# ll
total 209100
drwxr-xr-x. 8   10  143       255 Mar 28  2018 jdk1.8.0_171
-rw-r--r--. 1 root root 214117177 Jul 10  2020 jdk8.tar.gz
[root@localhost opt]# 
修改 /etc/profile文件末尾添加以下几句
[root@localhost ~]# vi /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_171/
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
#保存退出后,刷新配置文件  查看jdk版本
[root@localhost opt]# source /etc/profile 
[root@localhost opt]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

2.安装zookeeper集群

kafka是依赖于zookeeper注册中心的一款分布式消息对列,所以需要有zookeeper单机或者集群环境。一般不建议直接使用 Kafka 自带的 Zookeeper 建立 zk 集群,这里我们使用独立的 zk 集群。

下载zookeeper分别上传到三台主机,下面配置192.168.133.167主机:

 http://mirror.bit.edu.cn/apache/zookeeper/
本文使用的是http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/

上传zookeeper-3.4.10到/opt目录,使用如下命令解压文件。

 #解压文件
[root@localhost opt]#  tar -zxvf zookeeper-3.4.10.tar.gz
  #重命名
[root@localhost opt]#  mv zookeeper-3.4.10   zookeeper
进入目录创建两个文件夹存放快照日志和事物日志
[root@localhost zookeeper]#mkdir data  datalog 
[root@localhost zookeeper]#mkdir

修改配置文件

进入conf目录
[root@localhost zookeeper]# cd conf
复制一份默认的zoo_sample.cfg文件修改文件名为zoo.cfg
[root@localhost conf]# cp zoo_sample.cfg  zoo.cfg 

在这里插入图片描述

接下来修改zoo.cfg 文件添加如下图所示:
[root@localhost conf]# vi zoo.cfg 

在这里插入图片描述

#tickTime:是 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,每个 tickTime 时间就会发送一个心跳。。
#initLimit:用来配置 Zookeeper 接受客户端(Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器集群中只会有一个Leader,Follower 会有多个)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过
5个心跳的时间(也就是 tickTime)长度后 Zookeeper
服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 52000=10 秒。
#syncLimit:用来标识 Leader 与Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是5
2000=10秒
#dataDir:快照日志的存储路径。
#dataLogDir:事物日志的存储路径,如果不配置这个那么事物日志会默认存储到dataDir制定的目录,当zk吞吐量较大的时候,产生的事物日志、快照日志太多会严重影响zk的性能。
#clientPort:是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

进入创建的data目录下创建myid文件

[root@localhost conf]# cd ../data
[root@localhost data]# vi myid 
内容为1    
#后面的168和169机器myid文件内容改为 2 和3

配置192.168.133.168和192.168.133.169主机步骤同上:

启动Zk服务

#进入到zookeeper的bin目录下
#启动服务
./zkServer.sh start
#启动成功后的信息:
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/ ../conf/zoo.cfg
Starting zookeeper ... STARTED

#检查服务器状态
./zkServer.sh status
#下面的状态为启动成功。
ZooKeeper JMX enabled by default
Using config:  /opt/zookeeper/bin/ ../conf/zoo.cfg
Mode: follower      
#Mode有两种类型:leader和follower,leader代表领导(主节点),follower代表下属(备节点)
#zk集群一般只有一个leader,follower有多个,主一般是相应客户端的读写请求,而从主同步数据,当主挂掉之后就会从follower里投票选举一个leader出来。

此时zookeeper集群就成功搭建完成了,下面开始搭建kafka集群。

3. 安装Kafka

上传压缩文件到/opt目录下

使用以下命令进行解压
tar -zxvf kafka_2.11-1.0.0.tgz

修改解压后的文件夹名字
mv kafka_2.11-1.0.0   kafka
进入该文件夹 创建kafka消息目录
mkdir kafkalogs

接下来修改kafka配置文件

#进入到config目录
cd /opt/kafka/config/
可以看到此目录下有关于zookeeper的一些文件,这是kafka内置的zookeeper集群,可以使用它来直接启动,但建议使用独立的zookeeper集群。

修改 server.properties一下几项

broker.id=1   #后面的每台服务器在上面需要修改一下 依次为 1 、2 、3
listeners=PLAINTEXT://192.168.133.167:9092    #后面的机器修改为各自的ip
log.dirs=/opt/kafka/kafkalogs
zookeeper.connect=192.168.133.167:2182,192.168.133.168:2183,192.168.133.167:2184      #zk集群地址

配置192.168.133.168和192.168.133.169主机步骤同上:

此时Kafka集群就成功搭建完成了,启动Kafka集群并测试。

#从启动Kafka集群(3台都需要启动)
#分别进入三台主机的kafka的根目录 
cd /opt/kafka
#启动服务
./bin/kafka-server-start.sh -daemon  /opt/kafka/config/server.properties 
# 启动命令中的 -daemon 表示以守护进程的方式启动.

测试kafka

创建主题:

#创建一个kafak_test主题,分区数为3,备份数为3
#在kafka根目录执行下面命令
./bin/kafka-topics.sh --create --zookeeper 192.168.133.167:2182 --replication-factor 3 --partitions 3 --topic kafak_test

启动生产者:

#kafka根目录执行,启动一个生产者
./bin/kafka-console-producer.sh --broker-list 192.168.133.167:9092 --topic kafak_test

不要关闭生产者窗口,再打开一个新窗口,进入到kafka根目录,启动消费者:

#启动消费者
./bin/kafka-console-consumer.sh --bootstrap-server 192.168.133.167:9092,192.168.133.168:9092,192.168.133.169:9092 --topic test --from-beginning

在生产者窗口随意发送一条消息,查看消费者是否接收成功。

参考与:https://www.cnblogs.com/bixiaoyu/p/9487539.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值