设为首页 收藏本站

运维网

查看: 111|回复: 5

[经验分享] Rabbitmq单机版+集群版安装部署

[复制链接]
累计签到:59 天
连续签到:1 天
发表于 2018-4-12 13:46:07 | 显示全部楼层 |阅读模式
本帖最后由 fangxing 于 2018-4-12 13:47 编辑

                         Rabbitmq  安装

一 单机安装.............................................................................................................. 2
1. 安装rpm包.................................................................................................... 2
2. 启动,停止服务............................................................................................. 2
3. 添加管理员用户............................................................................................. 2
4. 启动和关闭监控插件...................................................................................... 3
二 集群安装.............................................................................................................. 3
2. 安装rabbit server并启动................................................................................ 3
3. 同步erlang.cookie文件................................................................................... 3
4. 使用detached参数......................................................................................... 4
5. 组成集群........................................................................................................ 4
6. 设置镜像队列策略.......................................................................................... 4
7. 启动管理插件................................................................................................. 5
8. haproxy搭建.................................................................................................... 5
三 参考资料.............................................................................................................. 6
一 单机安装
Rabbitmq  rmp安装包下载地址:

Erlang 安装包下载地址:

Rabbitmq 是基于erlang运行的,所以必须要先安装erlang!
     以下用rabbitmq-server-3.6.0-1为例!
下载erlang-18.2-1.el6.x86_64.rpm和rabbitmq-server-3.6.0-1.noarch.rpm

  1. 安装rpm包
rpm -ivherlang-18.2-1.el6.x86_64.rpm rabbitmq-server-3.6.0-1.noarch.rpm

默认安装完成后路径:
参数文件路径:(默认下面为空)
/etc/rabbitmq
rabbitmq.config  ---如果添加参数,需要自己创建这个文件
日志文件路径:
/var/log/rabbitmq
数据文件路径:
/var/lib/rabbitmq/mnesia
安装后文件目录:
/usr/lib/rabbitmq
/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.0
plugins目录:
/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.0/plugins

   2. 启动,停止服务
servicerabbitmq-server start    --启动服务器
servicerabbitmq-server stop    --停止服务
servicerabbitmq-server status   --查看服务状态

  3. 添加管理员用户
rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问。
添加其他用户:
rabbitmqctl add_user rabbitmq rabbitmq
---设置用户为管理员
rabbitmqctlset_user_tags rabbitmq administrator   
---设置虚拟主机 /  中的权限
rabbitmqctlset_permissions -p / rabbitmq ".*" ".*" ".*"

   4. 启动和关闭监控插件
rabbitmq-pluginsenable rabbitmq_management
关闭监控插件:
rabbitmq-pluginsdisable rabbitmq_management
启动后即可通过web页面管理rabbitmq
查看安装了那些插件:
rabbitmq-pluginslist


二 集群安装
3台rabbitmq,一台磁盘模式(仅用来做备份),两台内存模式(提供对外服务).

   1. 节点信息
192.168.2.111dataNode01
192.168.2.112dataNode02
192.168.2.113dataNode03
并将改信息在3台服务器的/etc/hosts中添加

  2. 安装rabbit server并启动
在3台服务器上分别安装好erlang和rabbitmq-server。
启动dataNode01上的rabbitmq服务
servicerabbitmq-server start

  3. 同步erlang.cookie文件
   dataNode01上的/var/lib/rabbitmq/.erlang.cookie文件覆盖到其他2个节点上,注意权限也要保留!
scp.erlang.cookie dataNode02:/var/lib/rabbitmq/
scp.erlang.cookie dataNode03:/var/lib/rabbitmq/
复制完成后重启3rabbitmq server

  4. 使用detached参数
停止所有节点RabbitMq服务,然后使用detached参数独立运行!
servicerabbitmq-server stop
使用detached参数,在后台启动Rabbit:
rabbitmq-server-detached
查看单个rabbitmq的集群状态
[iyunv@dataNode01~]# rabbitmqctl cluster_status
Cluster statusof node rabbit@dataNode01 ...
[{nodes,[{disc,[rabbit@dataNode01]}]},
{running_nodes,[rabbit@dataNode01]},
{cluster_name,<<"rabbit@dataNode01">>},
{partitions,[]}]

5. 组成集群
将dataNode02、dataNode03作为内存节点与dataNode01连接起来
在dataNode02和dataNode03上分别执行:
rabbitmqctlstop_app
rabbitmqctljoin_cluster --ram rabbit@dataNode01
rabbitmqctlstart_app

查看集群状态
[iyunv@dataNode02rabbitmq]# rabbitmqctl cluster_status
Cluster statusof node rabbit@dataNode02 ...
[{nodes,[{disc,[rabbit@dataNode01]},
         {ram,[rabbit@dataNode03,rabbit@dataNode02]}]},
{running_nodes,[rabbit@dataNode03,rabbit@dataNode01,rabbit@dataNode02]},
{cluster_name,<<"rabbit@dataNode01">>},
{partitions,[]}]
也可以在管理插件上查看集群状态:连接地址和单机类似

6. 设置镜像队列策略
   在任意一个节点运行即可:
rabbitmqctl set_policy ha-all '.*''{"ha-mode":"all"}'

rabbitmqctlset_policy [-p <vhostpath>] [--priority <priority>] [--apply-to<apply-to>] <name> <pattern> <definition>
name 策略名称
pattern 正则表达式,用来匹配资源,符合的就会应用设置的策略
definition 是json格式设置的策略。
apply-to 表示策略应用到什么类型的地方,一般有queues,exchange和all,默认是all
priority 是个整数优先级
其中ha-mode有三种模式:
all: 同步至所有的.
exactly: 同步最多N个机器. 当现有集群机器数小于N时,同步所有,大于等于N时则不进行同步. N需要额外通过ha-params来指定.
nodes: 只同步至符合指定名称的nodes. N需要额外通过ha-params来指定.

7. 启动管理插件
启动监控插件:   --默认是没有启动
rabbitmq-pluginsenable rabbitmq_management
创建管理用户和单机一样!
每个节点都要启动,启动后就能在任意一个节点上登录看到所有信息(用户密码共享,即只需要在一个节点上创建用户)

8. haproxy搭建
yum installhaproxy
更改/etc/haproxy/haproxy.cfg   ---文件需要修改
在最后加上:
listenrabbitmq_cluster 0.0.0.0:5672
    mode tcp
    balance roundrobin
         option tcplog
    option tcpka
    server  rqslave1 192.168.2.112:5672 check inter 2000 rise 2 fall 3   
    server  rqslave2 192.168.2.113:5672 check inter 2000 rise 2 fall 3
#    server   rqmaster 192.168.2.111:5672 check inter 2000rise 2 fall 3

启动haproxy
service haproxyrestart


三 参考资料
官网:

安装页面:


安装参考:rabbitmq集群+haproxy




运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:admin@yunvn.com 网址:www.iyunv.com

点击关注更多内容
累计签到:96 天
连续签到:2 天
发表于 2018-4-16 10:01:42 | 显示全部楼层
多谢楼主分享

运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:admin@yunvn.com 网址:www.iyunv.com

回复 支持 反对

使用道具 举报

累计签到:94 天
连续签到:2 天
发表于 2018-4-17 10:04:44 | 显示全部楼层
这文章好  技术干活

运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:admin@yunvn.com 网址:www.iyunv.com

回复 支持 反对

使用道具 举报

累计签到:94 天
连续签到:2 天
发表于 2018-4-17 10:05:09 | 显示全部楼层
好东西   技术真棒

运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:admin@yunvn.com 网址:www.iyunv.com

回复 支持 反对

使用道具 举报

累计签到:94 天
连续签到:2 天
发表于 2018-4-17 10:05:27 | 显示全部楼层
阿萨德发的 我怎么回复不了

运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:admin@yunvn.com 网址:www.iyunv.com

回复 支持 反对

使用道具 举报

累计签到:94 天
连续签到:2 天
发表于 2018-4-17 10:05:55 | 显示全部楼层
阿法士大夫

运维网声明 1、欢迎大家加入本站运维交流群:群①:263444886群②:197202523群③:485755530群④:201730672群⑤:202807635运维网交流群⑥:281548029
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须注明原文的出处
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、运维网 - 服务您的运维操作管理专家!
6、联系人Email:admin@yunvn.com 网址:www.iyunv.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则  允许回帖邮件提醒楼主

关注运维网官方微信X

关注运维网官方微信

扫描二维码关注运维网官方微信,最新一手资源尽在官方微信!快快关注我们吧...

扫描微信二维码查看详情

客服 E-mail:kefu@yunvn.com

本站由安畅网络和青云提供云计算服务

运维网--中国最专业的运维工程师交流社区

京ICP备14039699号-1 Copyright © 2012-2018

使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

Good good study day day up !


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


合作伙伴: 青云cloud 安畅网络

快速回复 返回顶部 返回列表