ubuntu22 部署zookeeper + kafka集群 配置开机自启动

ufw disabled #关闭防火墙 或者 放开指定端口

vim /etc/hosts #配置ip host映射关系

10.3.1.96    node1

10.3.1.97    node2

#1.所有机器安装jdk

apt install openjdk-8-jdk -y
java -version #export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_202

#2.部署zookeeper集群

cd /usr/local
wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz
tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz 
mv apache-zookeeper-3.8.4-bin zookeeper-3.8.4cd /usr/local/zookeeper-3.8.4/conf && cp zoo_sample.cfg zoo.cfg
mkdir -p /usr/local/zookeeper-3.8.4/logs
mkdir -p /usr/local/zookeeper-3.8.4/datavim zoo.cfg 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.8.4/data
dataLogDir=/usr/local/zookeeper-3.8.4/logs
clientPort=2181
#客户端访问zk的端口
server.1=node1:2888:3888
server.2=node2:2888:3888
#说明:2888为组成zookeeper服务器之间的通信端口,3888为用来选举leader的端口,server后面的数字与后面的myid相对应
#注意前后不要有空格 否则报错Invalid config, exiting abnormally  可以通过:set list显示隐藏字符来处理vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.8.4
export PATH=$ZOOKEEPER_HOME/bin:$PATH 
source /etc/profile

#node1节点执行

cd /usr/local/zookeeper-3.8.4/data && echo "1" > myid

#node2节点执行

cd /usr/local/zookeeper-3.8.4/data && echo "2" > myid

#所有机器启动zk

cd /usr/local/zookeeper-3.8.4/bin

./zkServer.sh start

./zkServer.sh status

#3.部署kafka 并修改配置文件(不同节点参数需修改)

cd /usr/local
wget https://downloads.apache.org/kafka/3.7.0/kafka_2.12-3.7.0.tgz
tar -zxvf kafka_2.12-3.7.0.tgz
mkdir -p /usr/local/kafka_2.12-3.7.0/logs

#node1进行如下操作。  node2同理:只是把id改为2 node1改为node2即可

vim /usr/local/kafka_2.12-3.7.0/config/server.properties
#id不重复 修改下面三行
broker.id=1
listeners=PLAINTEXT://node1:9092
advertised.listeners=PLAINTEXT://node1:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400 
socket.receive.buffer.bytes=102400 
socket.request.max.bytes=104857600
#建议开启 新增此行
delete.topic.enable=true
#修改此行
log.dirs=/usr/local/kafka_2.12-3.7.0/logs
num.partitions=1 
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1 
transaction.state.log.replication.factor=1 
transaction.state.log.min.isr=1 
log.retention.hours=168
log.segment.bytes=1073741824 
log.retention.check.interval.ms=300000
#修改此行
zookeeper.connect=node1:2181,node2:2181
zookeeper.connection.timeout.ms=18000 
group.initial.rebalance.delay.ms=0vim /usr/local/kafka_2.12-3.7.0/config/consumer.properties
bootstrap.servers=node1:9092
group.id=test-consumer-groupvim /usr/local/kafka_2.12-3.7.0/config/producer.properties
bootstrap.servers=node1:9092
compression.type=none

#所有机器启动

cd /usr/local/kafka_2.12-3.7.0/bin

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

#配置systemctl 开机自启动 zookeeper和 kafka

vim /lib/systemd/system/zookeeper.service
[Unit]
Description=Apache Zookeeper server
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target[Service]
Type=forking
User=root
Group=root
ExecStart=/usr/local/zookeeper-3.8.4/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper-3.8.4/bin/zkServer.sh stop
Restart=on-abnormal[Install]
WantedBy=multi-user.targetvim /lib/systemd/system/kafka.service
[Unit]
Description=Apache Kafka server (broker)
Documentation=http://kafka.apache.org/documentation.html
Requires=network.target remote-fs.target
After=network.target remote-fs.target zookeeper.service[Service]
Type=forking
User=root
Group=root
Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64"
ExecStart=/usr/local/kafka_2.12-3.7.0/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.12-3.7.0/config/server.properties
ExecStop=/usr/local/kafka_2.12-3.7.0/bin/kafka-server-stop.sh
Restart=on-abnormal[Install]
WantedBy=multi-user.target

#which java;  #然后ls -l 直到没有软链则为java安装路径

systemctl daemon-reload #刷新配置

systemctl start zookeeper.service

systemctl enable zookeeper.service

systemctl start kafka.service

systemctl enable kafka.service

注意:systemctl启动若不成功,可以修改Type 然后再尝试

命令行测试

#测试创建topic

./kafka-topics.sh --create --bootstrap-server node1:9092 --replication-factor 3 --partitions 3 --topic test #老版本 --zookeeper node1:2181

./kafka-topics.sh --describe --bootstrap-server node1:9092 --topic test

./kafka-topics.sh -list --bootstrap-server node1:9092

./kafka-console-producer.sh --broker-list node1:9092 --topic test

./kafka-console-consumer.sh --bootstrap-server node:9092 --topic test --from-beginning

#旧版Kafka,用的是zookeeper地址而非bootstrap.servers

#主要有两个目的/动机:一是优化元数据管理,原来的zk方案,极端情况下可能会造成数据不一致;二是简化部署和配置。

#bootstrap.servers只是用于客户端启动(bootstrap)的时候有一个可以热启动的一个连接者,一旦启动完毕客户端就应该可以得知当前集群的所有节点的信息,日后集群扩展的时候客户端也能够自动实时的得到新节点的信息,即使bootstrap.servers里面的挂掉了也应该是能正常运行的,除非节点挂掉后客户端也重启了

#服务器是Kafka,生产者(发送数据的)和消费者(接收数据的)是客户端

#删除topic

#1.kafka启动之前,在server.properties配置delete.topic.enable=true

#2.执行命令bin/kafka-topics.sh --delete --topic test --zookeeper zk:2181或者使用kafka-manager集群管理工具删除

#注意:如果没有设置 delete.topic.enable=true,则调用kafka 的delete命令无法真正将topic删除,而是显示(marked for deletion)

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

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

相关文章

【spring】Spring Boot3.3.0发布啦

spring最新版本 springboot官网:Spring Boot :: Spring Boot Spring Boot 3.3 发行说明:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.3-Release-Notes 开发环境的要求对比表 Spring BootJDKSpringMavenGradle3.3.017 ~ 226.1…

Mac电脑pd虚拟机专用windows系统镜像(m1/intel)win10、11镜像文件

入手了Mac电脑后,由于需要用到Windows软件,又嫌安装双系统太复杂,这时候Mac就用到了安装虚拟机,目前最好用的虚拟机是Parallels Desktop,win镜像版本要根据自己的喜好选对,在此提供分别兼容M1和Intel的win1…

PS Mac Photoshop 2024 for Mac[破]图像处理软件[解]PS 2024安装教程[版]

Mac分享吧 文章目录 效果一、准备工作二、开始安装1、Anticc简化版安装1.1双击运行软件,安装1.2 解决来源身份不明的开发者问题**此代码为打开:系统偏好设置 – 隐私与安全性,中的【任何来源】,如下图:**1.3 再次运行…

11Linux学习笔记

Linux 实操篇 目录 文章目录 Linux 实操篇1.rtm包(软件)1.1 基本命令1.2 基本格式1.3安装rtm包1.4卸载rtm包 2.apt包2.1 基本命令结构2.2 常用选项2.3常用命令 1.rtm包(软件) 1.1 基本命令 1.2 基本格式 1.3安装rtm包 1.4卸载r…

2024年度CCF-阿里云瑶池科研基金正式发布

2024年度CCF-阿里云瑶池科研基金正式发布 截止时间:2024年7月1日24:00(北京时间) 欢迎CCF会员积极申报 “CCF-阿里云瑶池科研基金”由CCF与阿里云计算有限公司于2024年联合设立,专注于数据库领域,旨在为领域学者提供…

ACL 2024 | 如何避免LLM生成有毒回复?基于知识编辑的大模型祛毒初探

论文链接: https://arxiv.org/abs/2403.14472 代码链接: https://github.com/zjunlp/EasyEdit Benchmark: https://huggingface.co/datasets/zjunlp/SafeEdit 摘要 当下大模型(LLMs)虽然取得了显著的成功,但在实际应用…

k8s kubeadm在安装 基于arm架构

目录 k8s kubeadm在安装 基于arm架构 第一章 k8s及中间件安装 1.主机名解析2.主机名设置3.禁用iptables和firewalld4. 禁用selinux(linux下的一个安全服务,必须禁用)5.禁用swap分区(主要是注释最后一行)6.修改系统的内核参数7.配置ipvs功能8.安装docker9.安装kubern…

Django企业招聘后台管理系统开发实战四

前言 首先我们看一下产品的需求背景,这个产品为了解决招聘面试的过程中,线下面试管理效率低,面试过程和结果不方便跟踪的痛点 招聘管理的系统几乎是每一家中小公司都需要的产品 我们以校园招聘的面试为例子来做 MVP 产品迭代 首先我们来看一下…

uniapp 嵌套H5页面会看到插值表达式的问题

项目背景应用中需要用到地图不使用高德地图 直接使用leaflet的方式加载地图故使用H5的方式 H5中引入Vue 发现能看如<div>{{data}}</div>这样的数据节点 给用户体验不好需优化 可使用以下方式处理 v-cloak指令&#xff08;用于在 Vue 实例加载和编译之前隐藏元素…

推荐的Pytest插件

推荐的Pytest插件 Pytest的插件生态系统非常丰富&#xff0c;以下是一些特别推荐的Pytest插件&#xff1a; pytest-sugar 这个插件改进了Pytest的默认输出&#xff0c;添加了进度条&#xff0c;并立即显示失败的测试。它不需要额外配置&#xff0c;只需安装即可享受更漂亮、更…

Linux-在centos7中为普通用户配置sudo认证

目录 前言一、sudo是什么&#xff1f;二、配置sudo三、测试 前言 本篇文章介绍如何在centos7中为普通用户配置sudo认证 一、sudo是什么&#xff1f; sudo是一个命令&#xff0c;其作用是为普通用户以临时管理员&#xff08;root&#xff09;的身份去执行一条命令。 例如&…

Ehcache 笔记

前言 说道缓存&#xff0c;大家想到的是一定是Redis&#xff0c;确实在国内Redis被大量应用&#xff0c;推上了新的高度&#xff01;但是不一定所有的场合都要使用Redis&#xff0c;例如服务器资源紧缺&#xff0c;集成不方便的时候就可以考虑使用本地缓存。 简介 缓存应该是每…

禅道的原理及应用详解(三)

本系列文章简介&#xff1a; 在快速发展的软件开发和项目管理领域中&#xff0c;寻找一款高效、实用且易于上手的项目管理工具是每个团队都面临的挑战。禅道&#xff0c;作为一款国产开源的项目管理软件&#xff0c;凭借其独特的管理理念、丰富的功能和友好的用户体验&#xff…

翻译《The Old New Thing》- What a drag: Dragging a virtual file (HGLOBAL edition)

What a drag: Dragging a virtual file (HGLOBAL edition) - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20080318-00/?p23083 Raymond Chen 2008年03月18日 拖拽虚拟文件&#xff08;HGLOBAL 版本&#xff09; 现在我们已经对简单的数据…

数据库(13)——DQL分组查询

语法 SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件] 示例 原始表&#xff1a; 根据性别分组并统计人数 select sex,count(*) from information group by sex; 根据性别分组&#xff0c;并求年龄的平均值&#xff1a;

vue iframe src规则

iframe 元素的 src 属性规则与常规的网页链接规则相似&#xff0c;可以是以下几种形式&#xff1a; 1、相对路径&#xff1a;相对于当前页面的路径。例如&#xff0c;如果你想加载当前域名下的一个页面&#xff0c;可以简单地指定其相对路径&#xff1a; <iframe src"…

工厂数字化!数据治理是基础

数据治理是基础 在当今的工业生产中&#xff0c;数字化转型已成为企业提升竞争力的必由之路。然而&#xff0c;数字化转型并非一蹴而就&#xff0c;它需要战略驱动、数据治理和数据智能的协同发展。本文将围绕如何进行数字化、数据治理的内涵以及数据治理作为数字化转型基础的原…

QT系列教程(7) QLineEdit介绍

简介 QLineEdit属于输入插件&#xff0c;用来实现单行录入。支持几种录入模式。 Normal表示正常录入,录入的信息会显示在QLineEdit上。 Password表示密码录入的方式&#xff0c;录入的信息不显示QLineEdit&#xff0c;只是通过黑色圆点显示。 NoEcho 表示不显示录入信息&am…

通过SpringCloudGateway中的GlobalFilter实现鉴权过滤

1.pom.xml中加入gateway jar包 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency> 2.创建权限过滤器 SecurityFilter /*** 鉴权过滤***/ Slf4j Component …

第 11 章 排序

第 11 章 排序 Abstract 排序犹如一把将混乱变为秩序的魔法钥匙&#xff0c;使我们能以更高效的方式理解与处理数据。 无论是简单的升序&#xff0c;还是复杂的分类排列&#xff0c;排序都向我们展示了数据的和谐美感。 本章内容 11.1 排序算法11.2 选择排序11.3 冒…