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.pswp.cn/bicheng/20081.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/20081.shtml
英文地址,請注明出處:http://en.pswp.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 冒…