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

至此,安装完成。

相关推荐
挖掘狂人13 分钟前
当生产环境"变慢",我用这套 perf + strace 30 分钟定位瓶颈
linux·运维·性能优化
傲世仙尊2 小时前
IO流起步-从fopen到文件描述符fd
linux
Rabitebla2 小时前
【Linux系统编程】 指令(二):一条路径是怎么定位到文件的
linux·c++·笔记·学习·算法
人工智能培训2 小时前
大语言模型:从语言理解到通用智能的跃迁
linux·服务器·前端·人工智能
顶点多余2 小时前
9.20 知识点查漏补缺
linux·面试·职场和发展
阿明62 小时前
Linux进程【Linux】
linux·运维·服务器
Android系统攻城狮3 小时前
Linux Gstreamer深度解析之gst_audio_resampler_update调用流程与实战(三十)
linux·运维·服务器·gstreamer音视频·音视频进阶
qetfw3 小时前
Linux tcpdump 抓包实战:网卡、主机、端口过滤与 PCAP 分析
linux·tcpdump
微信ipad协议开发3 小时前
微信视频号自动化:内容发布与互动的 API 实现
运维·微信
pilifeng13 小时前
Ubuntu Linux 目录结构详解
linux·ubuntu