rabbitmq是由erlang语言编写的,安装之前必须先安装erlang环境,并且两者版本需要匹配
rabbitmq依赖于socat,所以也要先安装socat
安装包版本中的el7,el8代表不同的系统,安装的时候要注意
1. 单机版安装
- erlang安装
1
| wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/8/erlang-24.2-1.el8.x86_64.rpm/download.rpm
|
1
| rpm -ivh erlang-24.2-1.el8.x86_64.rpm
|
- socat安装
- rabbitmq安装
1
| wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/8/rabbitmq-server-3.9.12-1.el8.noarch.rpm/download.rpm
|
1
| rpm -ivh rabbitmq-server-3.9.12-1.el8.noarch.rpm
|
- 基本命令
1 2 3 4 5
| systemctl start rabbitmq-server systemctl status rabbitmq-server systemctl enable rabbitmq-server systemctl stop rabbitmq-server systemctl restart rabbitmq-server
|
- web管理界面插件安装
1
| rabbitmq-plugins enable rabbitmq_management
|
访问 http://ip:15672 ,用默认账号密码guest登录,出现权限问题 默认情况只能在 localhost 本机下访问,所以需要添加一个远程登录的用户
1
| rabbitmqctl add_user admin 123456
|
1
| rabbitmqctl set_user_tags admin administrator
|
1
| rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
|
** 权限博客参考**
- 其他插件安装(非必须,以延时队列插件为例)
将下载好的延时队列插件移动到指定目录 下载地址
1
| mv rabbitmq_delayed_message_exchange-3.9.0.ez /usr/lib/rabbitmq/lib/rabbitmq_server-3.9.12/plugins/
|
开启延时队列功能
1
| rabbitmq-plugins enable rabbitmq_delayed_message_exchange
|
- 卸载
1 2
| yum -y remove rabbitmq-server.noarch rm -rf /var/lib/rabbitmq/ && rm -rf /var/log/rabbitmq/ && rm -rf /usr/local/rabbitmq/
|
2. 集群安装(镜像模式)
服务器准备
| 服务器 |
端口 |
说明 |
| 192.168.72.128 |
5672 |
硬盘节点 |
| 192.168.72.131 |
5672 |
内存节点 |
| 192.168.72.132 |
5672 |
内存节点 |
- 禁用SELINUX,为每台机器执行以下操作
修改下面配置
- 修改三台机器的host文件
添加以下内容,s1,s2,s3分别为三个节点的虚拟名称,可自定义
1 2 3
| 192.168.186.128 s1 192.168.186.131 s2 192.168.186.132 s3
|
重启服务器
为每台机器安装rabbitmq和web插件,并启动(不要创建用户)
设置每个节点的cookie文件相同
1
| chmod 600 /var/lib/rabbitmq/.erlang.cookie
|
1
| vi /var/lib/rabbitmq/.erlang.cookie
|
1
| systemctl restart rabbitmq-server
|
- 配置节点
s1为硬盘节点,s2和s3是内存节点,所以分别在s2和s3上设置如下内容
1 2 3
| rabbitmqctl stop_app rabbitmqctl join_cluster --ram rabbit@s1 rabbitmqctl start_app
|
在s1服务器创建用户(用户会自动同步到s2,s3)
在s1服务器安装其他所需插件
3. 其他