rabbitmq集群配置

rabbitmq是一个轻量级的消息服务系统,切记它只是一个类似信件邮递员的功能,而不是快递,不用把它当成redis在用。
一、rabbitmq软件安装
1.erlang安装
安装erlang,加载官方提供的yum源,然后直接安装。最新版本的rabbitmq直接依赖erlang,安装esl-erlang无法进行下一步安装。
#rpm -Uvh https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
#yum install erlang -y
安装epel,rabbitmq的一些依赖会自动安装。
#rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
#yum install socat

###另:使用源码安装erlang
#tar xf otp_src_19.1.tar.gz
#cd otp_src_19.1
#yum -y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel
#./configure --prefix=/usr/local/erlang \
--enable-smp-support --enable-threads \
--enable-sctp --enable-kernel-poll \
--enable-hipe --with-ssl
#make && make install

2.rabbitmq-server安装
#wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm
#rpm -ivh --nodeps rabbitmq-server-3.6.5-1.noarch.rpm

3.启用WEB管理和日志插件
#rabbitmq-plugins enable rabbitmq_management #web 管理插件
#rabbitmq-plugins enable rabbitmq_tracing #队列消费日志

二、配置rabbitmq
1.rabbitmq-env.conf
#vi rabbitmq-env.conf
RABBITMQ_CONFIG_FILE=/etc/rabbitmq/rabbitmq.config
RABBITMQ_MNESIA_BASE=/home/rabbitmq
RABBITMQ_LOG_BASE=/var/log/rabbitmq

2.rabbitmq.config
#cp /usr/share/doc/rabbitmq-server-3.6.5/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config

3.启动
#rabbitmq-server start &
或 rabbitmq-server -detached
#rabbitmqctl stop

三、集群
####以disc结点为中心,组成集群。官方建议一个集群最好拥有两个dis节点,但这会严重影响性能。在对数据一致性要求没有那么高的场景下,考虑配置一个disk节点即可。
1.创建erlang集群
rabbitmq的集群是在erlang集群上实现的,rabbitmq并不管理集群,由erlang语言负责。
#ssh-keygen
#ssh-copy-id $node1 #...nodes
#rabbitmq-server start
#scp /var/lib/rabbitmq/.erlang.cookie rabbitmq@ip:`pwd`

修改cookie文件权限
#chmod 400 .erlang.cookie
#chown rabbitmq.rabbitmq .erlang.cookie

2.创建rabbitmq集群
rmq2上
#rabbitmq-server -detached
#rabbitmqctl stop_app #停掉应用
#rabbitmqctl join_cluster --ram rabbit@rmq1 #做为rab节点加入集群
#rabbitmqctl start_app
rmq3上同样执行上述步骤

3.配置管理员用户
#rabbitmqctl add_user gtadmin 123456 #新增用户并配置密码
#rabbitmqctl set_user_tags gtadmin administrator #给用户打标签
#rabbitmqctl set_permissions -p "/" gtadmin ".*" ".*" ".*" #分配权限
rabbitmq的WEB管理功能比较强,拥有管理员权限后,大部分的操作都可通过WEB管理来实现。

3.镜像策略
在集群的基础上启用,可以保证消息在每个节点上都存在,但会消费一定的性能。
设置镜像队列策略,在cluster中任意节点启用策略,策略会自动同步到集群节点,这行命令在vhost名称为hrsystem创建了一个策略,策略名称为ha-all,策略模式为 all 即复制到所有节点,包含新增节点。策略正则表达式为 "^" 表示所有匹配所有队列名称。
#rabbitmqctl set_policy -p / ha-all "^" '{"ha-mode":"all"}'
#rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值