简介

围绕企业级服务部署与集群搭建,基于 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;自动化交易与人工智能的结合…