在Linux搭建Kafka集群

前言

kafka_2.13-2.8.0版本做示例,安装架构图如下所示,4台服务器,4个节点的Zookeeper集群(1主2从1观察)以及3个Kafka服务。

在Linux搭建Kafka集群
image-20210916141520025

准备工作

  • • 准备多台服务器来搭建集群环境

  • • Kafka需要Zookeeper做分布式协调,所以得先准备好Zookeeper集群。可以参考 Linux搭建Zookeeper集群[1]

  • • 给系统配置hosts简化后续配置,实际IP根据自己情况修改

echo "追加hosts配置" > /dev/null
echo '
192.168.252.131 node1
192.168.252.132 node2
192.168.252.133 node3
192.168.252.134 node4' >> /etc/hosts

echo "使hosts配置生效" > /dev/null
/etc/init.d/network restart

安装和配置

下载、解压安装包

echo "创建安装目录" > /dev/null
mkdir /opt/soft

echo "下载编译后的包" > /dev/null
wget -P ~/soft/kafka https://dlcdn.apache.org/kafka/2.8.0/kafka_2.13-2.8.0.tgz

echo "解压到安装目录下" > /dev/null
tar -xf ~/soft/kafka/kafka_2.13-2.8.0.tgz -C /opt/soft/

编辑配置,除了broker.id其他的配置一般都是一样的

echo "备份配置文件" > /dev/null
cp /opt/soft/kafka_2.13-2.8.0/config/server.properties /opt/soft/kafka_2.13-2.8.0/config/server.properties.bak

echo "编辑配置文件" > /dev/null
vim /opt/soft/kafka_2.13-2.8.0/config/server.properties
每个Kafka配置一个唯一的ID
broker.id=0
监听的端口号
listeners=PLAINTEXT://:9092
数据存放目录
log.dirs=/var/lib/kafka-logs
Zookeeper集群地址,/kafka代表数据存放目录,避免和其他应用混淆
zookeeper.connect=node1:2181,node2:2181,node3:2181/kafka

scp 将安装文件复制到其他服务器

echo "将安装文件复制到其他服务器" > /dev/null
scp -r /opt/soft/kafka_2.13-2.8.0 root@node1:/opt/soft/

配置环境变量

echo "追加KAFKA_HOME环境变量" > /dev/null
echo '
export KAFKA_HOME=/opt/soft/kafka_2.13-2.8.0
export PATH=$PATH:$KAFKA_HOME/bin' >> /etc/profile

echo "使环境变量生效" > /dev/null
source /etc/profile

启动和停止

前台启动
kafka-server-start.sh /opt/soft/kafka_2.13-2.8.0/config/server.properties

后台启动
kafka-server-start.sh -daemon /opt/soft/kafka_2.13-2.8.0/config/server.properties

停止
kafka-server-stop.sh

测试

  • • 创建Topic

创建名为test的topic,指明分配1个分区和1个副本
kafka-topics.sh --bootstrap-server node1:9092 --create --topic test --partitions 2 --replication-factor 2
Created topic test.
  • • 创建消费者

创建消费者消费test
kafka-console-consumer.sh --bootstrap-server node1:9092 --topic test
  • • 创建生产者,在命令行窗口输入消息,回车发送

创建生产者向test生产数据
kafka-console-producer.sh --broker-list node1:9092 --topic test

可以看到发送的消息都被消费了,ctrl+c 停止生产者和消费者

在Linux搭建Kafka集群
image-20210923105557806
在Linux搭建Kafka集群
image-20210923105625014
  • • 清空数据

rm -rf /var/kafka-logs

参考链接

Apache – kafka[2]

在Linux搭建Zookeeper集群[3]

引用链接

[1] 在Linux搭建Zookeeper集群: https://blog.csdn.net/qq_27022339/article/details/119674242
[2] Apache – kafka: http://kafka.apache.org/
[3] 在Linux搭建Zookeeper集群: https://blog.csdn.net/qq_27022339/article/details/119674242


原文始发于微信公众号(我有八千部下):在Linux搭建Kafka集群

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/102286.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!