oracle linux源码安装rabbitMQ并部署三节点rabbitmq集群

一.安装rabbitMQ的基础软件下载

Rabbitmq是现阶段比较常用的一个消息队列服务,是基于erlang语言开放的,需要首先安装erlang,并且rabbitmq和erlang的版本是有关系的。

1.基础依赖软件(主要是是编译和erlang安装的时候的一些依赖软件)

复制代码
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel ncurses-devel wget xz 
yum install unixODBC  unixODBC-devel -y #在编译erlang的时候,提示用到的软件。

2.下载erlang和rabbitmq软件

复制代码
#下载erlang软件
wget http://erlang.org/download/otp_src_26.0.tar.gz  
#下载rabbitmq软件
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.12.2/rabbitmq-server-generic-unix-3.12.2.tar.xz  

3.解压软件

复制代码
#解压erlang软件
tar -zvxf otp_src_26.0.tar.gz
#解压rabbitMQ软件
xz -d rabbitmq-server-generic-unix-3.12.2.tar.xz
tar xvf rabbitmq-server-generic-unix-3.12.2.tar

4.安装erlang软件

复制代码
cd /opt/otp_src_26.0
./configure --prefix=/opt/er1ang --without-javac
make && make install

安装完成之后在/opt/er1ang下面有下面内容

将erlang写入环境变量

编辑/etc/profile,添加如下内容

复制代码
export PATH=$PATH:/opt/er1ang/bin

执行source /etc/profile生效,使用erl命令进行测试

5.安装rabbitMQ软件

Rabbitmq服务的安装强依赖erlang语言,所以在进行以下步骤前,请确保前面的步骤都已运行正常。Rabbitmq服务无须编译安装,解压后的目录及为Rabbit服务目录。

复制代码
cd /opt/rabbitmq_server-3.12.2/
ls 
复制代码
# 将Rabbitmq相关命令写入环境变量
 vim /etc/profile
export PATH=$PATH:/opt/rabbitmq_server-3.12.2/sbin
# 添加完成后运行命领令,是环境变量生效,注意添加位置,在erlang之后,或者只添加一条:export PATH=$PATH:/opt/erlang/bin:/opt/rabbitmq_server-3.12.2/sbin
source /etc/profile 

启动rabbitMQ软件

复制代码
 rabbitmq-server -detached

注意此时rabbitmq仍为提供消息队列服务,只有等start_app了才会正常提供服务,启动的监听的端口默认是25672,5672,4369端口 ,15672是开启图形化管理后监听的

二.部署rabbitMQ集群

1.统一认证Erlang Cookie

设置不同节点间同一认证的Erlang Cookie,采用从某个节点copy的方式保持Cookie的一致性。

启动rabbitmq之后会在~/.erlang.cookie或/var/lib/rabbitmq/下生成一个.erlang.cookie隐藏文件,即使你把这个文件给删除了运行rabbitmq-server也会再次生成新的.erlang.cookie。

可以通过scp将第一个节点的~/.erlang.cookie复制到另外两个节点(在node1上面执行)

复制代码
scp ~/.erlang.cookie {node2_host_or_ip}:~/.erlang.cookie
scp ~/.erlang.cookie {node3_host_or_ip}:~/.erlang.cookie

2.三个节点启动rabbitmq(分别在在node1,node2,node3上执行)

复制代码
rabbitmq-server -detached

3.创建并部署集群(分别在在node2,node3上执行)

复制代码
rabbitmqctl status
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster  --ram  rabbit@rke2-rabbitmq01

#执行加入集群完成之后
rabbitmqctl start_app
rabbitmqctl cluster_status

三.添加rabbitmq浏览器管理插件

复制代码
rabbitmq-plugins enable rabbitmq_management #启用管理插件
rabbitmqctl add_user adn RbT@123456         #新增用户
rabbitmqctl set_user_tags adn administrator #设置角色
rabbitmqctl list_permissions -p /           #查看角色
rabbitmqctl list_users                      #查看用户
rabbitmqctl set_permissions -p "/" adn ".*" ".*" ".*"  #赋权
rabbitmqctl delete_user guest      #删除默认用户

登录Rabbitmq浏览器管理界面查看服务状态

至此,安装完成。

相关推荐
安顾里3 小时前
Linux命令-iostat
linux·运维·服务器
100编程朱老师4 小时前
面试:什么叫Linux多路复用 ?
linux·运维·服务器
群联云防护小杜4 小时前
云服务器主动防御策略与自动化防护(下)
运维·服务器·分布式·安全·自动化·音视频
PPIO派欧云4 小时前
PPIO X OWL:一键开启任务自动化的高效革命
运维·人工智能·自动化·github·api·教程·ppio派欧云
miracletiger4 小时前
uv 新的包管理工具总结
linux·人工智能·python
enyp804 小时前
麒麟系统(基于Ubuntu)上使用Qt编译时遇到“type_traits文件未找到”的错误
linux·qt·ubuntu
struggle20254 小时前
LinuxAgent开源程序是一款智能运维助手,通过接入 DeepSeek API 实现对 Linux 终端的自然语言控制,帮助用户更高效地进行系统运维工作
linux·运维·服务器·人工智能·自动化·deepseek
无敌小茶6 小时前
Linux学习笔记之动静态库
linux·笔记
程序员JerrySUN6 小时前
驱动开发硬核特训 · Day 21(上篇) 抽象理解 Linux 子系统:内核工程师的视角
java·linux·驱动开发
雨声不在7 小时前
debian切换用户
linux·服务器·debian