centos7.9 安装rabbitmq 3.6.15 集群

安装依赖

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel libxml2-utils libxml2 \
libxslt openssl-devel unixODBC unixODBC-devel unixODBC-bin gtk2 fop wxWidgets-devel wxBase
ln -s /usr/bin/wx-config-3.0 /usr/bin/wx-config

安装erlang

mkdir /opt/erlang
cd /opt/erlang
wget http://soft.download/soft/linux/mq-server/erlang_otp_src_20.3.tar.gz
tar zxvf erlang_otp_src_20.3.tar.gzcd otp_src_20.3
./configure --prefix=/usr/local/erlang --with-ssl -enable-threads \
-enable-smmp-support -enable-kernel-poll --enable-hipe --disable-javac
make && make install

安装java

参考java安装

export JAVA_HOME=/usr/local/java/
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

添加erlang环境变量

vim /etc/profile.d/erlang.sh
export ERLANG_HOME=/usr/local/erlang
export ERL_DIR=${ERLANG_HOME}/bin
export PATH=${ERLANG_HOME}/bin:$PATH
source /etc/profile

安装rabbitmq

yum install -y xz
groupadd rabbitmq
useradd -g rabbitmq rabbitmq -d /var/lib/rabbitmq -s /sbin/nologin
mkdir /opt/rabbitmq
cd /opt/rabbitmq
wget  http://soft.download/soft/linux/mq-server/rabbitmq-server-generic-unix-3.6.15.tar.xz 
unxz rabbitmq-server-generic-unix-3.6.15.tar.xz 
tar -xvf rabbitmq-server-generic-unix-3.6.15.tar 
mv rabbitmq_server-3.6.15/ /data/rabbitmq-server
chown -R rabbitmq:rabbitmq /data/rabbitmq-server/
ln -s /data/rabbitmq-server/sbin/rabbitmqctl /usr/bin/rabbitmqctl
ln -s /data/rabbitmq-server/sbin/rabbitmq-defaults /usr/bin/rabbitmq-defaults
ln -s /data/rabbitmq-server/sbin/rabbitmq-env /usr/bin/rabbitmq-env
ln -s /data/rabbitmq-server/sbin/rabbitmq-plugins /usr/bin/rabbitmq-plugins
ln -s /data/rabbitmq-server/sbin/rabbitmq-server /usr/bin/rabbitmq-server
cd /data/rabbitmq-server/etc/rabbitmq/
##要修改node名称,结合/etc/hosts
wget http://soft.download/soft/linux/mq-server/config/rabbitmq-env.conf
wget  http://soft.download/soft/linux/mq-server/config/rabbitmq.config
cat  /data/rabbitmq-server/etc/rabbitmq/rabbitmq-env.conf
#RABBITMQ_NODE_IP_ADDRESS= //IP地址,空串bind所有地址,指定地址bind指定网络接口
#RABBITMQ_NODE_PORT=       //TCP端口号,默认是5672
#RABBITMQ_NODENAME=        //节点名称。默认是rabbit
#RABBITMQ_CONFIG_FILE= //配置文件路径 ,即rabbitmq.config文件路径
#RABBITMQ_MNESIA_BASE=     //mnesia所在路径
#RABBITMQ_LOG_BASE=        //日志所在路径
#RABBITMQ_PLUGINS_DIR=     //插件所在路径# mq01为主机名
RABBITMQ_NODENAME=rabbit@mq1
cat  /data/rabbitmq-server/etc/rabbitmq/rabbitmq.config
[{rabbit,[{vm_memory_high_watermark,0.6},{vm_memory_watermark_paging_ratio,0.5}]},{kernel,[]},{rabbitmq_management,[]},{rabbitmq_shovel,[{shovels,[]}]},{rabbitmq_stomp,[]},{rabbitmq_mqtt,[]},{rabbitmq_amqp1_0,[]},{rabbitmq_auth_backend_ldap,[]}
].

设置hosts

192.168.1.120 mq1
192.168.1.121 mq2
192.168.1.122 mq3

开机自启

cd /etc/systemd/system/
wget  http://soft.download/soft/linux/mq-server/config/rabbitmq-server.service -O /etc/systemd/system/rabbitmq-server.service
cat /etc/systemd/system/rabbitmq-server.service
[Unit]
Description=RabbitMQ broker
After=syslog.target network.target[Service]
Type=simple
User=rabbitmq
Group=rabbitmq
LimitNOFILE=65535
WorkingDirectory=/data/rabbitmq-server
ExecStart=/data/rabbitmq-server/sbin/rabbitmq-server
ExecStop=/data/rabbitmq-server/sbin/rabbitmqctl stop
NotifyAccess=all
TimeoutStartSec=3600[Install]
WantedBy=multi-user.target

修改启动脚本

vim +80 /data/rabbitmq-server/sbin/rabbitmq-server
#加入erlang环境变量
export ERLANG_HOME=/usr/local/erlang
export PATH=${ERLANG_HOME}/bin:$PATH
sed -i '80i export PATH=${ERLANG_HOME}/bin:$PATH' rabbitmq-server
sed -i '80i export ERLANG_HOME=/usr/local/erlang' rabbitmq-server

启动服务

systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service
systemctl enable rabbitmq-server.service

开放端口

firewall-cmd --zone=public --add-port=4369/tcp --permanent&&firewall-cmd --reload
firewall-cmd --zone=public --add-port=5672/tcp --permanent&&firewall-cmd --reload
firewall-cmd --zone=public --add-port=25672/tcp --permanent&&firewall-cmd --reload
firewall-cmd --zone=public --add-port=15672/tcp --permanent&&firewall-cmd --reload

创建账号、vhost、开启管理插件、删除guest账号

rabbitmqctl list_users -n rabbit@mq01rabbitmq-plugins enable rabbitmq_management -n rabbit@mq1rabbitmqctl add_user gadmin 123456 -n rabbit@mq01
rabbitmqctl add_user dev 123456 -n rabbit@mq1
rabbitmqctl add_user cloud 123456 -n rabbit@mq1
rabbitmqctl add_user test 123456 -n rabbit@mq1
#分配用户标签
rabbitmqctl set_user_tags gadmin administrator
rabbitmqctl set_user_tags dev administrator
rabbitmqctl set_user_tags cloud administrator
rabbitmqctl set_user_tags test administrator添加vhost
rabbitmqctl add_vhost /dev -n rabbit@mq1
rabbitmqctl add_vhost /cloud -n rabbit@mq1
rabbitmqctl add_vhost /test -n rabbit@mq1授权账号vhost权限
rabbitmqctl  set_permissions -p /  gadmin '.*' '.*' '.*' -n rabbit@mq01
rabbitmqctl  set_permissions -p /dev  dev '.*' '.*' '.*' -n rabbit@mq1
rabbitmqctl  set_permissions -p /cloud  cloud '.*' '.*' '.*' -n rabbit@mq1
rabbitmqctl  set_permissions -p /test  test '.*' '.*' '.*' -n rabbit@mq1查看集群状态
rabbitmqctl cluster_status -n rabbit@mq1# 设置权限
rabbitmqctl  set_permissions -p /  gadmin '.*' '.*' '.*'rabbitmqctl delete_user guest -n rabbit@mq1

新节点加入集群

注意:所有节点的.erlang.cookie的值要一致如果需要root账号也能执行rabbitmqctl命令,需要把.erlang.cookie拷贝到/root/路径下
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@mq1
rabbitmqctl start_app

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

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

相关文章

计算机网络(第六版)复习提纲26

6 TCP可靠传输的实现 A 以字节为单位的滑动窗口 1 发送窗口 ①发送窗口一定不能超过接收窗口的数值 ②发送窗口后沿后边表示已经发送并确认,后沿只允许前移或不动 ③发送窗口前沿前面表示不可发送,前沿允许不动或前移,也有可能向后收缩&#…

Abap与eCharts

一,简介 利用html与eCharts来绘图,然后用cl_gui_html_viewer将html呈现到abap屏幕中。 二,使用eCharts画图 在一个文件夹中准备如下文件,index.html和echarts.js是必须的,data.json(作为数据源)和jquery.js如果用到就可…

2024年华为OD机试真题-密码解密-Java-OD统一考试(C卷)

题目描述: 给定一段"密文"字符串s,其中字符都是经过"密码本"映射的,现需要将"密文"解密并且输出 映射的规则 (a-i)分别用(1-9)表示;(j-z)分别用(10*-26*)表示 约束:映射始终唯一 输入描述: “密文”字符串 输出描述: 明文字符串 补…

[高性能] - 缓存架构

对于交易系统来说,低延时是核心业务的基本要求。因此需要对业务进行分级,还需要对数据按质量要求进行分类,主要包含两个维度:重要性,延时要求,数据质量。共包含以下三种场景: 1. 重要 延时性要…

Linux系统中安装MAVEN

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Python程序员面试题精选及解析(2)

本文精心挑选了10道Python程序员面试题,覆盖了Python的多个核心领域,包括装饰器、lambda函数、列表推导式、生成器、全局解释器锁(GIL)、单例模式以及上下文管理器等。每道题都附有简洁的代码示例,帮助读者更好地理解和应用相关知识点无论是对…

自定义指令实现图片懒加载

步骤: 自定义指令判断图片是否进入视口只有进入视口的图片才发送网络请求代码优化 自定义指令 main.js app.directive(img-lazy, {mounted(el,binding) {// el是绑定的img元素,binding.value是图片srcconsole.log(el, binding.value)} })绑定元素&am…

Rhino.Inside带材质将Revit模型bake到Rhino

Hello大家好!我是九哥~ 今天来讲一个小技巧,就是我通常采用RIR将Revit的模型的Geometry Bake到Rhino,肯定是没有材质的,那么如果我们需要带材质那要怎么办呢? 对于会的人,其实挺简单的,只需要…

linux 生成 ca 证书

自建证书 创建用私钥签名的证书 生成私钥 openssl genrsa -out private.key 2048生成证书请求 openssl req -new -key private.key -out server.csr这一步需要填写证书信息,如 You are about to be asked to enter information that will be incorporated into…

2 月 6 日算法练习- 深度优先搜索

砝码承重 【问题描述】 你有一架天平和 N 个砝码,这 N 个砝码重量依次是 W1,W2,...,WN。请你计算一共可以称出多少种不同的正整数重量?注意砝码可以放在天平两边。【输入格式】 输入的第一行包含一个整数 N。第二行包含 N 个整数:W1,W2,W3,.…

Python面试题19-24

解释Python中的装饰器(decorators)是什么,它们的作用是什么? 装饰器是一种Python函数,用于修改其他函数的功能。它们允许在不修改原始函数代码的情况下,动态地添加功能。解释Python中的文件处理&#xff08…

可解释性AI(XAI):开启AI决策过程透明化,重塑信任与解决伦理偏见

文章目录 每日一句正能量前言可解释性AI的定义与重要性什么是可解释性?促进技术应用的可信度提高技术的透明度保护隐私和数据权益促进AI的社会接受度 可解释性AI的挑战与难点可解释性AI的应用场景后记 每日一句正能量 宁可因高目标而脖子硬,也不要为低目…

【大数据面试题】004 Flink状态后端是什么

一步一个脚印,一天一道大数据面试题。 在实时处理中,状态管理是十分常用的。比如监控某些数据是否一直快速增长。那就需要记录到之前的状态,数值。 那作为最热门的实时处理框架,Flink对状态管理是有一套的。那就是状态后端&…

Undertow使用详解

简介 Undertow是一个开源的、灵活的、高性能的非阻塞性应用服务器,由JBoss提供。它可以用作嵌入式服务器,也可以用作大型项目的全功能应用服务器。Undertow的设计以提供最高的性能和最大的灵活性为主要目标,支持非阻塞性和阻塞性处理方式&…

<网络安全>《18 数据安全交换系统》

1 概念 企业为了保护核心数据安全,都会采取一些措施,比如做网络隔离划分,分成了不同的安全级别网络,或者安全域,接下来就是需要建设跨网络、跨安全域的安全数据交换系统,将安全保障与数据交换功能有机整合…

ubuntu22.04@laptop OpenCV定制化安装

ubuntu22.04laptop OpenCV定制化安装 1. 源由2. 默认配置3. 定制配置4. 定制安装5. 定制OpenCV-4.9.05.1 修改opencv.conf5.2 加载so文件5.3 修改bash环境变量5.4 增加pkgconfig5.5 检查OpenCV-4.9.0安装 6. 总结7. 参考资料 1. 源由 目前,能Google到的代码层次不齐…

openkylin(Debian系)安装nginx及安装前需要的准备

前言 现在很多linux系统都可以使用高级包管理工具安装软件了,但是在像是 openkylin这些新系统中,好多软件包虽然有,但是因为其依赖的包还没有做好,所 以安装会提示你一大堆依赖错误。所以还是要自己来编译安装咯。安装前准备&…

PoEAA笔记-7.分布策略

本文摘抄自PoEAA,详细信息请阅读本书 7.1 分布对象的诱惑 透明性非常有用,但虽然有很多东西在分布对象中可以是透明的,但性能却不在其中,尽管上面的架构师是为了提高性能而使用分布组件的,但他的设计只会影响性能&…

RCS系统之:机器人状态

在设计RCS系统平台时,机器人总共设计状态有: 离线模式; 如图,18号机器人呈灰黑色,表示机器人没有上电状态 工作模式; 如图,10号机器人成绿色,表示机器人处于工作模式,等…

如何区分Linux中标准分区与lvm分区

以下是标准分区 以下包含lvm分区