云計算-多服務集群部署實戰指南:從JumpServer到Kafka、ZooKeeper 集群部署實操流程

簡介

圍繞企業級服務部署與集群搭建,基于 OpenStack 私有云平臺,介紹了一系列關鍵服務的實操過程。內容涵蓋使用 CentOS7 系統部署 JumpServer 堡壘機并對接 controller 與 compute 節點,構建 RabbitMQ 集群(含磁盤節點與內存節點配置)、Kafka 集群及 ZooKeeper 集群等。每個服務的部署步驟清晰,包括環境配置、軟件安裝、參數調整及驗證方法,快速掌握多類服務與集群的搭建技巧。

1.應用部署:堡壘機部署

使用提供的 OpenStack 平臺下創建實例,使用提供的軟件包安裝 JumpServer 堡壘機服務,并配置使用該堡壘機對接自己安裝的 controller 和 compute 節點。軟件包:jumpserver.tar.gz

[root@jumpserver ~]# hostnamectl set-hostname jumpServer[root@jumpserver ~]# vi /etc/hosts
192.168.30.10 jumpServer
192.168.30.20 controller
192.168.30.30 compute[root@jumpserver ~]# setenforce 0[root@jumpserver ~]# sed  -i  s#SELINUX=enforcing#SELINUX=disabled# ? /etc/selinux/config[root@jumpserver ~]# iptables -F[root@jumpserver ~]# iptables -X[root@jumpserver ~]# iptables -Z[root@jumpserver ~]# /usr/sbin/iptables-save[root@jumpserver ~]# tar -zxvf jumpserver.tar.gz -C /opt/1.#配置源[root@jumpserver ~]# mv /etc/yum.repos.d/* /home/[root@jumpserver ~]#  vi /etc/yum.repos.d/jumpserver.repo [jumpserver]name=jumpserverbaseurl=file:///opt/jumpserver-repogpgcheck=0enabled=1[root@jumpserver ~]# yum repolist2.#安裝依賴環境[root@jumpserver ~]# yum install python2 -y3.#安裝ocker[root@jumpserver ~]# cp /opt/docker/* /usr/bin/[root@jumpserver ~]# chmod 775 /usr/bin/docker*[root@jumpserver ~]# cp -rf /opt/docker.service /etc/systemd/system/[root@jumpserver ~]# chmod 755 /etc/systemd/system/docker.service[root@jumpserver ~]# systemctl daemon-reload[root@jumpserver ~]# systemctl enable docker --now[root@jumpserver ~]# docker --versionDocker version 18.06.3-ce, build d7080c1[root@jumpserver ~]# docker-compose --versiondocker-compose version 1.27.4, build 40524192?4.#安裝jumpserver#加載鏡像[root@jumpserver ~]# cd /opt/images/[root@jumpserver images]# sh load.sh#創建jumpsersver服務組建目錄[root@jumpserver images]# mkdir -p /opt/jumpserver/{core,koko,lion,mysql,nginx,redis}[root@jumpserver images]# cp -rf /opt/config /opt/jumpserver/啟動前清理:docker rm -f $(docker ps -aq)啟動: 如未啟動,多啟動幾次 [root@jumpserver images]# cd /opt/compose/[root@jumpserver compose]# source /opt/static.env[root@jumpserver compose]# sh up.sh ? ? ? ? ? ? ? ? ???使用谷歌瀏覽器訪問http://192.168.30.10對接controller與compute(admin/admin)設置中文字符?資產管理---管理用戶---創建----遠程連接用戶名稱:rootroot,000000?資產管理---系統用戶---創建----SSHweb,root,81,000000?資產列表----創建controller----IP:192.168.30.20 ----Linux----22---管理用戶:root---節點:/Defaultcontroller----IP:192.168.30.30 ----Linux----22---管理用戶:root---節點:/Default刷新?創建資產授權規則:權限管理----資產授權cloud server----用戶----用戶組----資產----節點----系統用戶?測試連接:(刷新)右上角----管理員---用戶界面等待幾分鐘-------5分鐘左右自動連接上Web終端---選擇我的資產---Default---controller---連接單機controller,連接主機成功

2.部署RabbitMQ集群

使用OpenStack私有云平臺,創建三個centos7.5系統的云主機rabbitmq1、rabbitmq2和rabbitmq3,使用附件\私有云附件\RabbitMQ目錄下的軟件包安裝RabbitMQ服務,安裝完畢后,搭建RabbitMQ集群,并打開RabbitMQ服務的圖形化監控頁面插件。集群使用普通集群模式,其中rabbitmq1做磁盤節點,rabbitmq2和rabbitmq3做內存節點。

創建三個節點,分別為mq1,mq2,mq3修改hosts文件,改名 (三個節點)Vi /ect/hosts關閉防火墻,selinux (三個節點)systemctl stop firewalldsetenforce 0getenforce配置好yum源,然后安裝yum install -y rabbitmq-server?[root@mq1 bin]# rabbitmq-plugins enable rabbitmq_management ?  #啟用管理服務[root@mq2 bin]# rabbitmq-plugins enable rabbitmq_management ?  #啟用管理服務[root@mq3 bin]# rabbitmq-plugins enable rabbitmq_management ?  #啟用管理服務[root@ mq1 ~]# systemctl start rabbitmq-server[root@ mq1 ~]#scp -rp /var/lib/rabbitmq/.erlang.cookie mq2:/var/lib/rabbitmq/[root@ mq1 ~]#scp -rp /var/lib/rabbitmq/.erlang.cookie mq3:/var/lib/rabbitmq/[root@ mq2 ~]#chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie[root@ mq3 ~]#chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie重啟rabbitmq服務(二個節點)[root@mq2 bin]# systemctl restart rabbitmq-server[root@mq3 bin]# systemctl restart rabbitmq-server?mq2加入集群[root@mq2 bin]# rabbitmqctl stop_app #停止Stopping rabbit application on node rabbit@mq2[root@mq2 bin]# rabbitmqctl join_cluster --ram rabbit@mq1 ? ###將mq2連接到mq1,成為一個集群Clustering node rabbit@mq2 with rabbit@mq1[root@mq2 bin]# rabbitmqctl start_app ? #啟動檢查集群狀態  [root@mq2 bin]# rabbitmqctl cluster_status?mq3加入集群[root@mq3 bin]# rabbitmqctl stop_app #停止Stopping rabbit application on node rabbit@mq3[root@mq3 bin]# rabbitmqctl join_cluster --ram rabbit@mq1 ? ###將mq3連接到mq1,成為一個集群Clustering node rabbit@mq3 with rabbit@mq1[root@mq3 bin]# rabbitmqctl start_app ? #啟動檢查集群狀態[root@mq3 bin]# rabbitmqctl cluster_status?打開瀏覽器訪問http://192.168.200.7:15672/用戶名:guest 密碼:guest?

3.部署zookeep集群與kafka集群

penstack創建三臺 云主機,使用 提供的軟件包,將這三臺云主機構建為 kafka 集群。軟件包gpmall-single.tar.gz

#配置基礎環境tar -zxvf gpmall-single.tar.gz -C /opt/vi /etc/yum.repos.d/local.repo-----------------[gpmall]name=gpmallbaseurl=ftp://192.168.30.10/gpmall-single/gpmall-repogpgcheck=0enabled=1#centos可以使用openstack的yum[centos]name=centosbaseurl=ftp://192.168.30.10/centosgpgcheck=0enabled=1-----------------#搭建zookeepertar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/cd /usr/local/zookeeper-3.4.14/conf/mv zoo_sample.cfg zoo.cfgvi zoo.cfg#修改dataDir=/usr/local/zookeeper-3.4.14/data#添加server.0=192.168.30.10:2888:3888server.1=192.168.30.20:2888:3888server.2=192.168.30.30:2888:3888------------------------------------------#在zookeeper中創建data目錄mkdir /usr/local/zookeeper-3.4.14/data/vi /usr/local/zookeeper-3.4.14/data/myid#添加 0#傳送至其他兩臺云主機scp -r /usr/local/zookeeper-3.4.14/ t2:/usr/local/scp -r /usr/local/zookeeper-3.4.14/ t3:/usr/local/#修改其他兩臺的myid 1、2#啟動集群(三個節點都啟動)cd /usr/local/zookeeper-3.4.14./bin/zkServer.sh start#驗證

創建myid文件
在3臺機器dataDir目錄(此處為/tmp/zookeeper)下,分別創建一個myid文件,文件內容分別只有一行,其內容為1,2,3。即文件中只有一個數字,這個數字即為上面zoo.cfg配置文件中指定的值。ZooKeeper是根據該文件來決定ZooKeeper集群各個機器的身份分配。
---------------------

[root@node1 ~]# mkdir /tmp/zookeeper
[root@node1 ~]# echo 1 > /tmp/zookeeper/myid
[root@node2 ~]# mkdir /tmp/zookeeper
[root@node2 ~]# echo 2 > /tmp/zookeeper/myid
[root@node3 ~]# mkdir /tmp/zookeeper
[root@node3 ~]# echo 3 > /tmp/zookeeper/myid
[root@node1 ~]# ssh.sh "./zookeeper-3.4.14/bin/zkServer.sh start"

[root@t1 zookeeper-3.4.14]# ./bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.14/bin/../conf/zoo.cfgMode: follower[root@t2 zookeeper-3.4.14]# ./bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.14/bin/../conf/zoo.cfgMode: leader[root@t3 zookeeper-3.4.14]# ./bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.14/bin/../conf/zoo.cfgMode: follower

#搭建kafka
tar -zxvf kafka_2.11-1.1.1.tgz -C /usr/local/
cd usr/local/kafka_2.11-1.1.1
vi config/server.properties
----------------
broker.id=0
listeners=PLAINTEXT://192.168.30.10:9092
zookeeper.connect=192.168.30.10,192.168.30.20,192.168.30.30:2181
----------------
#t2
broker.id=1
listeners=PLAINTEXT://192.168.30.20:9092
zookeeper.connect=192.168.30.10,192.168.30.20,192.168.30.30:2181
----------------
#t3
broker.id=2
listeners=PLAINTEXT://192.168.30.30:9092
zookeeper.connect=192.168.30.10,192.168.30.20,192.168.30.30:2181
----------------
#命令解析:
broker.id:每臺機器不能一樣。
zookeeper.connect:因為有3臺ZooKeeper服務器,所以在這里zookeeper.connect設置為3臺。
listeners:在配置集群的時候,必須設置,不然以后的操作會報找不到leader的錯誤。
#啟動(三個節點)
[root@zookeeper1 bin]# ./kafka-server-start.sh -daemon ../config/server.properties
[root@zookeeper1 bin]# jps
11825 Kafka
11418 QuorumPeerMain
12191 Jps

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/93671.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/93671.shtml
英文地址,請注明出處:http://en.pswp.cn/web/93671.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深入剖析Spring IOC容器——原理、源碼與實踐全解析

🌟 你好,我是 勵志成為糕手 ! 🌌 在代碼的宇宙中,我是那個追逐優雅與性能的星際旅人。 ? 每一行代碼都是我種下的星光,在邏輯的土壤里生長成璀璨的銀河; 🛠? 每一個算法都是我繪制…

探秘C語言:數據在內存中的存儲機制詳解

探秘C語言:數據在內存中的存儲機制詳解探秘C語言:數據在內存中的存儲機制詳解一、二進制與進制轉換:數據的不同"外衣"1.1基本概念1.2進制轉換二、整數在內存中的存儲:補碼的奧秘原碼、反碼、補碼總結探秘C語言&#xff…

HTML 常用標簽介紹

目錄 HTML 標簽 HTML 常用標簽速查表 文檔元標簽 頁面結構與布局 文本內容與排版 鏈接與媒體 列表與表格 表單與交互 其他功能標簽 文本結構標簽 文本格式化標簽 列表標簽 鏈接與導航標簽 媒體標簽 容器與結構標簽 表格標簽 表單標簽 元信息與文檔標簽 腳本…

kafka 沖突解決 kafka安裝

目錄 解法方法&#xff1a; 一般情況正常可以版本2.0.2 報錯&#xff1a; File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen…

論文閱讀 2025-8-9 [DiC, DropKey]

閑來沒事&#xff0c;找點近一年的論文看看 1. DiC: Rethinking Conv3x3 Designs in Diffusion Models ? 一句話總結&#xff1a;DiC用沙漏架構稀疏跳躍條件門控重構純Conv3x3擴散模型&#xff0c;在速度碾壓Transformer的同時性能反超&#xff0c;為實時生成任務開辟新路徑。…

16進制pcm數據轉py波形腳本

將16bit的單聲道或者雙聲道的16進制的pcm數據轉成波形圖片出來分析數據&#xff0c;python腳本如下&#xff1a;import numpy as np import matplotlib.pyplot as plt# 1: 單聲道&#xff0c;2&#xff1a;雙聲道 PCM_CHANNELS 2# 你提供的十六進制數據 hex_str ""…

MySQL的鎖:

目錄 鎖的介紹&#xff1a; 并發事務訪問相同數據可以分為以下幾種情況&#xff1a; 都是進行讀操作&#xff1a; 都是進行寫操作&#xff1a; 有讀操作也有寫操作&#xff1a; 讀鎖、寫鎖&#xff1a; 讀鎖&#xff1a; 寫鎖&#xff1a; 按照鎖粒度分類&#xff1a;…

一道同分排名的SQL題

1 概述遇到這樣一道題&#xff1a;(1) 有一張學生課程分數表&#xff0c;字段有&#xff1a;ID、名稱、性別、科目、分數。&#xff08;名稱換為學號更能標識唯一學生&#xff0c;但名稱好閱讀&#xff0c;故這里先認為名稱可以唯一標識學生。&#xff09;(2) 用一個SQL&#x…

ICCV 2025 | Reverse Convolution and Its Applications to Image Restoration

標題&#xff1a;Reverse Convolution and Its Applications to Image Restoration作者&#xff1a;Xuhong Huang, Shiqi Liu, Kai Zhang, Ying Tai, Jian Yang, Hui Zeng, Lei Zhang單位&#xff1a;Nanjing University, The Hong Kong Polytechnic University, OPPO Research…

mysql啟動超時

mysql啟動超時&#xff1a; 管理員打開CMD后允許net start MySQL57&#xff0c; 啟動超時檢查錯誤日志 MySQL 啟動失敗的具體原因通常記錄在錯誤日志中。 日志路徑&#xff08;根據你的安裝方式可能不同&#xff09;&#xff1a; 默認位置&#xff1a;C:\ProgramData\MySQL\MyS…

Flink Stream API 源碼走讀 - window 和 sum

本文核心觀點 核心觀點&#xff1a;WindowedStream 是一個"假流"&#xff0c;它比 KeyedStream 更虛&#xff0c;只是一個 API 的過渡器&#xff0c;不是真正意義上的 DataStream&#xff0c;需要調用函數回歸。 虛擬化時刻&#xff1a;從真實流到虛擬流 KeyedStream…

藍牙 GFSK RX Core 架構解析

GFSK RX Core分為以下幾個模塊&#xff1a; 1.Frequency offset compensation CORDIC 2.A low pass filter 3.A power estimator for packet detection,RSSI and digital gaion computation for DPSK path 4.A demodulator implemented as Phase Shift Discriminator 5.A drequ…

微電網管控系統中python多線程緩存與SQLite多數據庫文件連接池實踐總結(含源碼)

1. 引言 在分散的微電網能源管理場景中,系統采用集中式云平臺模式,為100個獨立微電網用戶提供高并發數據寫入服務面臨三大挑戰:用戶數據隔離、I/O性能瓶頸、多線程安全性。本文揭示一種新式的分片鎖+三級緩存+sqlite多數據庫文件連接池架構,在保持SQLite輕量級優勢的同時,…

InfluxDB 開發工具鏈:IDE 插件與調試技巧(一)

引言 ** 在當今數字化時代&#xff0c;時間序列數據的處理與分析在眾多領域中都扮演著至關重要的角色。無論是物聯網設備產生的海量傳感器數據&#xff0c;還是金融市場中實時波動的交易數據&#xff0c;又或是服務器運維過程中不斷產生的性能指標數據&#xff0c;這些都屬于…

計算機網絡-IPv6

1、IPv6基礎IPv4與IPv6的對比&#xff1a;問題IPv4的缺陷IPv6的優勢地址空間IPv4地址采用32比特標識&#xff0c;能提供的地址數量是43億&#xff0c;分配很不均衡。針對IPv4的地址短缺問題&#xff0c;有幾種解決方案&#xff1a;無類別域間路由CIDR&#xff08;Classless Int…

整體設計 之“凝聚式中心點”原型 --整除:智能合約和DBMS的深層融合 之2

摘要&#xff08;CSDN的AI助手自動生成的&#xff09;本文提出了一種基于"整除"數學原型的智能合約與DBMS融合架構設計&#xff0c;將SQL查詢語句的四個關鍵段&#xff08;SELECT、FROM、WHERE、BY&#xff09;分別映射到整除運算的四個要素&#xff08;商、被除數、…

【趙渝強老師】TiDB表數據與鍵值對的映射關系

TiDB實例將表中的每一行數據映射成RocksDB中的鍵值對&#xff0c;則需要考慮如何構造Key和Value。首先&#xff0c;OLTP場景下有大量針對單行或者多行的增、刪、改、查等操作&#xff0c;要求數據庫具備快速讀取一行數據的能力。因此&#xff0c;對應的Key最好有一個唯一ID&…

帶操作系統的延時函數

delay.c:#include "delay.h"/*** brief 微秒級延時* param nus 延時時長&#xff0c;范圍&#xff1a;0~233015* retval 無*/ void delay_us(uint32_t nus) {uint32_t ticks;uint32_t tcnt 0, told, tnow;uint32_t reload SysTick->LOAD; //重…

ES Module 和 CommonJS的區別

ES Module&#xff08;ESM&#xff0c;ES6 模塊系統&#xff09;和 CommonJS 是 JavaScript 中兩種主流的模塊規范&#xff0c;分別用于現代前端和 Node.js 環境&#xff08;早期&#xff09;&#xff0c;它們在語法、加載機制、特性等方面有顯著區別。以下是詳細對比&#xff…

貓頭虎AI分享|一款智能量化交易系統:QuantCell,從數據收集到策略執行全流程自動化

貓頭虎AI分享&#xff5c;一款智能量化交易系統&#xff1a;QuantCell&#xff0c;從數據收集到策略執行全流程自動化 在當今金融市場中&#xff0c;量化交易系統已經成為越來越多投資者和機構的重要選擇。無論是股票、期貨還是加密貨幣&#xff0c;自動化交易與人工智能的結合…