Rabbitmq安装
1.下载并安装rabbitmq rpm包
mkdir /data1/software #将rabbitmq-server-3.6.9-1.el6.noarch.rpm放到该目录
yum -y install epel-release #安装依赖
yum -y install erlang socat
#yum install libncurses*
erl -version
cd /data1/software
rpm -ivh rabbitmq-server-3.6.9-1.el6.noarch.rpm
2.修改cookie
vi /var/lib/rabbitmq/.erlang.cookie
cp /var/lib/rabbitmq/.erlang.cookie /root/
3.服务管理
rabbitmq-server start -detached --后台启动服务
rabbitmqctl start_app --启动服务
rabbitmqctl stop_app --关闭服务,如果失败则kill进程,然后再rabbitmq-server start -detached
rabbitmqctl status #查看节点状态
systemctl enable rabbitmq-server
systemctl start rabbitmq-server
#杀掉所有rabbitmq进程
kill -9 $(ps -ef|grep rabbitmq |grep -v grep |awk '{print $2}')
#rabbitmq-server start报错的话,基本是rabbitmq用户权限不足导致,修改如下两个目录权限属组、属主
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/mnesia/rabbit@rabbitmq01-plugins-expand
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/mnesia/rabbit@rabbitmq01/msg_store_transient
4.后台管理:
rabbitmq-plugins enable rabbitmq_management --启动web管理插件
rabbitmqctl add_user admin admin --添加用户,密码
rabbitmqctl set_user_tags admin administrator --设置zlh为administrator权限
Listening ports:3个端口(5672,25672,15672);
5672对应的是amqp,25672对应的是clustering,15672对应的是http(也就是我们登录RabbitMQ后台管理时用的端口)。
25672对应的是集群,15672对应的是后台管理。因为RabbitMQ遵循Ampq协议,所以5672对应的就是RabbitMQ的通信了
5.RabbitMQ集群中的节点只有两种类型:内存节点/磁盘节点,单节点系统只运行磁盘类型的节点。而在集群中,可以选择配置部分节点为内存节点
如果配置集群,则需要保证每个节点的cookie值保持一致,复制 /var/lib/rabbitmq/.erlang.cookie到所有机器
先修改hosts解析,保证可以正常ping通
以节点01为主节点,将节点02、03加入群集,需要在02和03节点进行如下操作:
保持节点01上的rabbitmq服务正常运行
rabbitmqctl stop_app #如失败则kill进程,然后rabbitmq-server start -detached,再stop_app
rabbitmqctl reset //可以不做
rabbitmqctl join_cluster --ram rabbit@名称1 #设置为内存节点,磁盘则为disc
rabbitmqctl start_app
修改节点02类型为disc:
先停止节点服务 rabbitmqctl stop_app,然后 rabbitmqctl change_cluster_node_type disc -n rabbit@rabbitmq02
查看群集状态: rabbitmqctl cluster_status
5.设置群集模式为镜像模式:
设置策略:rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'
参考:https://www.cnblogs.com/java-spring/p/8855862.html
https://www.jianshu.com/p/6376936845ff
https://www.cnblogs.com/cq-yangzhou/p/12489581.html
https://my.oschina.net/genghz/blog/1840262 #镜像
https://www.cnblogs.com/knowledgesea/p/6535766.html #镜像