当前位置: 首页 > news >正文

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端,可以看到控制台有相同的数据输出

--实验结束!

相关文章:

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 cat192.168.28.100:/home/cat/zookeeper-3.4.6.tar.gz /tmp(注意目录&#xf…...

阿里Qwen2-72B大模型已是开源榜的王者,为什么还要推出其他参数模型,被其他模型打榜?

6 月 27 日,全球知名的开源平台 Hugging Face 的联合创始人兼首席执行官 Clem 在社交平台激动宣布,阿里 Qwen2-72B 成为了开源模型排行榜的王者。 这是一件大好事,说明了我们在大模型领域从先前的追赶,逐渐走向了领导,…...

7.基于SpringBoot的SSMP整合案例-表现层开发

目录 1.基于Restfu1进行表现层接口开发 1.1创建功能类 1.2基于Restful制作表现层接口 2.接收参数 2使用Apifox测试表现层接口功能 保存接口: 分页接口: 3.表现层一致性处理 3.1先创建一个工具类,用作后端返回格式统一类:…...

【server】3、注册中心与配置中心

1、服务注册与发现 1.1、consul 1.1.1 是什么 官网: Consul by HashiCorp spring-cloud-consul: Spring Cloud Consul :: Spring Cloud Consul gitHub 官网 :GitHub - hashicorp/consul: Consul is a distributed, highly available, and data cent…...

【大数据】—量化交易实战案例(海龟交易策略)

声明:股市有风险,投资需谨慎!本人没有系统学过金融知识,对股票有敬畏之心没有踏入其大门,今天用另外一种方法模拟炒股,后面的模拟的实战全部用同样的数据,最后比较哪种方法赚的钱多。 海龟交易…...

014-GeoGebra基础篇-快速解决滑动条的角度无法输入问题

有客户反馈,他的Geogebra一直有个bug,那就是输入角度最大值时总不按照他设定的展示,快被气炸了~ 目录 一、问题复现(1)插入一个滑动条(2)选择Angle(3)输入90,…...

Diffusion模型的微调和引导

留意后续更新,欢迎关注微信公众号:组学之心 Diffusion模型的微调和引导 微调(fine-tuning): 从一个已经训练过的模型开始训练,我们就可以从一个学会如何“去噪”的模型开始训练,相对于随机初始…...

零基础学MySQL:从入门到实践的完整指南

引言: MySQL,作为全球最受欢迎的开源关系型数据库管理系统之一,以其高性能、易用性和灵活性,在Web开发、数据分析等领域占据着举足轻重的地位。如果你是一位编程新手,想要踏入数据库管理的大门,本文将从零…...

澳蓝荣耀时刻,6款产品入选2024年第一批《福州市名优产品目录》

近日,福州市工业和信息化局公布2024年第一批《福州市名优产品目录》,澳蓝自主研发生产的直接蒸发冷却空调、直接蒸发冷却组合式空调机组、间接蒸发冷水机组、高效间接蒸发冷却空调机、热泵式热回收型溶液调湿新风机组、防火湿帘6款产品成功入选。 以上新…...

Frrouting快速入门——OSPF组网(一)

FRR简介 FRR是FRRouting的简称,是一个开源的路由交换软件套件。其作者源自老牌项目quaga的成员,也可以算是quaga的新版本。 使用时一般查看此文档:https://docs.frrouting.org/projects/dev-guide/en/latest/index.html FRR支持的协议众多…...

记录通过Cloudflare部署属于自己的docker镜像源

引言 由于最近国内无法正常拉取docker镜像,然而找了几个能用的docker镜像源发现拉取回来的docker镜像不是最新的版本,部署到Cloudflare里Workers 和 Pages,拉取docker 镜像成功,故记录部署过程。 部署服务 登录Cloudflare后&…...

波动方程 - 在三维图中动态显示二维波动方程的解就像水面波澜起伏

波动方程 - 在三维图中动态显示二维波动方程的解就像水面波澜起伏 flyfish 波动方程的求解结果通常不是一个单一的数值,而是一个函数或一组函数,这些函数描述了波随时间和空间的传播情况。具体来说,波动方程的解可以是关于时间和空间变量的…...

yum命令提示 错误:rpmdb: BDB0113 Thread/process 4153/139708200269632

一、报错信息 [rootDawn yum.repos.d]# yum clean all 错误:rpmdb: BDB0113 Thread/process 4153/139708200269632 failed: BDB1507 Thread died in Berkeley DB library 错误:db5 错误(-30973) 来自 dbenv->failchk:BDB0087 DB_RUNRECOVE…...

欢乐钓鱼大师游戏攻略:在什么地方掉称号鱼?云手机游戏辅助!

《欢乐钓鱼大师》是一款融合了休闲娱乐和策略挑战的钓鱼游戏。游戏中的各种鱼类不仅各具特色,而且钓鱼过程充满了挑战和乐趣。下面将为大家详细介绍如何在游戏中钓鱼,以及一些有效的钓鱼技巧,帮助你成为一个出色的钓鱼大师。 实用工具推荐 为…...

什么是构造函数?Java 中构造函数的重载如何实现?

构造函数,就像是建筑房屋时的奠基仪式,是Java类中一个特殊的方法,主要用于初始化新创建的对象。 每当创建一个类的新实例时,构造函数就会自动调用,负责为这个新对象分配内存,并对其进行必要的设置&#xf…...

Linux内核 -- ARMv7 与 ARMv8 中的 asmlinkage 作用及使用

ARMv7 与 ARMv8 中的 asmlinkage 作用及使用 asmlinkage 是一个宏,通常在内核代码中使用,用于定义调用约定,特别是指定函数的参数是通过栈传递而不是通过寄存器。它主要用于内核与汇编之间的接口函数,使得参数传递更加一致和明确…...

GPT提示词模板

BRTR 原则 # 背景(Background) - 描述任务的背景信息,包括任务的起因、目的、相关的历史信息或当前状况。 - 提供足够的背景信息以便让ChatGPT理解任务的上下文。 # 角色(Role) - 定义ChatGPT在任务中所扮演的角色&…...

WRF学习——使用CMIP6数据驱动WRF/基于ncl与vdo的CMIP6数据处理

动力降尺度 国际耦合模式比较计划(CMIP)为研究不同情景下的气候变化提供了大量的模拟数据,而在实际研究中,全球气候模式输出的数据空间分辨率往往较低(>100Km,缺乏区域气候特征,为了更好地研…...

机器人控制系列教程之Delta机器人动力学分析

动力学简介 机器人动力学分析是已知各运动构件的尺寸参数和惯性参数的情况下,求解末端运动状态与主驱动力矩之间的函数关系。 意义:对并联机器人动力学分析的意义体现在: 为伺服电机的选型提供理论依据;获得动力学参数为目标函数的最优问题做性能评价指标;为高精度控制提…...

VIM介绍

VIM(Vi IMproved)是一种高度可配置的文本编辑器,用于有效地创建和更改任何类型的文本。它是从 vi 编辑器发展而来的,后者最初是 UNIX 系统上的一个文本编辑器。VIM 以其键盘驱动的界面和强大的文本处理能力而闻名,是许…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

网络编程(UDP编程)

思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...