1. 安装erlang 
安装依赖环境
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel
下载最新 Erlang 19.0
wget http://erlang.org/download/otp_src_19.0.tar.gz
解压
tar -xvzf otp_src_19.0.tar.gz
配置
./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac
make && make install
2. 安装 rabbitmq
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-generic-unix-3.6.5.tar.xz
xz -d rabbitmq-server-generic-unix-3.6.5.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.5.tar
mv rabbitmq_server-3.6.5/ /usr/local/rabbitmq
然后在配置rabbitmq环境变量,vi /etc/profile文件,增加下面的环境变量:
export PATH=$PATH:/usr/local/erlang/bin
export PATH=$PATH:/usr/local/rabbitmq/sbin
source /etc/profile使得文件生效
以上就已经完成了RabbitMq的安装
3.RabbitMQ服务启动关闭
启动服务: 
cd /usr/local/rabbitmq/sbin/
[root@iZ25e3bt9a6Z sbin]# ./rabbitmq-server -detached
查看服务状态:
[root@iZ25e3bt9a6Z sbin]# ./rabbitmqctl status
关闭服务:
[root@iZ25e3bt9a6Z sbin]# ./rabbitmqctl stop
Stopping and halting node rabbit@iZ25e3bt9a6Z ...
4. 配置网页插件
  首先创建目录,否则可能报错:
mkdir /etc/rabbitmq
  然后启用插件(在rabbitmq启动的前提下):
./rabbitmq-plugins enable rabbitmq_management
  配置linux 端口 15672 网页管理 5672 AMQP端口
  然后访问http://localhost:15672即可
  默认用户guest 密码guest
5. 远程访问配置
默认网页是不允许访问的,需要增加一个用户修改一下权限,代码如下:
  添加用户:rabbitmqctl add_user damon 123456
  添加权限:rabbitmqctl set_permissions -p "/" damon ".*" ".*" ".*"
修改用户角色:rabbitmqctl set_user_tags damon administrator
#根据自己需要创建以下内容
创建虚拟主机:rabbitmqctl add_vhost vhost(vhost为虚拟主机名)
清理原始权限:rabbitmqctl clear_permissions -p / damon
授予新主机权限:rabbitmqctl set_permissions -p vhost damon ".*" ".*" ".*"
然后就可以远程访问了,然后可直接配置用户权限等信息。
6. Rabbitmq的集群配置
(1)在2台节点上分别部署同一版本Rabbitmq,使用以下命令两台主机名是否相同
rabbitmqctl status
如果两台主机名相同,就得修改这两台机器的hostname,要想配置成功集群,就必须保证这两个节点的主机名不同,且能互相ping通
vim /etc/sysconfig/network
(centos7以上:vim /etc/hostname)
分别将HOSTNAME属性值改为rabbitmq_node1,rabbitmq_node2,并重启
(2)如果两台主机名不相同,如:分别为rabbit@rabbitmq_node1,rabbit@rabbitmq_node2,就在两台主机里的/etc/hosts文件中分别添加:
192.168.10.15 rabbitmq_node1 主节点
192.168.10.16 rabbitmq_node2
(3)设置每个节点Cookie 
Rabbitmq的集群是依赖于erlang的集群来工作的,所以必须先构建起erlang的集群环境。Erlang的集群中各节点是通过一个 magic cookie来实现的,这个cookie存放在 /root/.erlang.cookie 中,文件是400的权 限。所以必须保证各节点cookie保持一致,否则节点之间就无法通信. 建议在RabbitMQ服务启动前修改cookie,如果RabbitMQ服务已经启动,修改cookie值后,必须重启RabbitMQ服务,这步很关键
# chmod 700 /root/.erlang.cookie
# echo -n "AZVOCZYZZBVFLBPTBXU" > /root/.erlang.cookie
# chmod 400 /root/.erlang.cookie
# ps -ef | grep ^rabbitmq | awk '{print $2}' | xargs kill -9
#rabbitmq-server -detached
(4) 设192.168.10.15 (rabbitmq_node1)为主节点,在192.168.10.15机器中执行
#rabbitmqctl stop_app 
#rabbitmqctl reset (这一步会重置,请备份数据)
#rabbitmqctl start_app 
在192.168.10.16 (rabbitmq_node2)机器中
#rabbitmqctl stop_app #停止rabbitmq_node2节点
#rabbitmqctl join_cluster rabbit@rabbitmq_node1 # 将testNod2节点添加进主节点
#rabbitmqctl start_app #启动rabbitmq_node2节点
(5)设置镜像策略
使用Rabbit镜像功能,需要基于rabbitmq策略来实现,策略是用来控制和修改群集范围的某个vhost队列行为和Exchange行为
在cluster中任意节点启用策略,策略会自动同步到集群节点
# rabbitmqctl set_policy -p hrsystem ha-allqueue"^" '{"ha-mode":"all"}'

这行命令在vhost名称为hrsystem创建了一个策略,策略名称为ha-allqueue,策略模式为 all 即复制到所有节点,包含新增节点,
策略正则表达式为 “^” 表示所有匹配所有队列名称。
例如rabbitmqctl set_policy -p hrsystem ha-allqueue "^message" '{"ha-mode":"all"}'
注意:"^message" 这个规则要根据自己修改,这个是指同步"message"开头的队列名称,我们配置时使用的应用于所有队列,所以表达式为"^"
官方set_policy说明参见
set_policy [-p vhostpath] {name} {pattern} {definition} [priority]
(http://www.rabbitmq.com/man/rabbitmqctl.1.man.html)
(6)查看
至此,Rabbitmq的集群配置已经完成。在这2台机器中,执行以下命令:
/usr/sbin/rabbitmqctl cluster_status
就可以看到集群配置的效果,分别如下所示:(切记:在任何情况下,集群中必须至少有一个节点是disk类型的,所以如果集群是3台机器的话,就需要有2台机器的节点是disk类型的)

7. rabbitmq常用命令
  add_user <UserName> <Password>
  delete_user <UserName>
  change_password <UserName> <NewPassword>
  list_users
  add_vhost <VHostPath>
  delete_vhost <VHostPath>
  list_vhostsset_permissions [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp>
  clear_permissions [-p <VHostPath>] <UserName>
  list_permissions [-p <VHostPath>]
  list_user_permissions <UserName>
  list_queues [-p <VHostPath>] [<QueueInfoItem> ...]
  list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> ...]
  list_bindings [-p <VHostPath>]
list_connections [<ConnectionInfoItem> ...]

centos7.1 RabbitMQ安装配置相关推荐

  1. RabbitMQ安装+配置远程访问+集群(windows)

    RabbitMQ安装+配置远程访问+集群(windows) 1.安装RabbitMQ 1.下载安装包: 运行环境erlang: http://www.erlang.org/downloads 安装包: ...

  2. Centos7虚拟机下安装配置Tomcat

    Centos7虚拟机下安装配置Tomcat 以下所有操作都是CentOS7的root身份.已经安装配置了Java环境.配置了nat虚拟网络.并且虚拟机已经连接互联网 打开终端.如果命令结尾是 # 则表 ...

  3. tomcat7.0.81 linux,Linux/CentOS7.0下安装配置Tomcat8.0

    Linux/CentOS7.0下安装配置Tomcat8.0 一.配置Tomcat安装环境 1.下载对应的jdk 我用的是64位的下载地址: 下载将jdk加压后放到/usr/local目录下: 2.建立 ...

  4. Openpbs centos7集群安装配置心得

    Openpbs centos7集群安装配置心得 写在前面 准备工作 1.安装虚拟机 2.创建虚拟机集群 SSH免密登陆 网络环境配置 ssh免密登陆 建立NFS共享目录 关闭各节点防火墙和Selinu ...

  5. centos7 rabbitmq安装/配置

    一.RabbitMQ简单介绍 RabbitMQ就是当前最主流的消息中间件之一.RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python.Ruby..N ...

  6. CentOS7下RabbitMq安装和开机自启动配置

    安装RabbitMq 由于rabbitmq是用erlang语言编写所以需要先安装erlang 1.在安装erlang之前先安装下依赖文件(这一步不要忘掉了, 不然后面./configure的时候要报错 ...

  7. CentOS7最小化安装配置IP

    CentOS7配置IP: 因为是我们安装的CentOS操作系统是最小化安装的,所以没有图形界面和一些软件或插件的.IP也是没有配置的我们需要手动配置IP,然后使用远程终端通过这个IP去连接操作系统,在 ...

  8. Centos7 postfix dovecot安装配置

    基本流程及软件版本 最近在为公司搭建私有服务器环境,调研了一些开源或付费软件,最后选择自己配置软件环境,以下为配置过程及测试. Postfix:一种邮件传输代理软件,通常用来发送邮件: Dovcot: ...

  9. RabbitMQ安装配置

    RabbitMQ安装 引言 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消 ...

最新文章

  1. 网络工程师的经典爱情观
  2. Python--三元运算与lambda表达式
  3. JSP中一个页面怎么分清是链接过来还是提交过来的?
  4. pb 应用 迁移 linux_塑料包装袋中添加剂迁移到食品和药品中危害健康
  5. USACO 4.3.2 The Primes
  6. HALCON学习之旅(六)
  7. 写代码也有“套路”-谈谈设计模式
  8. Eclipse自动生成作者、日期注释功能设置
  9. 移动项目工作笔记0001---使用uni-app开发移动端应用
  10. 一个简单的TCP客户/服务器的程序
  11. arm 环境下安装selenium+chrome
  12. Unity 基础纹理
  13. 拼多多商家无货源,如何批量铺货?
  14. 源恒房地产税务软件土地增值税清算系统
  15. 表格表头绘制对角线(不固定表格宽高)
  16. Windows一键清空回收站
  17. 网络爬虫的“盗亦有道”
  18. mysql唯一索引什么意思_MySQL唯一索引什么意思
  19. Mysql传智jing_dong数据库
  20. 云队友丨7年估值2000亿,产业互联网的底层逻辑

热门文章

  1. 皮一皮:他为我承受了太多太多...
  2. 这样统计代码执行耗时,才足够优雅!
  3. 4 个使用率非常高的 Linux 监控工具
  4. 好用到爆!多种数据库只需一个工具就能搞定!
  5. 年终凡尔赛,都是别人家的公司...
  6. 每日一皮:中关村地铁站和普通地铁站的区别
  7. Spring Boot 配置文件中的花样,看这一篇足矣!
  8. 你的微服务敢独立交付么?
  9. 对c语言和程序设计基础的体会,C语言程序设计基础与应用
  10. DB2 在线分析处理(OLAP函数的使用)