作为微服务的消息中枢,单个节点肯定承受不了巨大的压力。本节笔者将带大家搭建一个rabbitmq集群,并使用HaProxy代理集群节点。1、不要在erlang环境下做任何yum安装。这很慢。这是最新的源地址http://erlang.org/download/otp_src_19.3.tar.gz建议先下载迅雷或者其他工具,然后使用rz(没有安装的同学可以yuminstalllrzsz-y)上传到服务器。/*安装依赖*/yum-yinstallmakegccgcc-c++kernel-develm4ncurses-developenssl-develunixODBC-devel/*编译安装*/tar-xzvfotp_src_19.3.tar.gzcd./otp_src_19.3./configure--prefix=/usr/erlang--without-javacmake&&makeinstall2.rabbitmq单节点安装/*rabbitmq下载地址*/https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.14-1.el7.noarch.rpm/*import*/rpm--importhttps://www.rabbitmq.com/rabbitmq-release-signing-key.asc/*install*/yuminstallrabbitmq-server-3.6.14-1.el7.noarch.rpm/*开启web管理界面*/rabbitmq-pluginsenablerabbitmq_management/*开启15672web端口*/firewall-cmd--zone=public--add-port=15672/tcp--permanentfirewall-cmd--reload/*用户命令对应的命令*/(1)添加新用户rabbitmqctladd_user用户名密码(2)删除用户rabbitmqctldelete_user用户名(3)修改用户的密码rabbitmqctlchange_passwordUsernameNewpassword(4)查看当前用户列表rabbitmqctllist_users/*允许用户远程访问*/rabbitmqctlset_permissions-p"/"User".*"".*"".*"/*设置用户角色的命令*/rabbitmqctlset_user_tags使用rTagUser为用户名,Tag为角色名(对应上面的administrator,monitoring,policymaker,management,或其他自定义名称)3.rabbitmq集群搭建建议复制1节点虚拟机两次,确保rabbitmqcookie是一致的。无需更改。然后分别编辑三个节点的hosts文件,三个节点的hosts文件一致。vi/etc/hosts/*添加三个节点*/192.168.41.140rabbitmq-node1.comrabbitmq-node1192.168.41.141rabbitmq-node2.comrabbitmq-node2192.168.41.142rabbitmq-node3.comrabbitmq-node3重启三台Server/*以detached模式启动三个rabbitmq*/rabbitmq-server-detached//如果提示无法写入PIDFILE,可以关闭应用,直接作为服务启动。杀死线程psaux|greprabbitmqkill-9xxxx/*启动服务*/servicerabbitmq-serverstart让node2和node3加入集群/*将node2作为RAM类型节点添加到node1*/rabbitmqctlstop_apprabbitmqctlresetrabbitmqctljoin_clusterrabbit@rabbitmq-node1--ramrabbitmqctlstart_app/*将node3作为磁盘类型节点添加到node1中*/rabbitmqctlstop_apprabbitmqctlresetrabbitmqctljoin_clusterrabbit@rabbitmq-node1rabbitmqctlstart_app/*查看集群信息*/rabbitmqctlcluster_status打开web管理界面查看,三个节点已经成功启动并安装了HAProxyTo代理三节点/*haproxy下载地址*/http://www.haproxy.org/download/1.7/src/haproxy-1.7.9.tar.gz/*根据平台选择编译参数*/uname-r/*安装c/c++*/yuminstallgccgcc-c++/*作者平台*/3.10.0-693.5.2.el7.x86_64//所以编译参数是makeTARGET=linux2628PREFIX=/usr/local/haproxymakeinstallPREFIX=/usr/local/haproxy/*添加环境变量*/vi/etc/profileexportPATH=$PATH:/usr/local/haproxy/sbinsource/etc/profile/*复制bin文件,后续需要startup*/cp/usr/local/haproxy/sbin/haproxy/usr/sbin/haproxy-v显示如下表示成功HA-Proxyversion1.7.92017/08/18Copyright2000-2017WillyTarreau
