Kafka【六】Linux下安装Kafka(Zookeeper)集群

Kafka从早期的消息传输系统转型为开源分布式事件流处理平台系统,所以很多核心组件,核心操作都是基于分布式多节点的。本文这里采用三台虚拟机模拟真实物理主机搭建Zookeeper集群和kafka集群。

VMware可以使用户在一台计算机上同时运行多个操作系统,还可以像Windows应用程序一样来回切换。用户可以如同操作真实安装的系统一样操作虚拟机系统,甚至可以在一台计算机上将几个虚拟机系统连接为一个局域网或者连接到互联网。生产环境中,我们会使用多台服务器搭建Kafka集群系统,但是对于学习来讲,准备多台独立的服务器还是比较困难的,所以我们这里采用虚拟机的方式进行学习。

在这里插入图片描述

【1】安装jdk1.8

① 卸载现有jdk

# 不同节点都要执行操作
rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps

② 上传压缩包

将jdk-8u212-linux-x64.tar.gz文件上传到虚拟机的/opt/softinstall目录中

③ 解压JDK到/opt/module目录下

[root@localhost ~]# cd /opt/softinstall/[root@localhost ~]# tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

④ 配置JDK环境变量

新建/etc/profile.d/my_env.sh文件,

 vim /etc/profile.d/my_env.sh

添加如下内容,保存后退出。

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

使新的环境变量PATH生效

source /etc/profile

检测是否生效:

[root@centos3 softinstall]# java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)

三个节点上都要配置jdk环境。

【2】安装Zookeeper

① 上传ZooKeeper压缩包

apache-zookeeper-3.7.1-bin.tar.gz文件上传到三台虚拟机的/opt/softinstall目录中

② 解压ZooKeeper压缩包

# 进入到/opt/softinstall目录中
cd /opt/softinstall/# 解压缩文件到指定目录
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/module/# 进入/opt/module目录
cd /opt/module# 文件目录改名
mv apache-zookeeper-3.7.1-bin/ zookeeper

③ 配置服务器编号

(1)在/opt/module/zookeeper/目录下创建zkData

# 进入/opt/module/zookeeper目录
cd /opt/module/zookeeper
# 创建zkData文件目录
mkdir zkData

(2)创建myid文件

# 进入/opt/module/zookeeper/zkData目录 
cd /opt/module/zookeeper/zkData# 创建myid文件
vim myid

(3)在文件中增加内容

1

服务器与编号对应关系如下:

Centos1:1
Centos2:2
Centos3:3

④ 修改配置文件

(1)重命名/opt/module/zookeeper/conf目录下的zoo_sample.cfg文件为zoo.cfg文件

# 进入cd /opt/module/zookeeper/conf文件目录
cd /opt/module/zookeeper/conf# 修改文件名称
mv zoo_sample.cfg zoo.cfg

(2)修改zoo.cfg文件

# 修改文件内容
vim zoo.cfg# 以下内容为修改内容
dataDir=/opt/module/zookeeper/zkData# 以下内容为新增内容
####################### cluster ##########################
# server.A=B:C:D
#
# A是一个数字,表示这个是第几号服务器
# B是A服务器的主机名
# C是A服务器与集群中的主服务器(Leader)交换信息的端口
# D是A服务器用于主服务器(Leader)选举的端口
#########################################################
server.1=centos1:2888:3888
server.2=centos2:2888:3888
server.3=centos3:2888:3888

上述操作针对其他两台虚拟机同样执行。

⑤ 启动/关闭/查看状态

启动ZooKeeper

# 进入zookeeper目录
cd /opt/module/zookeeper# 启动ZK服务
bin/zkServer.sh start

关闭ZooKeeper

# 进入zookeeper目录
cd /opt/module/zookeeper# 关闭ZK服务
bin/zkServer.sh stop

查看ZooKeeper状态

# 进入zookeeper目录
cd /opt/module/zookeeper# 查看ZK服务状态
bin/zkServer.sh status

JPS检测,QuorumPeerMain表示Zookeeper进程

[root@centos1 zookeeper]# jps
2619 Jps
2541 QuorumPeerMain

使用客户端工具可以看到此时Zookeeper的节点:

在这里插入图片描述

【3】安装Kafka

① 上传Kafka压缩包

kafka_2.12-3.6.1.tgz文件上传到三台虚拟机的/opt/softinstall/目录中

② 解压Kafka压缩包

# 进入/opt/softinstall目录
cd /opt/softinstall# 解压缩文件到指定目录
tar -zxvf kafka_2.12-3.6.1.tgz -C /opt/module/# 进入/opt/module目录
cd /opt/module# 修改文件目录名称
mv kafka_2.12-3.6.1/ kafka

③ 修改配置文件

# 进入cd /opt/module/kafka/config文件目录
cd /opt/module/kafka/config# 修改配置文件
vim server.properties

参考如下配置:

#broker的全局唯一编号,每个服务节点不能重复,只能是数字。
broker.id=1#broker对外暴露的IP和端口 (每个节点单独配置)
advertised.listeners=PLAINTEXT://centos1:9092
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘IO的线程数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#kafka运行日志(数据)存放的路径,路径不需要提前创建,kafka自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/opt/module/kafka/datas
#topic在当前broker上的分区个数
num.partitions=1
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
# 每个topic创建时的副本数,默认时1个副本
offsets.topic.replication.factor=1
#segment文件保留的最长时间,超时将被删除
log.retention.hours=168
#每个segment文件的大小,默认最大1G
log.segment.bytes=1073741824
# 检查过期数据的时间,默认5分钟检查一次是否数据过期
log.retention.check.interval.ms=300000
#配置连接Zookeeper集群地址(在zk根目录下创建/kafka,方便管理)
zookeeper.connect=centos1:2181,centos2:2181,centos3:2181/kafka

centos2节点需要修改如下:

#broker的全局唯一编号,每个服务节点不能重复,只能是数字。
broker.id=2
#broker对外暴露的IP和端口 (每个节点单独配置)
advertised.listeners=PLAINTEXT://centos2:9092
log.dirs=/opt/module/kafka/datas
#配置连接Zookeeper集群地址(在zk根目录下创建/kafka,方便管理)
zookeeper.connect=centos1:2181,centos2:2181,centos3:2181/kafka

centos3节点需要修改如下:

#broker的全局唯一编号,每个服务节点不能重复,只能是数字。
broker.id=3
#broker对外暴露的IP和端口 (每个节点单独配置)
advertised.listeners=PLAINTEXT://centos3:9092
log.dirs=/opt/module/kafka/datas
#配置连接Zookeeper集群地址(在zk根目录下创建/kafka,方便管理)
zookeeper.connect=centos1:2181,centos2:2181,centos3:2181/kafka

④ 配置环境变量

(1)修改 /etc/profile.d/my_env.sh文件

vim /etc/profile.d/my_env.sh

(2)添加内容

#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin

(3)让环境变量生效

source /etc/profile.d/my_env.sh

⑤ 启动/关闭kafka

启动Kafka,启动前请先启动ZooKeeper服务

# 进入/opt/module/kafka目录
cd /opt/module/kafka# 执行启动指令
bin/kafka-server-start.sh -daemon config/server.properties

此时再查看Zookeeper节点如下所示:

在这里插入图片描述

关闭Kafka

# 进入/opt/module/kafka目录
cd /opt/module/kafka# 执行关闭指令
bin/kafka-server-stop.sh

关闭kafka后,查看Zookeeper节点会发现已下线:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/418526.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用AI写WebSocket知识是一种怎么样的体验?

一、WebSocket基础知识 1. WebSocket概念 1.1 为什么会出现WebSocket 一般的Http请求我们只有主动去请求接口,才能获取到服务器的数据。例如前后端分离的开发场景,自嘲为切图仔的前端大佬找你要一个配置信息的接口,我们后端开发三下两下开…

Windows下的Redis启动报错Redis service failed to start

报错原因:Redis服务没有找到log文件 解决方案: 1、在Redis目录下打开redis.windows-service.conf文件 2、找到logfile存放目录,一般默认为Logs/redis_log.txt 3、在Redis目录创建Logs文件夹,在Logs文件夹下创建redis_log.txt文件…

机器学习数学公式推导之降维

文章目录 降维线性降维-主成分分析 PCA损失函数SVD 与 PCoASVD 的基本形式SVD 的计算p-PCA 小结 P22 (系列五) 降维1-背景 本文参考 B站UP: shuhuai008 🌹🌹 降维 我们知道,解决过拟合的问题除了正则化和添加数据之外,降维就是最…

自己部门日均1000+告警?如何减少90%无效告警?

目录标题 一、告警的类别1.技术告警1.1基础设施告警1.2基本服务告警 2.业务告警3.监控大盘告警 二、为何需要告警治理?三、治理迫在眉睫1.1告警治理策略1.2核心监控告警点1.3避免告警反模式1.4告警规约制定1.5自动化处理 一、告警的类别 一般的告警分为以下几点&am…

连续信号的matlab表示

复习信号与系统以及matlab 在matlab中连续信号使用较小的采样间隔来表四 1.单位阶跃信号 阶跃信号:一个理想的单位阶跃信号在时间 t 0 之前值为0,在 t 0 及之后值突然变为常数 A(通常取 A 1) %matlab表示连续信号,是让信号的采样间隔很小…

数据类型转换

1. 基本数据类型转换 1.1 自动类型转换 1.2 注意 1.3 强制类型转换 2. String 与基本数据类型的转换 2.1 基本数据类型转 String public class StringConvert{public static void main(String []args){//基本数据类型-->Stringbyte a1;short b10;int c100;long d1000;…

什么是网络安全?

目录 网络安全定义 网络安全如何运作? 1.人 2.基础设施 3.漏洞 4.技术 网络安全的演变 未来十年的网络安全将会是什么样子? 网络安全为何对企业如此重要? 网络安全的类型 1.网络安全 2.应用程序安全 3.信息安全 4.运营安全 5.灾…

SAP与湃睿PLM系统集成案例

一、项目背景 浙江某家用电机有限公司, 该公司的产品涵盖洗衣机、‌空调、‌冰箱及厨房用具等家电电机的制造,‌具备年产4600万台电机的生产能力,‌是中国最大的家电电机生产基地之一。 为确保工艺路线信息在设计与生产执行层面的无缝传递&#xff0…

c语言——用一维数组输出杨辉三角形

一.代码 #include <stdio.h> int Num[100]; int Hang; int Lie; int a; int Flag; int main() {Lie 1;Hang 1;a 0;while (1) {//列1为1if (Lie 1) {Num[1] 1;Lie;}//数据存到数组里面while (Hang > Lie && Hang ! 2) { if (Hang!Lie) {Flag Num[Lie] …

端口安全老化细节

我们都知道port-security aging-time命令用来配置端口安全动态MAC地址的老化时间&#xff0c;但是后面还可以加上类型&#xff1a; [SW1-GigabitEthernet0/0/1]port-security aging-time 5 type absolute Absolute time 绝对老化 inactivity Inactivity time相对老化 …

原型模式prototype

此篇为学习笔记&#xff0c;原文链接 https://refactoringguru.cn/design-patterns/prototype 能够复制已有对象&#xff0c; 而又无需使代码依赖它们所属的类 所有的原型类都必须有一个通用的接口&#xff0c; 使得即使在对象所属的具体类未知的情况下也能复制对象。 原型对…

形态学运算合集

圆形结构元素 禹晶、肖创柏、廖庆敏《数字图像处理&#xff08;面向新工科的电工电子信息基础课程系列教材&#xff09;》 禹晶、肖创柏、廖庆敏《数字图像处理》资源二维码

Java项目: 基于SpringBoot+mybatis+maven+mysql图书馆管理系统(含源码+数据库+任务书+答辩PPT+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismavenmysql图书馆管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操…

vue项目打包后,生成的index.html直接本地打开后没内容

应该是文件路径找不到了 可以打开控制台看看 可以看到加载css&#xff0c;js&#xff0c;图标资源失败&#xff0c;所以是文件路径问题 vue-cli工程化生成的项目在打包后&#xff0c;默认的资源寻找路径是根&#xff0c;所以可以看到它直接在/F;/favicon找图标&#xff0c;但…

PMBOK® 第六版 项目进度管理知识领域

目录 读后感—PMBOK第六版 目录 提到“进度”&#xff0c;大家都能直观理解其含义。有统计指出&#xff0c;现在项目的延迟交付比例越来越高&#xff0c;并且这一趋势持续上升。造成项目延期的原因是多方面的&#xff0c;常见的原因之一是在项目初期&#xff0c;由于时间充裕&…

mysql笔记—基础

1.SQL语句 DDL&#xff08;数据库对象操作&#xff09;、DML&#xff08;增删改&#xff09;、DQL&#xff08;查询&#xff09;、DCL&#xff08;用户和权限操作&#xff09; 2.DDL&#xff1a; 1.数据库操作&#xff1a; show databases; create database []; use []; sele…

简单梳理一个历史脉络

B 站上王山水老师的一个视频引发的思考&#xff1a;没有司马篡国&#xff0c;能避免300年的大乱世吗&#xff1f; 我的答案如下&#xff1a; 视野放宽到欧亚大陆&#xff0c;广义上公元184年黄巾军起义开启内乱&#xff0c;狭义上公元220年正式进入三国&#xff0c;280年晋统一…

JavaFX基本控件-Button

JavaFX基本控件-Button 常用属性textpaddingalignmenttextAlignmentwidthheighttooltipborderwrapTextellipsisStringunderlinegraphicgraphicTextGapdisable 实现方式Java实现fxml实现 常用属性 text 设置文本内容 button.setText("测试按钮");padding 内边距 butt…

多波束EM2040D以及POSMV使用记录

多波束EM2040D采集软件SIS4.3升级到SIS5.11之后&#xff0c;我们碰到了很多问题&#xff0c;现在将问题和解决过程记录一下。 1、SIS5软件打不开 SIS5软件打不开&#xff0c;报KSlSMainApp has stopped working弹框。 ​ 判断是电脑问题&#xff0c;更新最新win10系统&#…

构建高效智慧水务平台的关键要素有哪些?

在推进智慧水务平台建设的过程中&#xff0c;需着重注意以下几点&#xff0c;以确保系统的先进性与实用性并重&#xff1a; 数据集成与标准化‌&#xff1a;构建统一的数据采集与处理标准&#xff0c;实现多源水务数据的无缝集成与高效管理&#xff0c;为精准决策提供坚实的数据…