`
guochunyang2004
  • 浏览: 80212 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

centos6.5安装rabbitmq 3.6.9

 
阅读更多
1. 安装 erlang
1.1 准备工作,先安装依赖库
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel yum install ncurses-devel

1.2 下载erlang源码
wget wget http://erlang.org/download/otp_src_19.3.tar.gzcp otp_src_19.3.tar.gz /usr/src/otp_src_19.3.tar.gzcd /usr/srctar -xzvf otp_src_19.3.tar.gz mv otp_src_19.3 erlang_193

1.3编译安装
cd erlang_193/ ./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac //不用java编译,故去掉java避免错误 make && make install //编译后安装

1.4 配置环境变量
vi /etc/profile # erlang path begin
ERL_HOME=/usr/local/erlang
export PATH=$PATH:$ERL_HOME/bin
# erlang path end
source /etc/profile #使设置立即生效

2 安装rabbitmq
cd /usr/local
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_9/rabbitmq-server-generic-unix-3.6.9.tar.xz #wget如果失败,手工下载本地再上传
xz -d rabbitmq-server-generic-unix-3.6.9.tar.xz
tar xvf rabbitmq-server-generic-unix-3.6.9.tar
mv rabbitmq_server-3.6.9 rabbitmq

#启动rabbitmq服务
/data/rabbitmq/sbin/rabbitmq-server

#后台启动
/data/rabbitmq/sbin/rabbitmq-server -detached

#关闭rabbitmq服务
/data/rabbitmq/sbin/rabbitmqctl stop
ps -ef | grep rabbit 和 kill -9 xxx

#开启插件管理页面
/data/rabbitmq/sbin/rabbitmq-plugins enable rabbitmq_management

#创建用户并分配角色
/data/rabbitmq/sbin/rabbitmqctl add_user user password
/data/rabbitmq/sbin/rabbitmqctl set_user_tags user administrator
/data/rabbitmq/sbin/rabbitmqctlset_permissions-p/user'.*''.*''.*'

#WEB登录
http://IP:15672 名户名和密码默认guest无法外网登陆

查看插件列表
./rabbitmq-plugins list

2.5 常用命令

------------------------------------------------
3 集群配置
先配置两个节点主机hosts可以互相ping通
vi /etc/hosts
ip1 host1
ip2 host2
先停止node2(设置cookie前必须先停止节点,网上资料都没有说到)
/data/rabbitmq/sbin/rabbitmqctl stop
node1 cookie:
***********
设置 Erlang Cookie与node1保持一致
通过源安装RabbitMQ在 /var/lib/rabbitmq/.erlang.cookie
通过源码安装RabbitMQ在 $HOME/.erlang.cookie
修改 node2 该文件权限为 777
chmod 777 /root/.erlang.cookie
从node1复制cookie到node2
scp -r ip1:/root/.erlang.cookie /root/
查看cookie
cat /root/.erlang.cookie
恢复只读权限
chmod 400 /root/.erlang.cookie
重新启动node2
/data/rabbitmq/sbin/rabbitmq-server -detached
查看node1名称
/data/rabbitmq/sbin/rabbitmqctl cluster_status
node2停止应用(不停止节点)
/data/rabbitmq/sbin/rabbitmqctl stop_app
node2加入集群
/data/rabbitmq/sbin/rabbitmqctl join_cluster rabbit@host1
启动node2
/data/rabbitmq/sbin/rabbitmqctl start_app
更改节点为磁盘或内存节点(可选)
rabbitmqctl change_cluster_node_type disc/ram
配置镜像队列
/data/rabbitmq/sbin/rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}' # automatic 自动同步manual 手动同步
同步命令
手动同步 rabbitmqctl sync_queue name 取消同步rabbitmqctl cancel_sync_queue name
4 RABBITMQ退出集群
假设要把rabbitmq2退出集群
在rabbitmq2上执行
#rabbitmqctl stop_app
#rabbitmqctl reset
#rabbitmqctl start_app
在集群主节点上执行
# rabbitmqctl forget_cluster_node rabbit@host2
5 RABBITMQ集群重启
集群重启时,最后一个挂掉的节点应该第一个重启,如果因特殊原因(比如同时断电),而不知道哪个节点最后一个挂掉。可用以下方法重启:
先在一个节点上执行
#rabbitmqctl force_boot
#service rabbitmq-server start
在其他节点上执行
#service rabbitmq-server start
查看cluster状态是否正常(要在所有节点上查询)。
#rabbitmqctl cluster_status
如果有节点没加入集群,可以先退出集群,然后再重新加入集群。
上述方法不适合内存节点重启,内存节点重启的时候是会去磁盘节点同步数据,如果磁盘节点没起来,内存节点一直失败。
6 注意事项
  • cookie在所有节点上必须完全一样,同步时一定要注意。
  • erlang是通过主机名来连接服务,必须保证各个主机名之间可以ping通。可以通过编辑/etc/hosts来手工添加主机名和IP对应关系。如果主机名ping不通,rabbitmq服务启动会失败。
  • 如果queue是非持久化queue,则如果创建queue的那个节点失败,发送方和接收方可以创建同样的queue继续运作。但如果是持久化queue,则只能等创建queue的那个节点恢复后才能继续服务。
  • 在集群元数据有变动的时候需要有disk node在线,但是在节点加入或退出的时候所有的disk node必须全部在线。如果没有正确退出disk node,集群会认为这个节点当掉了,在这个节点恢复之前不要加入其它节点。.
  • centos
  RabbitMQ的配置文件为:/etc/rabbitmq/rabbitmq.config
  RabbitMQ的环境配置文件为:/etc/rabbitmq/rabbitmq-env.conf

分享到:
评论

相关推荐

    centos6.5安装rabbitmq详细教程

    在本教程中,我们将深入探讨如何在CentOS 6.5操作系统上安装并配置RabbitMQ,这是一个广泛使用的开源消息代理和队列管理器,基于AMQP(Advanced Message Queuing Protocol)协议。RabbitMQ提供了高可用性、可扩展性...

    Centos6.5 镜像文件下载

    ### Centos6.5镜像文件下载与安装详解 #### 一、CentOS 6.5简介 CentOS是Community ENTerprise Operating System的缩写,是一个基于Linux内核的操作系统,它主要提供了企业级的计算环境。CentOS 6.5作为CentOS 6...

    CentOS6.5一键安装Mysql5.6

    本文将详细介绍如何在CentOS 6.5上进行MySQL 5.6的一键安装过程,包括必要的环境准备、安装步骤、配置优化以及安全设置。 一、环境准备 在开始安装之前,确保你的CentOS 6.5系统已经更新到最新,运行以下命令进行...

    Centos6.5安装教程for oracle

    ### CentOS 6.5 for Oracle 的安装与配置详解 #### 一、概述 本文将详细介绍如何在服务器上安装并配置CentOS 6.5系统,特别是针对Oracle数据库环境的优化和配置方法。CentOS 6.5是一款稳定且广泛使用的Linux发行版...

    centos6.5安装教程,绝对详细,内附centos镜像等资源

    CentOS 6.5 安装教程详解 CentOS 6.5 是一个稳定、功能强大且广泛应用的 Linux 发行版,本文将详细介绍 CentOS 6.5 的安装步骤,包括虚拟机的安装、CentOS 镜像文件的下载和使用、连接工具的配置等内容。 一、...

    centos6.5安装oracle12c(图形化安装)

    CentOS 6.5 安装 Oracle 12c 图形化安装教程 本教程将指导您如何在 CentOS 6.5 操作系统上安装 Oracle 12c 数据库管理系统,旨在帮助读者熟悉 Oracle 数据库安装和配置过程。 一、 安装图形化基础包 在安装 ...

    ansible centos6.5安装及配置详细教程

    ansible centos6.5安装及配置详细教程,亲测可运行。

    CentOs 6.5 telnet 客户端 linux 64(离线安装)

    centos 6.5 telnet 客户端 安装文件 rpm包 centos 6.5 telnet 服务端 安装文件 rpm包 http://vault.centos.org/6.5/os/x86_64/Packages/ 从官网下载亲测可以用

    Lancger#opslinux#Centos6.5安装node_exporter1

    一、安装 二、启动脚本 三、设置开机启动

    CentOS6.5离线安装openssh8.6p1软件包-步骤及依赖.rar

    本文将详细讲解如何在CentOS 6.5系统上离线安装openssh 8.6p1软件包,这通常适用于没有互联网连接或者网络环境受限的服务器。在CentOS 6.5上进行这样的升级对于提高SSH的安全性至关重要,因为老版本的SSH可能存在...

    VMware安装CentOS6.5教程1.pdf

    在本教程中,我们将深入探讨如何使用VMware安装CentOS6.5,这是一个适用于初学者的详细步骤指南。首先,了解Linux操作系统的基本概念是至关重要的。Linux是一个开源操作系统,其核心是Linux内核,而CentOS是基于...

    centos6.5安装手册

    ### CentOS 6.5 安装手册 #### 一、安装前准备 在开始安装 CentOS 6.5 之前,我们需要准备以下几点: 1. **下载 CentOS 6.5 镜像**:确保下载了正确的 CentOS 版本,本案例中使用的是 `CentOS-6.5-x86_64-bin-DVD...

    centOS6.5安装Oracle记录

    【安装Oracle 11g R2 on CentOS 6.5】 在64位的系统上安装Oracle数据库,尤其是Oracle 11g R2,是一项复杂而细致的工作。这里我们将详细探讨如何在64位的CentOS 6.5上进行安装。 首先,选择64位的系统是因为32位...

    CentOs6.5镜像源

    CentOs6.5镜像源

    CentOS 6.5 安装说明.docx

    ### CentOS 6.5 安装说明 #### 创建虚拟机 在进行CentOS 6.5的安装之前,首先需要创建一个虚拟机环境。这里假设使用的是常见的虚拟化软件如VMware Workstation或者VirtualBox。 - **配置硬件资源**:在创建虚拟机...

    CentOS 6.5 最新可用的 Yum 源

    CentOS 6.5 的 软件源很多官方已经停止维护,该文件包内配置好的yum源是可以正常使用的。将原/etc/yum.repos.d/目录下原来的 .repo 备份, 然后把本文件包内的repo文件复制过去, yum clean all 后,再 yum ...

    CentOS7安装RabbitMQ所需安装包

    在RabbitMQ安装后,通过配置`/etc/hosts.deny`和`/etc/hosts.allow`,可以限制哪些客户端可以连接到RabbitMQ服务器,增加了系统的安全性。 5. **安装或更新依赖.txt**:这应该是一个文本文件,包含了安装这些软件包...

    CentOS 7 下安装RabbitMQ教程配套的离线文件

    在本教程中,我们将深入探讨如何在 CentOS 7 操作系统上安装 RabbitMQ,这是一个流行的开源消息代理,基于AMQP(Advanced Message Queuing Protocol)协议。RabbitMQ 使用 Erlang 语言开发,它提供了一个可靠的平台...

Global site tag (gtag.js) - Google Analytics