腾讯云~kafka伪集群搭建

Posted gblfy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了腾讯云~kafka伪集群搭建相关的知识,希望对你有一定的参考价值。

文章目录

一、zookeeper伪集群搭建

腾讯云安装参考:腾讯云~ zookeeper集群安装、配置、验证

在同一台服务器上,以不同端口(2181,2182,2183)运行三个zookeeper,形成一个伪集群

1. 下载安装包
cd /app
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
2. 解压安装包
tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz
mv apache-zookeeper-3.8.0-bin/ zookeeper-2181
3. 创建目录
cd /app/zookeeper-2181
mkdir data logs
4. 修改配置文件
cd /app/zookeeper-2181/conf
cp zoo_sample.cfg zoo.cfg
5. 修改dataDir,clientPort两个配置项

修改

dataDir=/app/zookeeper-2181/data
clientPort=2181

并添加以下配置项

dataLogDir=/app/zookeeper-2181/logs
server.1=localhost:2287:3387
server.2=localhost:2288:3388
server.3=localhost:2289:3389
5. 在data目录下创建myid文件
cd /app/zookeeper-2181/data
vim myid

在myid中指定节点id,在一个集群中不能重复。例如:将2181节点的id设置为1,2182节点设置为2,2183节点设置为3

6. 复制多个zookeeper
cd /app
cp -r zookeeper-2181 zookeeper-2182
cp -r zookeeper-2181 zookeeper-2183

修改conf/zoo.cfg配置文件中的配置,参考第4小节

7. 修改内存大小

在各个节点的配置目录下,新增配置配置文件

cd /app/zookeeper-2181/conf
vim zkEnv.sh

添加以下内容

#!/bin/sh
export JVMFLAGS="-Xms100m -Xmx100m $JVMFLAGS"

2182/2183依次新增

8. 启动zookeper

进入到每个zookeeper中,启动zookeeper

cd /app/zookeeper-2181
./bin/zkServer.sh start conf/zoo.cfg
9. 查看zookeeper运行状态
for i in 1,2,3; do sh /opt/module/zookeeper/zookeeper-218$i/bin/zkServer.sh status; done

查看某个节点的状态

/app/zookeeper-2181/bin/zkServer.sh status
二、kafka 伪集群搭建

在同一台服务器上,以不同的端口(9091,9092,9093)启动三个kafka节点,组成伪集群

2.1. 下载
cd /app
wget https://archive.apache.org/dist/kafka/2.4.0/kafka_2.13-2.4.0.tgz
2.2. 解压安装包
tar -zxvf kafka_2.13-2.4.0.tgz
mv kafka_2.13-2.4.0 kafka_9091
2.3. 新建目录
mkdir /app/kafka_9091/logs -p
2.4. 修改配置文件

复制配置修改server1.properties配置

cd /app/kafka_9091/config

修改配置文件server.properties

broker.id=1
listeners=PLAINTEXT://localhost:9091
log.dirs=/app/kafka_9091/logs
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
  • broker.id:节点id,在同一个集群中,不能重复
  • listeners:节点监听的端口,在同一台机器上,也不能相同
  • log.dris:存储数据的位置
  • zookeeper.connect:zookeeper集群的连接地址
2.5. 复制多个kafka
cd /app
cp -r kafka_9091 kafka_9092
cp -r kafka_9091 kafka_9093
2.6. 配置kafka9092
cd /app/kafka_9092/config

修改配置文件server.properties

broker.id=2
listeners=PLAINTEXT://localhost:9092
log.dirs=/app/kafka_9092/logs
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
  • broker.id:节点id,在同一个集群中,不能重复
  • listeners:节点监听的端口,在同一台机器上,也不能相同
  • log.dris:存储数据的位置
  • zookeeper.connect:zookeeper集群的连接地址
2.7. 配置kafka9093
cd /app/kafka_9093/config

修改配置文件server.properties

broker.id=3
listeners=PLAINTEXT://localhost:9093
log.dirs=/app/kafka_9093/logs
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
  • broker.id:节点id,在同一个集群中,不能重复
  • listeners:节点监听的端口,在同一台机器上,也不能相同
  • log.dris:存储数据的位置
  • zookeeper.connect:zookeeper集群的连接地址
2.8. 修改内存大小

在各个节点下,修改脚本文件

  • kafka 9091节点
cd /app/kafka_9091/bin
vim kafka-server-start.sh

修改配置项KAFKA_HEAP_OPTS

export KAFKA_HEAP_OPTS="-Xmx200M -Xms200M"
  • kafka 9092节点
cd /app/kafka_9092/bin
vim kafka-server-start.sh

修改配置项KAFKA_HEAP_OPTS

export KAFKA_HEAP_OPTS="-Xmx200M -Xms200M"
  • kafka 9093节点
cd /app/kafka_9093/bin
vim kafka-server-start.sh

修改配置项KAFKA_HEAP_OPTS

export KAFKA_HEAP_OPTS="-Xmx200M -Xms200M"
2.9. 防火墙策略
firewall-cmd --zone=public --add-port=9091/tcp --permanent
firewall-cmd --zone=public --add-port=9092/tcp --permanent
firewall-cmd --zone=public --add-port=9093/tcp --permanent
firewall-cmd --reload

2.10. 启动kafka集群

前台启动

./bin/kafka-server-start.sh config/server.properties 
  • kafka 9091节点
cd /app/kafka_9091
./bin/kafka-server-start.sh -daemon config/server.properties 
  • kafka 9092节点
cd /app/kafka_9092
./bin/kafka-server-start.sh -daemon config/server.properties 
  • kafka 9093节点
cd /app/kafka_9093
./bin/kafka-server-start.sh -daemon config/server.properties 
2.11. 关闭kafka
  • kafka 9091节点
cd /app/kafka_9091/bin
./bin/kafka-server-stop.sh -daemon config/server.properties 
  • kafka 9092节点
cd /app/kafka_9092/bin
./bin/kafka-server-stop.sh -daemon config/server.properties 
  • kafka 9093节点
cd /app/kafka_9093/bin
./bin/kafka-server-stop.sh -daemon config/server.properties 
三、测试
3.1. 创建Topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic gblfy-topic
3.2. 查看已经创建的Topic信息
bin/kafka-topics.sh --list --zookeeper localhost:2181

或者

bin/kafka-topics.sh --bootstrap-server localhost:9091,localhost:9092,localhost:9093 --list

查询效果一样,因为zk本身咱们就是集群,信息共享

3.3. 发送消息

消息发送命令

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic gblfy-topic

消息内容:

"domainName":"gblfy.com","operation":"666"

3.4. 创建Topic

在开一个窗口

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic gblfy-topic

3.5. kafka集群搭建

kafka集群下载、启动、部署、测试
https://gblfy.blog.csdn.net/article/details/104428791

以上是关于腾讯云~kafka伪集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

Kafka 单机和伪分布式集群搭建

腾讯云Kafka海量服务自动化运营实践

Kafka Kafka集群搭建

二 用docker compose搭建kafka集群

便捷高效的搭建Kafka集群和批量启动脚本

便捷高效的搭建Kafka集群和批量启动脚本