当前位置:首页 > 科技  > 软件

从零开始搭建 Kafka集群

来源: 责编: 时间:2024-05-16 09:03:56 234观看
导读一、搭建设计图片1.1. 机器分配kafka1(192.168.150.111)kafka2(192.168.150.112)kafka3(192.168.150.113)1.2.linux安装以及Jdk安装二、修改Linux主机名称hostnamectl set-hostname kafka1hostnamectl set-hostname k

一、搭建设计

图片图片zHO28资讯网——每日最新资讯28at.com

1.1. 机器分配

  • kafka1(192.168.150.111)
  • kafka2(192.168.150.112)
  • kafka3(192.168.150.113)

1.2.linux安装以及Jdk安装

二、修改Linux主机名称

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

三、配置主机名映射

在Windows系统中修改hosts文件,填入如下内容:zHO28资讯网——每日最新资讯28at.com

192.168.150.111 kafka1192.168.150.112 kafka2192.168.150.113 kafka3

图片图片zHO28资讯网——每日最新资讯28at.com

imagezHO28资讯网——每日最新资讯28at.com

图片图片zHO28资讯网——每日最新资讯28at.com

在3台Linux的/etc/hosts文件中,填入如下内容(3台都要添加)。zHO28资讯网——每日最新资讯28at.com

192.168.150.111 kafka1192.168.150.112 kafka2192.168.150.113 kafka3

四、配置SSH免密登录

后续安装的集群化软件,多数需要远程登录以及远程执行命令,我们可以简单起见,配置三台Linux服务器之间的免密码互相SSH登陆。zHO28资讯网——每日最新资讯28at.com

在每一台机器都执行:zHO28资讯网——每日最新资讯28at.com

ssh-keygen -t rsa -b 4096

一路回车到底即可 2. 在每一台机器都执行:zHO28资讯网——每日最新资讯28at.com

ssh-copy-id kafka1ssh-copy-id kafka2ssh-copy-id kafka3

执行完毕后,kafka1、kafka2、kafka3之间将完成root用户之间的免密互通。zHO28资讯网——每日最新资讯28at.com

  • 测试免密登录 完成以上步骤后,你应该能够使用SSH免密登录到目标服务器了。只需执行以下命令:ssh 用户名@remote_host。
ssh rootmkafka1ssh root@kafka2ssh root@kafka3

五、修改时区并配置自动时间同步

#1. 安装ntp软件yum install -y ntp#2. 更新时区rm -f /etc/localtime;sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime#3. 同步时间ntpdate -u ntp.aliyun.com#4. 开启ntp服务并设置开机自启systemctl start ntpdsystemctl enable ntpd

六、VMware虚拟机集群上部署Zookeeper集群

当前使用发行版:3.8.4版。zHO28资讯网——每日最新资讯28at.com

可以在https://downloads.apache.org/zookeeper/选择对应版本下载:zHO28资讯网——每日最新资讯28at.com

图片图片zHO28资讯网——每日最新资讯28at.com

注意:以下操作,kafka1节点执行,以root身份登陆。zHO28资讯网——每日最新资讯28at.com

1.上传zookeeper安装包到kafka1节点中。zHO28资讯网——每日最新资讯28at.com

2.创建/export/server/。zHO28资讯网——每日最新资讯28at.com

mkdir -p /export/server/

解压缩安装包到/export/server/中。zHO28资讯网——每日最新资讯28at.com

tar -zxvf apache-zookeeper-3.8.4.tar.gz -C /export/server/

3.在 cd /export/server/apache-zookeeper-3.8.4-bin/conf/创建zoo.cfg。zHO28资讯网——每日最新资讯28at.com

# 复制zoo_sample.cfg命名为zoo.cfgcp zoo_sample.cfg zoo.cfg

4.修改Zookeeper保存数据的目录。zHO28资讯网——每日最新资讯28at.com

mkdir -p /export/server/apache-zookeeper-3.8.4-bin/data

5.编辑zoo.cfg文件。zHO28资讯网——每日最新资讯28at.com

vim zoo.cfg

内容如下:zHO28资讯网——每日最新资讯28at.com

# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=10# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=/export/server/apache-zookeeper-3.8.4-bin/data# the port at which the clients will connectclientPort=2181server.1=192.168.150.111:2888:3888server.2=192.168.150.112:2888:3888server.3=192.168.150.113:2888:3888

图片图片zHO28资讯网——每日最新资讯28at.com

创建myid文件,配置服务器编号 服务器zookeeper的dataDir对应目录下创建 myid 文件,内容为对应ip的zookeeper服务器编号。zHO28资讯网——每日最新资讯28at.com

mkdir -p /export/server/apache-zookeeper-3.8.4-bin/dataecho 1 > /export/server/apache-zookeeper-3.8.4-bin/data/myid

7.分发zookeeper文件夹zHO28资讯网——每日最新资讯28at.com

# 在kafka1执行如下命令cd /export/serverscp -r  /export/server/apache-zookeeper-3.8.4-bin kafka2:`pwd`/scp -r  /export/server/apache-zookeeper-3.8.4-bin kafka3:`pwd`/

8.在kafka2上修改myidzHO28资讯网——每日最新资讯28at.com

echo 2 > /export/server/apache-zookeeper-3.8.4-bin/data/myid

9.在kafka3上修改myidzHO28资讯网——每日最新资讯28at.com

echo 3 > /export/server/apache-zookeeper-3.8.4-bin/data/myid

七、VMware虚拟机集群上部署Kafka集群

本次使用的Kafka版本为2.4.1,是2020年3月12日发布的版本。 可以注意到Kafka的版本号为:kafka_2.12-2.4.1,因为kafka主要是使用scala语言开发的,2.12为scala的版本号。http://kafka.apache.org/downloads可以查看到每个版本的发布时间。zHO28资讯网——每日最新资讯28at.com

图片图片zHO28资讯网——每日最新资讯28at.com

1.将Kafka的安装包上传到虚拟机。zHO28资讯网——每日最新资讯28at.com

tar -zxvf kafka_2.12-2.4.1.tgz -C /export/server/ cd /export/server/kafka_2.12-2.4.1/

2.修改 server.properties。zHO28资讯网——每日最新资讯28at.com

cd /export/server/kafka_2.12-2.4.1/configvim server.properties

内容如下:zHO28资讯网——每日最新资讯28at.com

# 指定broker的idbroker.id=0# 指定Kafka数据的位置log.dirs=/export/server/kafka_2.12-2.4.1/data# 配置zk的三个节点zookeeper.cnotallow=kafka1:2181,kafka2:2181,kafka3:2181

3.将安装好的kafka复制到另外两台服务器。zHO28资讯网——每日最新资讯28at.com

cd /export/serverscp -r apache-zookeeper-3.8.4 kafka2:`pwd`/scp -r apache-zookeeper-3.8.4 kafka3:`pwd`/

4.修改另外两个节点的broker.id分别为1和2。zHO28资讯网——每日最新资讯28at.com

---------kafka1--------------cd /export/server/kafka_2.12-2.4.1/configvim erver.propertiesbroker.id=1
---------kafka2--------------cd /export/server/kafka_2.12-2.4.1/configvim erver.propertiesbroker.id=2

八、配置Zookeeper和KAFKA_HOME环境变量

vim /etc/profileJAVA_HOME=/export/server/jdk1.8.0_361KAFKA_HOME=/export/server/kafka_2.12-2.4.1ZOKEEPER_HOME=/export/server/apache-zookeeper-3.8.4-bin/PATH=$PATH:$JAVA_HOME/bin:$KAFKA_HOME/bin:$ZOKEEPER_HOME/binexport PATH分发到各个节点scp /etc/profile kafka2:$PWDscp /etc/profile kafka2:$PWD每个节点加载环境变量source /etc/profile

九、启动Zookeeper

1.在三台机器上启动Zookeeper。zHO28资讯网——每日最新资讯28at.com

zkServer.sh start

图片图片zHO28资讯网——每日最新资讯28at.com

2.在三台机器上查看Zookeeper状态。zHO28资讯网——每日最新资讯28at.com

zkServer.sh status

图片图片zHO28资讯网——每日最新资讯28at.com

图片图片zHO28资讯网——每日最新资讯28at.com

十、启动Kafka

[root@kafka1 ~]# kafka-server-start.sh /export/server/kafka_2.12-2.4.1/config/server.properties[root@kafka2 ~]# kafka-server-start.sh /export/server/kafka_2.12-2.4.1/config/server.properties[root@kafka3 ~]# kafka-server-start.sh /export/server/kafka_2.12-2.4.1/config/server.properties

kafka1节点的Cluster Id:zHO28资讯网——每日最新资讯28at.com

图片图片zHO28资讯网——每日最新资讯28at.com

kafka2节点的Cluster Id:zHO28资讯网——每日最新资讯28at.com

图片图片zHO28资讯网——每日最新资讯28at.com

kafka3节点的Cluster Id:zHO28资讯网——每日最新资讯28at.com

图片图片zHO28资讯网——每日最新资讯28at.com

十一、查看Kakka队列

1.创建主题(名字叫test):zHO28资讯网——每日最新资讯28at.com

kafka-topics.sh --create --bootstrap-server kafka1:9092 --topic test

2.查询当前kafka的所有主题:zHO28资讯网——每日最新资讯28at.com

kafka-topics.sh --bootstrap-server kafka3:9092 --list

zHO28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-88325-0.html从零开始搭建 Kafka集群

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 八个将网页转为桌面应用程序的开源方案

下一篇: 我用 Flutter、React Native 和 Ionic 构建了相同的应用程序

标签:
  • 热门焦点
  • Redmi Pad评测:红米充满野心的一次尝试

    从Note系列到K系列,从蓝牙耳机到笔记本电脑,红米不知不觉之间也已经形成了自己颇有竞争力的产品体系,在中端和次旗舰市场上甚至要比小米新机的表现来得更好,正所谓“大丈夫生居
  • 三言两语说透设计模式的艺术-简单工厂模式

    一、写在前面工厂模式是最常见的一种创建型设计模式,通常说的工厂模式指的是工厂方法模式,是使用频率最高的工厂模式。简单工厂模式又称为静态工厂方法模式,不属于GoF 23种设计
  • 一年经验在二线城市面试后端的经验分享

    忠告这篇文章只适合2年内工作经验、甚至没有工作经验的朋友阅读。如果你是2年以上工作经验,请果断划走,对你没啥帮助~主人公这篇文章内容来自 「升职加薪」星球星友 的投稿,坐
  • 量化指标是与非:挽救被量化指标扼杀的技术团队

    作者 | 刘新翠整理 | 徐杰承本文整理自快狗打车技术总监刘新翠在WOT2023大会上的主题分享,更多精彩内容及现场PPT,请关注51CTO技术栈公众号,发消息【WOT2023PPT】即可直接领取
  • JVM优化:实战OutOfMemoryError异常

    一、Java堆溢出堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证 GC Roots 到对象之间有可达路径来避免垃 圾收集回收机制清除这些对象,当这些对象所占空间超过
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人员可能会涉及各种各样的安全任务,包括但不限于:开发某些安全工具的插件,满足自己特定的安全需求;自定义github搜索工具,快速查找所需的安全资料、漏洞poc、exp
  • 自研Exynos回归!三星Galaxy S24系列将提供Exynos和骁龙双版本

    年初,全新的三星Galaxy S23系列发布,包含Galaxy S23、Galaxy S23+和Galaxy S23 Ultra三个版本,全系搭载超频版骁龙8 Gen 2,虽同样采用台积电4nm工艺制
  • 回归OPPO两年,一加赢了销量,输了品牌

    成为OPPO旗下主打性能的先锋品牌后,一加屡创佳绩。今年618期间,一加手机全渠道销量同比增长362%,凭借一加 11、一加 Ace 2、一加 Ace 2V三款爆品,一加
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
Top