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浏览器管理界面查看服务状态

至此,安装完成。

相关推荐
破刺不会编程4 分钟前
socket编程TCP
linux·运维·服务器·开发语言·网络·网络协议·tcp/ip
CILMY2313 分钟前
【Linux】进度条实践教程:使用Makefile构建项目
linux·进度条·make和makefile
沉在嵌入式的鱼25 分钟前
linux串口对0X0D、0X0A等特殊字符的处理
linux·stm32·单片机·特殊字符·串口配置
gxh199226 分钟前
4步将HTTP请求升级为HTTPS
运维·服务器·网络协议·http·https
云和数据.ChenGuang1 小时前
运维工程师技术之nfs共享文件系统
运维·服务器·运维技术·数据库运维工程师·运维教程
哈哈哈笑什么1 小时前
企业级高并发分布式SpringCloud系统下,订单动态超时自动取消(最终成熟方案),使用spring-cloud-starter-stream-rabbit
分布式·spring cloud·rabbitmq
Better Bench1 小时前
Ubuntu aarch64\arm64系统安装vscode
linux·vscode·ubuntu
❀͜͡傀儡师1 小时前
Docker部署Rustscan端口扫描工具
运维·docker·容器
暴风游侠2 小时前
linux知识点-服务相关
linux·服务器·笔记
阿海5742 小时前
卸载nginx的shell脚本
linux·nginx