[2016-03-15]rabbitmq notes


安装

系统:CentOS 6
环境: rabbitmq 依赖的Erlang环境包

wget https://www.rabbitmq.com/releases/erlang/erlang-18.1-1.el6.x86_64.rpm

Server:rabbitmq-server安装包

wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.5.7/rabbitmq-server-3.5.7-1.noarch.rpm

配置

插件:启用web管理界面插件:

rabbitmq-plugins enable rabbitmq_management

添加用户,设置用户为管理员以登录web管理界面:

rabbitmqctl add_user {username} {password}

设置用户为管理员:

rabbitmqctl set_user_tags {username} administrator

添加vhost:

rabbitmqctl add_vhost test //rabbitmq 设置的vhost名称不用带斜杠/

设置用户对vhost的权限:

rabbitmqctl set_permissions -p myvhost tonyg "^tonyg-.*" ".*" ".*"

rabbitmqctl参考:rabbitmqctl Doc

运行时辅助命令

查看端口占用情况

netstat -a |grep 15672

查看哪个应用占用了该端口

lsof -i:15672

防火墙开通指定端口

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/etc/rc.d/init.d/iptables save

关闭防火墙

service iptables stop

windows服务作为消费端

创建服务的命令

sc create ServiceA displayname= "ServiceA_DisplayName" binPath= "/path/to/exe" start= auto
sc start ServiceA

rabbitmq配置格式

amqp://gqc:gqc@10.16.35.92/gqc_host

CentOS辅助相关

centos 添加epel库

yum install epel-release
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

centos 安装python pip

yum install python-pip

rabbitmq 配置集群

主节点所在服务器开放4369端口,开放25672端口

从节点添加hosts解析主节点的计算机名

vim /etc/hosts
+10.16.35.92 rabbitmqServer

从节点执行

rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@rabbitmqServer
rabbitmqctl start_app

rabbitmq 集群特性

  1. 除队列外,其他元素全部自动镜像,队列默认持久化但不镜像(所在节点挂了则该队列内数据就下线了,节点恢复则原数据重新恢复上线),需要配置policy
  2. 当队列需要高可用时,需要配置policy,启用队列的镜像和自动同步,可设置ha-sync-batch-size以提高队列性能,可设置queue-master-locator策略

policy设置范例(gqc_host中所有队列启用高可用,自动在所有节点上镜像并自动同步)

Virtual Host    :   gqc_host
Name            :   ha-all
Pattern         :   .*
Apply to        :   queues
Definition      :   ha-mode:all  ha-sync-mode:automatic
Priority        :   0

追记CentOS7安装步骤

  • wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-3.6.9-1.el7.noarch.rpm
  • yum install erlang
  • rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
  • yum install rabbitmq-server-3.6.9-1.el7.noarch.rpm
  • systemctl enable rabbitmq-server.service
  • systemctl start rabbitmq-server
  • rabbitmq 配置web管理界面插件、添加用户、添加vhost等
  • systemctl edit rabbitmq-server 配置LimitNOFILE放开文件描述符限制

systemctl edit rabbitmq-server 输入范例:

[Service]
LimitNOFILE=32768

CentOS7防火墙firewalld管理

firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --reload

CentOS7服务管理

systemctl list-unit-files|grep rabbitmq
systemctl enable rabbitmq-server.service
systemctl edit rabbitmq-server 服务配置(放开文件描述符限制)

参考资料

官方RPM安装文档

转载于:https://www.cnblogs.com/personball/p/7455903.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mongoose 定义经纬度数据类型

本来想用Double在mongoose中直接定义经纬度的。但是发现mongoose的数据类型只有下面几种。 String Number Date Buffer Boolean Mixed ObjectId Array Decimal128 Map所以我们使用Decimal128来定义经纬度 const LocationsSchema new mongoose.Schema({latitude: {type: mong…

oracle导入中文数据出现乱码

两种情况下不会乱码1 数据库端的字符集和客户端一致2 数据库端的字符集包含(也可理解为:超集)客户端的字符集例如数据库端是 UTF-8 ,那么无论客户端是ZHS16GBK 还是Big5都可以存入,数据库端返回客户端时会做一次转换。…

VFP参考资料word版

《VFP参考资料word版》下载地址: 网盘下载 转载于:https://www.cnblogs.com/long12365/p/9731452.html

腾讯地图 点聚合

首先,我有一万个理由,不想用腾讯地图,但只有一个理由说服我使用:做微信开发,地图组件需要和微信自带地图保持一致性。今天我做了腾讯地图很多marker点的聚合显示功能,主要参考官方的,下面是地址…

重建AD域控制器的DNS服务器

域控制器上重建AD集成dns区域1. 控制面板->管理工具,打开dns管理器,展开正向搜索区域,右键单击domain.com区域,选择删除,在提示对话框中选择“是”;如果存在 _msdcs.domain.com区域,右键单击…

sonyflake.go

// Package sonyflake implements Sonyflake, a distributed unique ID generator inspired by Twitters Snowflake.//第一位为未使用(实际上也可作为long的符号位),接下来的41位为毫秒级时间,然后5位datacenter标识位&#xff0c…

国内比较好用的5款测试管理工具

做好测试的前提是写好测试用例,写测试用例则需要一款好用的测试管理工具。国外有几款好用的测试管理工具,由于服务器部署在国外,国内访问会比较卡,还有就是语言不是中文的大家用起来也比较困难,这里就不推荐大家使用了…

如何设置Active Directory域控制器

安装第一个域控制器 请依次执行下列步骤,以便创建一个新的域,并在某一服务器上安装Active Directory服务,然后,将该服务器设定为对应于新建域的第一个域控制器: 在开始菜单上单击运行,并在随后出现的对话框…

mysql 转换编码方式

进入mysql 的安装文件夹找到 “ my.ini” 文件 (mysql配置文件) 一、编辑MySql的配置文件 vim /etc/my.cnf 在 [mysqld] 标签下加上三行 default-character-set utf8 character_set_server utf8 在 [mysql] 标签下加上一行 default-character-set ut…

mongodb报错 An error occurred while loading navigation: topology was destroyed

情况描述,关了电脑,第二天查询数据,报错An error occurred while loading navigation: topology was destroyed 我的数据库连接代码如下: var mongoose require(mongoose); mongoose.connect(mongodb://localhost/test); var d…

oracle常用命令收集

第一章:日志管理 1.forcing log switches sql> alter system switch logfile; 2.forcing checkpoints sql> alter system checkpoint; 3.adding online redo log groups sql> alter database add logfile [group 4] sql> (/disk3/log4a.rdo,/disk…

时间数组排序

时间数组: var timeArr ["2015-07-02","2016-01-01","2015-07-03","2015-12-02"] 时间数组从小到大排序: timeArr.sort((a,b)>{return parseInt(a.replace(/\D/g,),10) - parseInt(b.replace(/\D/g,),10) }) conosle.l…

zsh: command not found: nvm 解决方案

之前的nvm一直好用着,后来不知道为何,运行时候报错zsh: command not found: nvm 这是因为本机装了oh my zsh,而我之前nvm的配置是放在~/.bash_profile里面。 我选择了按照官方文档重新装一下,解决问题. 下载安装 curl -o- https:…

集合替换元素

排序比较简单,简略说一下 [java] view plaincopy print?ArrayList nums new ArrayList(); nums.add(.....) ...... Collections.reverse(nums); //次序反转 Collections.sort(nums); //按自然顺序排序 Collections.shuffle(nums); //随机排序 查找&am…