Kafka集群部署(手把手部署图文详细版)

1.1.1 部署zookpeer

在node02下载并解压zookeeper软件包

cd /usr/local

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

或者:scp cat@192.168.28.100:/home/cat/zookeeper-3.4.6.tar.gz /tmp(注意目录)

mv zookeeper-3.4.6.tar.gz /usr/local

tar -zxvf zookeeper-3.4.6.tar.gz

ln -s zookeeper-3.4.6 zookeeper(创建软链接,创建快捷方式)

 设置环境变量,在node02-4节点执行命令vim /etc/profile后,在文件末尾添加以下内容:

export ZOOKEEPER_HOME=/usr/local/zookeeper

export PATH=$ZOOKEEPER_HOME/bin:$PATH

添加完成后,执行命令source /etc/profile,使环境变量生效

 修改Zookeeper配置文件,在node02节点执行以下命令,进入Zookeeper所在目录。

cd /usr/local/zookeeper/conf

拷贝配置文件。

cp zoo_sample.cfg zoo.cfg

修改配置文件中以下内容

vim zoo.cfg

dataDir=/usr/local/zookeeper/tmp

server.1=node02:2888:3888

server.2=node03:2888:3888

server.3=node04:2888:3888

步骤 3   创建并编辑myid文件

在node02节点执行以下命令

在node02节点创建zookpeer数据目录

mkdir /usr/local/zookeeper/tmp

touch /usr/local/zookeeper/tmp/myid

echo 1 > /usr/local/zookeeper/tmp/myid

 同步配置, 在node02节点执行以下命令,同步配置到其它节点

scp -r /usr/local/zookeeper-3.4.6 root@node03:/usr/local

scp -r /usr/local/zookeeper-3.4.6 root@node04:/usr/local

修改其它节点配置, 登录node03、node04,创建软链接、修改myid内容。node03:

cd /usr/local

ln -s zookeeper-3.4.6 zookeeper

echo 2 > /usr/local/zookeeper/tmp/myid

node04:

cd /usr/local

ln -s zookeeper-3.4.6 zookeeper

echo 3 > /usr/local/zookeeper/tmp/myid

运行验证分别在node02-4上执行以下命令,启动Zookeeper

cd /usr/local/zookeeper/bin

./zkServer.sh start

注:停止Zookpeer的命令是./zkServer.sh stop查看Zookeeper状态,显示信息如下,表示状态正常

[root@node02 bin]# ./zkServer.sh status

JMX enabled by default

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

Mode: follower

[root@node03 bin]# ./zkServer.sh status

JMX enabled by default

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

Mode: leader

[root@node04 bin]# ./zkServer.sh status

JMX enabled by default

Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

Mode: follower

2.1.1 部署Kafka

 下载并解压Kafka, 在node02上执行以下命令:

wget https://archive.apache.org/dist/kafka/0.10.1.1/kafka_2.11-0.10.1.1.tgz

mv kafka_2.11-0.10.1.1.tgz /usr/local

tar -zxvf kafka_2.11-0.10.1.1.tgz

ln -s kafka_2.11-0.10.1.1 kafka

 设置环境变量, 在node02-4节点执行命令vim /etc/profile后,在文件末尾添加以下内容:

export KAFKA_HOME=/usr/local/kafka

export PATH=$KAFKA_HOME/bin:$PATH

添加完成后,执行命令source /etc/profile,使环境变量生效

修改Kafka配置文件在node02执行以下命令,切换到配置文件目录下

cd $KAFKA_HOME/config

在node02上执行命令vim server.properties,修改server.properties的部分内容如下所示:

broker.id=0

host.name=node02

listeners=PLAINTEXT://node02:9092

zookeeper.connect=node02:2181,node03:2181,node04:2181

 同步配置,在node02上执行以下命令,拷贝kafka_2.11-0.10.1.1到node03、4的“/usr/local”目录下

scp -r /usr/local/kafka_2.11-0.10.1.1 root@node03:/usr/local

scp -r /usr/local/kafka_2.11-0.10.1.1 root@node04:/usr/local

登录到node03、4节点,为kafka_2.11-0.10.1.1建立软链接

cd /usr/local

ln -s kafka_2.11-0.10.1.1 kafka

登录到node03节点,切换到$KAFKA_HOME/config目录下,执行命令vim server.properties,修改server.properties的部分内容如下所示:

broker.id=1

host.name=node03# 可填对应的IP地址

listeners=PLAINTEXT://node03:9092

登录到node04节点,切换到$KAFKA_HOME/config目录下,执行命令vim server.properties,修改server.properties的部分内容如下所示:

broker.id=2

host.name=node04# 可填对应的IP地址

listeners=PLAINTEXT://node04:9092

 运行验证分别在node02-4节点上执行以下命令,启动Kafka。

cd /usr/local/kafka/bin

./kafka-server-start.sh -daemon ../config/server.properties

然后在node02-4节点上执行jps命令,查看进程状态

[root@node02 bin]# jps

2002 QuorumPeerMain

2901 Jps

2827 Kafka

1502 WrapperSimpleApp

[root@node03 bin]# jps

4625 Kafka

1515 WrapperSimpleApp

2012 QuorumPeerMain

4701 Jps

[root@node04 bin]# jps

7346 Jps

1483 WrapperSimpleApp

2380 QuorumPeerMain

7277 Kafka

显示以上进程状态,表示kafka正常

3.1.1 消息订阅实战

 创建Kafka主题在node02上执行命令:

[root@node02 bin]# kafka-topics.sh --create --topic topic-test1 --partitions 1 --replication-factor 1 --zookeeper 192.168.253.129:2181, 192.168.253.130:2181, 192.168.253.131:2181

Created topic "topic-test1".

在node02、3、4上执行以下命令,都可以查看到上一步骤创建的topic主题

[root@node02 bin]# kafka-topics.sh --list --zookeeper 192.168.253.129:2181, 192.168.253.130:2181, 192.168.253.131:2181

__consumer_offsets

topic-test1

在node03或node04上执行命令,创建消费者,模拟目标系统

[root@node03 bin]# kafka-console-consumer.sh --topic topic-test1 --bootstrap-server 192.168.253.129:9092, 192.168.253.130:9092, 192.168.253.131:9092 --new-consumer

该命令执行后,就会消费topic数据,此窗口不要再做其他操作,不要关闭。

在node02上执行命令,创建生产者,模拟业务系统

[root@node02 bin]# kafka-console-producer.sh --broker-list 192.168.253.129:9092, 192.168.253.130:9092, 192.168.253.131:9092 --topic topic-test1命令执行后,在shell端自行输入数据

在生产者的shell段输入数据后,切换到消费者的shell端,可以看到控制台有相同的数据输出

--实验结束!

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

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

相关文章

鸿蒙小案例-首选项工具类

一个简单的首选项工具类 主要提供方法 初始化 init()方法建议在EntryAbility-》onWindowStageCreate 方法中使用 没多少东西,放一下测试代码 import { PrefUtil } from ./PrefUtil; import { promptAction } from kit.ArkUI;Entry Component struct PrefIndex {St…

计算机的错误计算(二十一)

摘要 两个不相等数相减,差为0: ? 在计算机的错误计算(十九)中,高中生小明发现本应为0的算式结果不为0. 今天他又发现对本不为0的算式,计算机的输出为0. 在 Python 中计算 : 则输出为0. 若用 C…

@react-google-maps/api实现谷歌地图嵌入React项目中,并且做到点击地图任意一处,获得它的经纬度

1.第一步要加入项目package.json中或者直接yarn install它都可以 "react-google-maps/api": "^2.19.3",2.加入项目中 import AMapLoader from amap/amap-jsapi-loader;import React, { PureComponent } from react; import { GoogleMap, LoadScript, Mar…

RabbitMQ消息可靠性等机制详解(精细版三)

目录 七 RabbitMQ的其他操作 7.1 消息的可靠性(发送可靠) 7.1.1 confim机制(保证发送可靠) 7.1.2 Return机制(保证发送可靠) 7.1.3 编写配置文件 7.1.4 开启Confirm和Return 7.2 手动Ack(保证接收可靠) 7.2.1 添加配置文件 7.2.2 手动ack 7.3 避免消息重复消费 7.3.…

JAVA:文件防重设计指南

1、简述 在现代应用程序中,处理文件上传是一个常见的需求。为了保证文件存储的高效性和一致性,避免重复存储相同的文件是一个重要的优化点。本文将介绍一种基于哈希值的文件防重设计,并详细列出实现步骤。 2、设计原理 文件防重的基本思路…

如何使用 3D 建模库在 C# 中将 3DS 转换为 USDZ?

USDZ/USD是一种 3D 文件格式,被广泛用于跨平台共享 3D 资产。另一方面,3DS是另一种以块形式存储数据的 3D 文件格式。在某些情况下,您需要将3DS 文件转换为 USDZ/USD文件格式。因此,本篇博文介绍了一个功能丰富的3D 建模库&#x…

6月30日功能测试Day10

3.4.4拼团购测试点 功能位置:营销-----拼团购 后台优惠促销列表管理可以添加拼团,查看拼团活动,启动活动,编辑活动,删除活动。 可以查看拼团活动中已下单的订单以状态 需求分析 功能和添加拼团 商品拼团活动页 3…

【Sping Boot2】笔记

Spring Boot 2入门 如何创建一个Spring Boot的Web例子?1.如何创建一个Spring Boot项目1.1 使用Maven构建一个Spring Boot 2项目1.1.1创建Maven工程注:Maven项目结构: 1.1.2引入SpingBoot相关依赖依赖注意事项: 1.1.3创建主类1.1.4…

传统数据处理系统存在的问题

传统应用的数据系统架构设计时,应用直接访问数据库系统。当用户访问量增加时,数据库无法支撑日益增长的用户请求的负载,从而导致数据库服务器无法及时响应用户请求,出现超时的错误。 出现这种情况以后,在系统架构上就采…

【python】OpenCV—Nighttime Low Illumination Image Enhancement

文章目录 1 背景介绍2 代码实现3 原理分析4 效果展示5 附录np.ndindexnumpy.ravelnumpy.argsortcv2.detailEnhancecv2.edgePreservingFilter 1 背景介绍 学习参考来自:OpenCV基础(24)改善夜间图像的照明 源码: 链接&#xff1a…

Word “当前页“ 与 “前一页“ (含部分内容)间有大半页空白,删除空白方法

鼠标光标选中需要向上移的句子,右键点击“段落”,然后在跳出的窗口中按照“换行和分页”中的红色方框内取消勾选后,点击确定即可。

Python | Leetcode Python题解之第216题组合总和III

题目&#xff1a; 题解&#xff1a; class Solution:def combinationSum3(self, k: int, n: int) -> List[List[int]]:"""回溯法&#xff0c;对于当前k和n, 枚举元素"""def backtracking(k: int, n: int, ans: List[int]):if k 0 or n <…

《米小圈日记魔法》边看边学,轻松掌握写日记的魔法!

在当今充满数字化娱乐和信息快速变迁的时代&#xff0c;如何创新引导孩子们学习&#xff0c;特别是如何培养他们的写作能力&#xff0c;一直是家长和教育者们关注的焦点。今天就向大家推荐一部寓教于乐的动画片《米小圈日记魔法》&#xff0c;该系列动画通过其独特的故事情节和…

【Unity配置数据文件】ScriptableObject核心应用

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 专栏交流&#x1f9e7;&…

【Linux进程通信】共享内存

目录 共享内存函数 头文件 shmget ftok函数​ shmat shmdt shmctl 共享内存区是最快的IPC 形式。一旦这样的内存映射到共享它的进程的地址空间&#xff0c;这些进程间数据传递不再涉及到操作系统内核&#xff0c;换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据…

探索如何赋予对象迭代魔法,轻松实现非传统解构赋值的艺术

前言 今天下午在网上冲浪过程中看到这样一个问题 面试题&#xff1a;如何让 var [a, b] {a: 1, b: 2} 解构赋值成功&#xff1f; 据说是某大厂面试题&#xff0c;于是我学习了一下这个问题&#xff0c;写下这篇文章记录一下。 学习过程 要想解决这个问题首先要知道什么是解…

Qt:7.QWidget属性介绍(cursor属性-光标形状、font属性-控件文本样式、tooltip属性-控件提示信息)

目录 一、cursor属性-光标形状&#xff1a; 1.1cursor属性介绍&#xff1a; 1.2获取当前光标形状——cursor()&#xff1a; 1.3 设置光标的形状——setCursor()&#xff1a; 1.4 设置自定义图片为光标&#xff1a; 二、font属性-控件文本样式&#xff1a; 2.1font属性介绍…

excel PivotTable 透视表

开发数据导出excel功能&#xff0c;设置导出透视表 数据源&#xff1a; 透视表&#xff1a; 使用插件EPPlus 数据源&#xff1a; IF OBJECT_ID(tempdb..#temptable) IS NOT NULLDROP TABLE #temptable; CREATE TABLE #temptable ( [PROJECT] varchar(50), [PRODUCT_CODE] var…

VSCode 自动调整格式失效了 ESLint

ESLint【最新注意2.4.4版本有问题&#xff0c;需退回2.4.2版本就恢复正常了】 参考&#xff1a;vscode自动格式化失效_vscode保存自动格式化失效-CSDN博客

AI PC(智能电脑)技术分析

一文看懂AI PC&#xff08;智能电脑&#xff09; 2024年&#xff0c;英特尔、英伟达等芯片巨头革新CPU技术&#xff0c;融入AI算力&#xff0c;为传统PC带来质的飞跃&#xff0c;引领智能计算新时代。 2024年&#xff0c;因此被叫作人工智能电脑&#xff08;AI PC&#xff09;…