搭建Kafka集群

本文详细介绍了如何在Linux服务器上部署ApacheKafka和Zookeeper集群,包括环境变量配置、Zookeeper集群配置、Kafka集群配置以及Efak管理控制台的安装和测试过程。
摘要由CSDN通过智能技术生成

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

文章目录

  • 集群版本描述
  • 配置环境变量
  • 配置 zookeeper 集群
  • 配置 Kafka 集群
  • 配置 Efak 管理控制台
  • 测试


集群版本描述

部署版本:

  • jdk-8u152-linux-x64.tar.gz

  • kafka_2.12-3.6.0.tgz

  • apache-zookeeper-3.8.3-bin.tar.gz

  • kafka-eagle-bin-3.0.1.tar.gz

kafka部署分为单机版本和集群版本,准备3台服务器

服务IP
Kafka1

192.168.200.22

Kafka2192.168.200.23
Kafka3192.168.200.24

IP改成自己的!!!!


配置环境变量

拷贝JDK、Kafka到服务器中并解压,配置环境变量

# 编辑 profile
vim /etc/profile

# profile文件添加内容
JAVA_HOME=/opt/jdk1.8.0_152
KAFKA_HOME=/opt/kafka_2.12-3.6.0
PATH=/opt/jdk1.8.0_152/bin:/opt/kafka/bin:$PATH
export JAVA_HOME KAFKA_HOME PATH

# 激活 profile
source /etc/profile

# 设置主机名

hostnamectl set-hostname kafka1
hostnamectl set-hostname kafka2
hostnamectl set-hostname kafka3

# 查询主机名
hostname

配置 zookeeper 集群

拷贝zookeeper到服务器中并解压,修改zoo.cfg 配置文件

dataDir=/opt/apache-zookeeper-3.8.3-bin/data
server.1=192.168.200.22:2888:3888
server.2=192.168.200.23:2888:3888
server.3=192.168.200.24:2888:3888

server.A=B:C:D
A是一个数字,表示这个是第几号服务器。集群模式下需要在zoo.cfg中dataDir指定的目录下创建一个文件myid,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。
B是这个服务器的地址。
C是这个服务器Follower与集群中的Leader服务器交换信息的端口。
D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口

在所有的zookeeper目录下创建data目录

mkdir data

zookeeper目录下创建data目录,在data目录创建myid文件并写内容

server.1服务器对应data目录下myid内容为1

server.2服务器对应data目录下myid内容为2

server.3服务器对应data目录下myid内容为3

启动zookeeper,3台zookeeper都启动后,查询状态,如果能看到 mode 表示集群配置完成

[root@w92-196-voip-test-1 bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.8.3-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@w92-196-voip-test-1 apache-zookeeper-3.8.3-bin]# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.8.3-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

配置 Kafka 集群

解压kafka,修改配置文件

vim server.properties

broker.id=1
listeners=PLAINTEXT://192.168.200.22:9092
zookeeper.connect=192.168.200.22:2181,192.168.200.23:2181,192.168.200.24:2181

broker.id=2
listeners=PLAINTEXT://1192.168.200.23:9092
zookeeper.connect=192.168.200.22:2181,192.168.200.23:2181,192.168.200.24:2181

broker.id=3
listeners=PLAINTEXT://192.168.200.24:9092
zookeeper.connect=192.168.200.22:2181,192.168.200.23:2181,1192.168.200.24:2181

配置 Efak 管理控制台

官网地址:EFAK

拷贝JDK、Kafka到服务器中并解压,配置环境变量

# 编辑 profile
vim /etc/profile

# profile文件添加内容
JAVA_HOME=/opt/jdk1.8.0_152
KE_HOME=/opt/efak
PATH=$JAVA_HOME/bin:$KE_HOME/bin:$PATH
export JAVA_HOME KE_HOME PATH

# 激活 profile
source /etc/profile

修改配置文件

efak.zk.cluster.alias=cluster1
cluster1.zk.list=192.168.200.22:2181,192.168.200.23:2181,192.168.200.24:2181

efak.driver=com.mysql.cj.jdbc.Driver
efak.url=jdbc:mysql://192.168.200.20:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=root
efak.password=root

创建mysql数据库

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=root \
--restart=always \
-d mysql:5.7.35

启动测试

./ke.sh start
Welcome to
    ______    ______    ___     __ __
   / ____/   / ____/   /   |   / //_/
  / __/     / /_      / /| |  / ,<   
 / /___    / __/     / ___ | / /| |  
/_____/   /_/       /_/  |_|/_/ |_|  
( Eagle For Apache Kafka® )

Version v3.0.1 -- Copyright 2016-2022
*******************************************************************
* EFAK Service has started success.
* Welcome, Now you can visit 'http://192.168.200.20:8048'
* Account:admin ,Password:123456
*******************************************************************
* <Usage> ke.sh [start|status|stop|restart|stats] </Usage>
* <Usage> https://www.kafka-eagle.org/ </Usage>
*******************************************************************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值