匿名
未登录
登录
Linux78|wiki
搜索
查看“Centos 7 Rabbitmq 镜像集群安装”的源代码
来自Linux78|wiki
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
Centos 7 Rabbitmq 镜像集群安装
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
wiki:用户|用户
您可以查看与复制此页面的源代码。
基于erlang的分布式特性,RabbitMQ很容易搭建其集群模式。RabbitMQ集群有普通模式和镜像模式两种,但普通模式的可靠性远差于镜像模式;另外,RabbitMQ的消息存储方式也有内存型和磁盘型两种,磁盘型适用于持久型消息,而内存型在重启应用后则消息被清空,故本文只讲述RabbitMQ磁盘型镜像模式集群的搭建方法。 系统环境 操作系统:CentOS 7.2 应用软件:erLang、RabbitMQ 服务器配置 服务器IP 主机名 应用 10.10.100.101 RABBITMQ-A erlang RabbitMQ 10.10.100.102 RABBITMQ-B erlang RabbitMQ 10.10.100.103 RABBITMQ-C erlang RabbitMQ === 配置erlang yum源 === cat >/etc/yum.repos.d/rabbitmq_erlang.repo<<-EOF [rabbitmq_erlang] name=rabbitmq_erlang baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 [rabbitmq_erlang-source] name=rabbitmq_erlang-source baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 EOF === 配置rabbitmq的yum源 === cat >/etc/yum.repos.d/bintray-rabbitmq-server<<-EOF [bintray-rabbitmq-server] name=bintray-rabbitmq-rpm baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/ gpgcheck=0 repo_gpgcheck=0 enabled=1 EOF === 安装erlang和rabbitmq-server === yum install erlang rabbitmq-server -y 1、配置hostname echo "RABBITMQ-A" > /etc/hostname echo -e "10.10.100.101 RABBITMQ-A\n10.10.100.102 RABBITMQ-B\n10.10.100.103 RABBITMQ-C" >> /etc/hosts 至此,erlang和rabbitmq已经安装完成,下面开始进入配置环节。 导入插件rabbitmq_management rabbitmq-plugins enable rabbitmq_management 同步cookie文件 chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie for i in 2 3; do scp /var/lib/rabbitmq/.erlang.cookie root@10.10.100.10$i:/var/lib/rabbitmq; done 新添加的节点也必须使用原集群的erlang cookie,erlang cookie文件位置: rpm安装 → /var/lib/rabbitmq/.erlang.cookie 编译安装 → $home/.erlang.cookie === 安装插件 === 由于要用到rabbitmq_delayed_message_exchange插件,所以就要下载并安装。 下载地址:https://www.rabbitmq.com/community-plugins.html 下载到服务器上解压出来后,复制插件到rabbitmq安装目录下的plugins目录: cp rabbitmq_delayed_message_exchange-20171201-3.7.x.ez /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.17/plugins/ rabbitmq-plugins enable rabbitmq_delayed_message_exchange Enabling plugins on node rabbit@localhost: rabbitmq_delayed_message_exchange The following plugins have been configured:rabbitmq_delayed_message_exchange Applying plugin configuration to rabbit@localhost... Plugin configuration unchanged. 上面表示插件启动成功。 === 启动管理功能 === 为了管理方便,启动web管理功能,默认端口为15672。 rabbitmq-plugins enable rabbitmq_management === 配置RabbitMQ集群 === 配置RabbitMQ用户 在所有节点上添加用户,并加入administrator用户组: rabbitmqctl add_user rbtmqadmin Rabbitmq@123 rabbitmqctl set_permissions -p "/" rbtmqadmin ".*" ".*" ".*" rabbitmqctl set_user_tags rbtmqadmin administrator 完成后,即可登录web界面http://10.10.100.101:15672。 提醒:RabbitMQ的默认用户“guest”用于集群检测,一般情况下不要做任何修改。 通过-detached启所有节点 rabbitmqctl stop rabbitmq-server -detached rabbitmqctl cluster_status 创建集群 从第二个节点开始,依次加入到第一个节点中,创建RabbitMQ集群。 rabbitmqctl stop_app rabbitmqctl join_cluster rabbit@RABBITMQ-A rabbitmqctl start_app === 设置镜像策略 === 在web端创建虚拟机(coreserver)并授予rbtmqadmin和guest用户权限: Admin → Virtual Hosts → Add a new virtual host 然后,在终端执行如下命令: rabbitmqctl set_policy -p coreserver ha-all "^" '{"ha-mode":"all"}' 至此,RabbitMQ集群已经搭建成功,如果需要搭建HA,可在本博客中搜索“haproxy”参考其他文章,下面举出haproxy中需要调整的配置(10.10.100.100是HA的IP): listen rabbitmq_admin bind 10.10.100.100:15672 server node1 10.10.100.101:15672 server node2 10.10.100.102:15672 server node3 10.10.100.103:15672 listen rabbitmq_cluster bind 10.10.100.100:5672 option tcplog mode tcp timeout client 1h timeout server 1h option clitcpka balance roundrobin server node1 10.10.100.101:5672 check inter 5s rise 2 fall 3 server node2 10.10.100.102:5672 check inter 5s rise 2 fall 3 server node3 10.10.100.103:5672 check inter 5s rise 2 fall 3 [[分类:rabbitmq]]
返回至
Centos 7 Rabbitmq 镜像集群安装
。
导航
导航
首页
最近更改
随机页面
栏目
Nginx
Kubernetes
Spring Cloud
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志