天天看点

Linux(Centos7)单机部署RabbiMq

单机部署:

1、安装erlang环境:

最简单的方法,上传rpm包或下载

# wget https://github.com/rabbitmq/erlang-rpm/releases/download/v21.3.8.11/erlang-21.3.8.11-1.el7.x86_64.rpm
# yum -y localinstall erlang-21.3.8.11-1.el7.x86_64.rpm
           
2、安装RabbitMq:

最简单的方法,上传rpm包或下载包

# wget https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/noarch/rabbitmq-server-3.7.7-1.el7.noarch.rpm
# yum -y localinstall rabbitmq-server-3.7.7-1.el7.noarch.rpm
           
3、添加开机启动:
# systemctl daemon-reload
# systemctl start rabbitmq-server
# systemctl enable rabbitmq-server
           
4、查看启动状态和端口:

看到是running即为启动成功。

Linux(Centos7)单机部署RabbiMq

成功启动会启动三个端口,分别是5672、15672、25672

Linux(Centos7)单机部署RabbiMq
5、新建一个用户和密码(用于登录web,更新之后默认的guest用户已经不能登录了):
5.1 创建用户和密码
# rabbitmqctl add_user rabbit1 rabbit1

# 设置创建的用户为管理员
# rabbitmqctl set_user_tags rabbit1 administrator

# 查看用户
# rabbitmqctl list_users

# 查看用户权限
# rabbitmqctl list_user_permissions rabbit1
           
6、开启RabbitMq的web访问界面:
Linux(Centos7)单机部署RabbiMq

集群部署:

环境准备:(相互解析,且均单机部署完成)

  • 192.168.47.145 zabbix
  • 192.168.47.147 zabbix1
  • 192.168.47.129 zabbix2
1、创建好数据存放目录和日志存放目录(每台都要弄):
1.1 数据存放目录
# mkdir -p /opt/rabbitmq/data

1.2 日志存放目录
# mkdir -p /opt/rabbitmq/logs

1.3 授权
# chmod 777 -R /opt/rabbitmq

1.4 更改属主与属组
# chown rabbitmq.rabbitmq -R /opt/rabbitmq

1.5 创建配置文件
# vim /etc/rabbitmq/rabbitmq-env.conf
RABBITMQ_MNESIA_BASE=/opt/rabbitmq/data 
RABBITMQ_LOG_BASE=/opt/rabbitmq/logs

1.6 重启服务
# systemctl restart rabbitmq-server
           
2、拷贝cookie:

拷贝其中一台rabbitmq的cookie到其他节点。被拷贝的rabbitmq为master,在这里将rabbitmq1做为master RabbitMq的集群是依附于erlang的集群来工作的,所以必须先构建起erlang的集群景象。Erlang的集群中各节点是经由 过程一个magic cookie来实现的,这个cookie存放在/var/lib/rabbitmq/.erlang.cookie中,文件是400的权 限。所以必须保证各节点cookie一致,不然节点之间就无法通信。 (官方在介绍集群的文档中提到过.erlang.cookie 一般会存在这两个地址:第一个是home/.erlang.cookie;第二个地 方就是/var/lib/rabbitmq/.erlang.cookie。如果我们使用解压缩方式安装部署的rabbitmq,那么这个文件会在{home} 目录下,就是$home/.erlang.cookie。如果我们使用rpm等安装包方式进行安装的,那么这个文件会在/var/lib/ rabbitmq目录下。)

# scp /var/lib/rabbitmq/.erlang.cookie zabbix1:/var/lib/rabbitmq/.erlang.cookie

# scp /var/lib/rabbitmq/.erlang.cookie zabbix2:/var/lib/rabbitmq/.erlang.cookie
           
3、重启服务:
4、将节点加入集群:
4.1 停止节点,切记不是停止服务
# rabbitmqctl stop_app 

4.2 如果有数据需要重置一下
# rabbitmqctl reset 

4.3 添加到了哪台节点,@后面的是节点的主机名(建议不要设置太长的主机名,否则解析不完整会导致出错)
# rabbitmqctl join_cluster r[email protected]

4.4 启动节点
# rabbitmqctl start_app 

4.5 在每台机器上查看集群状态
# rabbitmqctl cluster_status
           
Linux(Centos7)单机部署RabbiMq

每台机器显示出三台节点,表示已经添加成功!

1)默认rabbitmq启动后是磁盘节点,在这个cluster命令下,mq02和mq03是内存节点,mq01是磁盘节点。

2)如果要使mq02、mq03都是磁盘节点,去掉–ram参数即可。

3)如果想要更改节点类型,可以使用命令rabbitmqctl change_cluster_node_type disc(ram),前提是必须停掉 rabbit应用 在RabbitMQ集群集群中,必须至少有一个磁盘节点,否则队列元数据无法写入到集群中,当磁盘节点宕掉时,集群 将无法写入新的队列元数据信息。

Linux(Centos7)单机部署RabbiMq

继续阅读