1.服务部署情况
在三台服务器 etc/hosts中添加
192.168.100.100 node1
192.168.100.101 node2
192.168.100.103 node3
2.安装前准备
erlang-17.4-1.el6.x86_64.rpm
socat-1.7.2.3-1.el6.x86_64.rpm
rabbitmq-server-3.5.1-1.noarch.rpm
3.erlang安装
yum install gcc glibc-devel make ncurses-devel openssl-devel autoconf
yum install unixODBC unixODBC-devel
sudo rpm –ivh erlang-17.4-1.el6.x86_64.rpm
验证是否安装成功: erl -v erl 退出: halt().
4.socat安装
sudo rpm –ivh socat-1.7.2.3-1.el6.x86_64.rpm
或者 yum install socat
5.rabbitmq安装
sudo rpm –ivh rabbitmq-server-3.5.1-1.noarch.rpm
查找rabbitmq的安装路径 whereis rabbitmq 一般为:/usr/lib/rabbitmq
跳转到路径下: cd /usr/lib/rabbitmq/bin
关闭防火墙 systemctl stop firewalld
查看防火墙状态 systemctl status firewalld
启动rabbitmq rabbitmq-server -detached
添加用户 rabbitmqctl add_user username password
列出所有用户 rabbitmqctl list_users
删除用户 rabbitmqctl delete_user username
修改密码 rabbitmqctl change_password username newpassword
设置用户角色为管理员 rabbitmqctl set_user_tags username administrator
设置用户权限 rabbitmqctl set_permissions -p "/" username ".*" ".*" ".*"
启动插件rabbitmq-plugins enable rabbitmq_management
登录验证 192.168.100.100:15672 用户名 username 密码password
6.普通集群配置
按上面1-5步骤,在node2,node3中搭建单机版
find / -name '.erlang.cookie'
将node1作为主节点, node2,node3作为从节点,将node1的.erlang.cookie复制到node2,node3中
在服务器node2中
rabbitmqctl stop_app
建立集群 rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app
在服务器node3中
rabbitmqctl stop_app
建立集群 rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app
查看集群搭建情况 rabbitmqctl cluster_status
修改node2,node3集群节点为内存节点
rabbitmqctl change_cluster_node_type ram/disk
6.镜像队列
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
7.应用
清除所有队列 rabbitmqctl reset
查看所有队列 rabbitmqctl list_queues
摘除节点 rabbitmqctl forget_cluster_node[--offline]