RabbitMQ安装与配置
lipiwang 2024-12-02 22:04 15 浏览 0 评论
1.1 操作系统选择与安装
1.1.1 环境信息
序号 | IP地址 | 主机名 | 操作系统 | 备注 |
1 | 192.168.0.65 | rabbitmq_2_65 | Centos7.6 64位 | 磁盘节点 |
2 | 192.168.0.66 | rabbitmq_2_66 | Centos7.6 64位 | 内存节点 |
3 | 192.168.0.67 | rabbitmq_2_67 | Centos7.6 64位 | 内存节点 |
1.1.2 操作系统配置与安装
CPU:8C;
内存:64GB;
磁盘: 100GB
操作系统安装,略。
1.1.3 操作系统最优配置
1. 修改资源限制参数
vi /etc/security/limits.conf
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
* soft stack 65535
* hard stack 65535
#ulimit -a
echo "* - nproc 65535" > /etc/security/limits.d/90-nproc.conf
2. 关闭virbr0网卡工具
systemctl disable libvirtd
3. 关闭SELinux
vi /etc/selinux/config
将SELinux=enforcing改为 SELinux=disabled
4. 关闭防火墙
systemctl stop firewalld.service &&
systemctl disable firewalld.service
5. 安装NTP服务
yum install ntp –y
systemctl disable chronyd #禁用chrony,否则开机启动失败
配置 vi /etc/ntp.conf
echo " server 192.168.0.253" > /etc/ntp.conf
echo "restrict 192.168.0.253 nomodify notrap noquery" >> /etc/ntp.conf
systemctl enable ntpd && systemctl start ntpd
6. 安装NFS服务
yum install nfs-utils -y
systemctl enable nfs
1.1.4 操作系统安全配置
1. 启动core dump设置
core dump表示当程序异常终止或崩溃时,将进程此时的内存中的内容拷贝到磁盘文件中存储。
vi /etc/security/limits.conf,开启core dump。
找到【* soft core 0】行,将其修改为如下内容:
如设置成【* soft core 1048576】,即core dump文件大小是1G 。
2. history历史命令条数设置
减少root用户输入命令的历史记录长度,默认值为1000,
vi /etc/profile HISTSIZE= 的值不大于100。
3. 控制用户登录会话
设置登录超时控制用户登录会话时间。
vi /etc/profile 按以下要求编辑设置:
TMOUT=600
4. 口令策略
对口令策略进行安全设置,不允许存在简单密码,密码设置符合策略,如长度至少为8位,不存在空口令帐号。
修改vi /etc/login.defs,
PASS_MAX_DAYS 90 #密码最长使用天数90天
PASS_MIN_DAYS 1 #密码最短使用天数
PASS_WARN_AGE 28 #密码到期提前提醒天数
PASS_MIN_LEN 8 #密码最小长度为8。
5. 密码复杂度
对密码复杂度策略进行配置,密码应包含至少两种组合,增加密码重复使用限制。
vi /etc/pam.d/system-auth
password requisite pam_cracklib.so dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minlen=8
1.2 RabbitMQ普通集群配置
1.2.1 配置hosts文件
vi /etc/hosts //其他两台相同
192.168.0.65 rabbitmq-2-65
192.168.0.66 rabbitmq-2-66
192.168.0.67 rabbitmq-2-67
1.2.2 三个节点安装依赖包
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel
1.2.3 源码安装三个节点安装erlang环境
#下载包:
cd /opt/
wget http://erlang.org/download/otp_src_23.2.tar.gz
#解压:
tar -zxvf otp_src_23.2.tar.gz
cd otp_src_23.2
./configure --prefix=/usr/local/erlang --without-javac
make && make install
#设置环境变量:
vi /etc/profile
export PATH=$PATH:/usr/local/erlang/bin
1.2.4 三个节点配置安装RabbitMQ
#下载文件 :
cd /opt
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.22/rabbitmq-server-generic-unix-3.8.22.tar.xz
#解压:
tar -xvf rabbitmq-server-generic-unix-3.8.22.tar
mv rabbitmq_server-3.8.22 /usr/local/
cd /usr/local
ln -s rabbitmq_server-3.8.22 rabbitmq
./rabbitmq-plugins enable rabbitmq_management
./rabbitmq-server &
#设置环境变量:
vi /etc/profile
export PATH=$PATH:/usr/local/erlang/bin:/usr/local/rabbitmq/sbin
测试访问:
http://192.168.0.65:15672
1.2.5 拷贝erlang.cookie
RabbitMQ的集群是依附于erlang的集群来工作的,所以必须先构建起erlang的集群景象。Erlang的集群中各节点是经由过程一个magic cookie来实现的,这个cookie存放在/var/lib/rabbitmq/.erlang.cookie中,文件是400的权限。所以必须保证各节点cookie一致,不然节点之间就无法通信。
[root@mq01 ~]# cat /var/lib/rabbitmq/.erlang.cookie
XAHPZVPYUQDWWJIOHUPQ
用scp的方式将01节点的.erlang.cookie的值复制到其他两个节点中。
#如果通过二进制安装在/root/.erlang.cookie,通过yum方式安装默认在以下路径
scp /var/lib/rabbitmq/.erlang.cookie root@192.168.0.66:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@192.168.0.67:/var/lib/rabbitmq/.erlang.cookie
1.2.6 查看三个节点并添加管理服务,启动RabbitMQ
RabbitMQ提供了一个非常友好的图形化监控页面插件(rabbitmq_management),让我们可以一目了然看见Rabbit的状态或集群状态。
rabbitmq-plugins list //查看插件安装情况
rabbitmq-plugins enable rabbitmq_management //启用rabbitmq_management服务
rabbitmq-server start &
1.2.7 查看监听端口(插件监控的端口是15672)
netstat –ntap | grep 15672
1.2.8 将mq02、mq03作为内存节点加入mq01节点集群中
在mq02、mq03执行如下命令:
rabbitmqctl stop_app //停掉rabbit应用
rabbitmqctl join_cluster --ram rabbit@mq01 //加入到磁盘节点,--ram表示以内存方式
rabbitmqctl start_app //启动rabbit应用
1.2.9 查看集群状态
rabbitmqctl cluster_status
1.2.10 镜像队列配置
在主节点增加镜像队列配置
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
1.2.11 登录rabbitmq web管理控制台,创建新的队列
打开浏览器输入http://192.168.0.65:15672, 输入默认的Username:guest,输入默认的Password:guest ,默认不允许其他主机访问,需创建账号授权后登录。
#创建账号:
rabbitmqctl add_user 用户 密码
#设置用户角色
rabbitmqctl set_user_tags 用户 administrator
#设置用户权限
rabbitmqctl set_permissions –p "/" 用户 ".*" ".*" ".*"
访问http://192.168.0.65:15672,
登录后可以看到各节点状态
相关推荐
- 前端入门——css 网格轨道详细介绍
-
上篇前端入门——cssGrid网格基础知识整体大概介绍了cssgrid的基本概念及使用方法,本文将介绍创建网格容器时会发生什么?以及在网格容器上使用行、列属性如何定位元素。在本文中,将介绍:...
- Islands Architecture(孤岛架构)在携程新版首页的实践
-
一、项目背景2022,携程PC版首页终于迎来了首次改版,完成了用户体验与技术栈的全面升级。作为与用户连接的重要入口,旧版PC首页已经陪伴携程走过了22年,承担着重要使命的同时,也遇到了很多问题:维护/...
- HTML中script标签中的那些属性
-
HTML中的<script>标签详解在HTML中,<script>标签用于包含或引用JavaScript代码,是前端开发中不可或缺的一部分。通过合理使用<scrip...
- CSS 中各种居中你真的玩明白了么
-
页面布局中最常见的需求就是元素或者文字居中了,但是根据场景的不同,居中也有简单到复杂各种不同的实现方式,本篇就带大家一起了解下,各种场景下,该如何使用CSS实现居中前言页面布局中最常见的需求就是元...
- CSS样式更改——列表、表格和轮廓
-
上篇文章主要介绍了CSS样式更改篇中的字体设置Font&边框Border设置,这篇文章分享列表、表格和轮廓,一起来看看吧。1.列表List1).列表的类型<ulstyle='list-...
- 一文吃透 CSS Flex 布局
-
原文链接:一文吃透CSSFlex布局教学游戏这里有两个小游戏,可用来练习flex布局。塔防游戏送小青蛙回家Flexbox概述Flexbox布局也叫Flex布局,弹性盒子布局。它决定了...
- css实现多行文本的展开收起
-
背景在我们写需求时可能会遇到类似于这样的多行文本展开与收起的场景:那么,如何通过纯css实现这样的效果呢?实现的难点(1)位于多行文本右下角的展开收起按钮。(2)展开和收起两种状态的切换。(3)文本...
- css 垂直居中的几种实现方式
-
前言设计是带有主观色彩的,同样网页设计中的css一样让人摸不头脑。网上列举的实现方式一大把,或许在这里你都看到过,但既然来到这里我希望这篇能让你看有所收获,毕竟这也是前端面试的基础。实现方式备注:...
- WordPress固定链接设置
-
WordPress设置里的最后一项就是固定链接设置,固定链接设置是决定WordPress文章及静态页面URL的重要步骤,从站点的SEO角度来讲也是。固定链接设置决定网站URL,当页面数少的时候,可以一...
- 面试发愁!吃透 20 道 CSS 核心题,大厂 Offer 轻松拿
-
前端小伙伴们,是不是一想到面试里的CSS布局题就发愁?写代码时布局总是对不齐,面试官追问兼容性就卡壳,想跳槽却总被“多列等高”“响应式布局”这些问题难住——别担心!从今天起,咱们每天拆解一...
- 3种CSS清除浮动的方法
-
今天这篇文章给大家介绍3种CSS清除浮动的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。首先,这里就不讲为什么我们要清楚浮动,反正不清除浮动事多多。下面我就讲3种常用清除浮动的...
- 2025 年 CSS 终于要支持强大的自定义函数了?
-
大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!1.什么是CSS自定义属性CSS自...
- css3属性(transform)的一个css3动画小应用
-
闲言碎语不多讲,咱们说说css3的transform属性:先上效果:效果说明:当鼠标移到a标签的时候,从右上角滑出二维码。实现方法:HTML代码如下:需要说明的一点是,a链接的跳转需要用javasc...
- CSS基础知识(七)CSS背景
-
一、CSS背景属性1.背景颜色(background-color)属性值:transparent(透明的)或color(颜色)2.背景图片(background-image)属性值:none(没有)...
- CSS 水平居中方式二
-
<divid="parent"><!--定义子级元素--><divid="child">居中布局</div>...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- maven镜像 (69)
- undefined reference to (60)
- zip格式 (63)
- oracle over (62)
- date_format函数用法 (67)
- 在线代理服务器 (60)
- shell 字符串比较 (74)
- x509证书 (61)
- localhost (65)
- java.awt.headless (66)
- syn_sent (64)
- settings.xml (59)
- 弹出窗口 (56)
- applicationcontextaware (72)
- my.cnf (73)
- httpsession (62)
- pkcs7 (62)
- session cookie (63)
- java 生成uuid (58)
- could not initialize class (58)
- beanpropertyrowmapper (58)
- word空格下划线不显示 (73)
- jar文件 (60)
- jsp内置对象 (58)
- makefile编写规则 (58)