centos 6.5 rabbitmq 安装和集群,镜像部署

安装erlang:

yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto

wget http://erlang.org/download/otp_src_20.2.tar.gz

tar -zxvf otp_src_20.2.tar.gz
cd otp_src_20.2
./configure --prefix=/data/soft/erlang
make && make install # 添加环境变量:
export PATH=$PATH:/data/soft/erlang/bin

安装rabbitmq:

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz
xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.1.tar mv rabbitmq_server-3.6.1 /data/soft/rabbitmq # 启动:
./rabbitmq-server -detached # 关闭:
./rabbitmqctl stop # 配置网页插件:
mkdir /etc/rabbitmq
./rabbitmq-plugins enable rabbitmq_management 默认账号:guest 密码:guest
*** 默认账号和密码无法登陆,下面的操作是创建一个可以登陆的账号。
# web 网页登陆:
http:IP:15672/ 回车 ## 创建一个账号 admin 密码是admin:
rabbitmqctl add_user admin admin ## 给admin 赋予权限:
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" ## 给admin 赋予新的身份:
rabbitmqctl set_user_tags admin administrator ## 给admin 更改密码:
rabbitmqctl change_password admin xianlife.com ### 配置文件:
git clone https://github.com/rabbitmq/rabbitmq-server.git

镜像集群配置:

RABBITMQ搭建集群
环境:有二台主机,主机名和IP如下,rabbitmq的执行用户为rabbitmq,所属组为rabbitmq。 IP 主机名
10.81.35.124 rabbitmq-m
10.81.35.119 rabbitmq-s 同步erlang.cookie
杀掉rabbitmq-s 的rabbitmq进程: ps –ef|grep rab|awk ‘{print $2}’|xargs kill -9。–用service rabbitmq-servier stop停会有遗留进程。 登陆rabbitmq-m(rabbitmq-m上的rabbitmq服务不能关),执行 cd /root/ –进入erlang.cookie所在目录,只有ls –al能看见此文件 chmod 777 .erlang* –该文件默认为400权限,为方便传输,先修改权限,非必须操作 scp .erlang.cookie rabbitmq@10.81.35.119:/root/ –将此文件传给另外两条主机 chmod 400 .er* –恢复文件权限 分别在rabbitmq-s 上执行 chown rabbitmq:rabbitmq .er* –修改文件所属用户和所属组 chmod 400 .er* –修改文件权限 service rabbitmq-server start # 加入集群 ## 查询rabbitmq-m节点名称 rabbitmqctl cluster_status Cluster status of node rabbit@rabbitmq-m … [{nodes,[{disc,[rabbit@rabbitmq-m]}]},{running_nodes,[rabbit@ rabbitmq-m]}] …done. ### rabbitmq-s 加入rabbitmq-m 节点. #关掉rabbitmq-s服务
rabbitmqctl stop_app #rabbitmq-s加入rabbitmq-m, rabbitmq-s必须能通过rabbitmq-m的主机名ping通rabbitmq-m。
rabbitmqctl join_cluster rabbit@rabbitmq-m #启动rabbitmq2服务
rabbitmqctl start_app 查看集群信息
#此时里面就应该能看见其他的多个节点。集群名字为rabbit@rabbitmq。
rabbitmqctl cluster_status 用相同的方法把rabbitmq3 或者其他rabbitmq 主机也加入rabbitmq-m。

更改节点属性:

# –停止rabbitmq服务
rabbitmqctl stop_app # –更改节点为磁盘或内存节点
rabbitmqctl change_cluster_node_type disc/ram # –开启rabbitmq服务
rabbitmqctl start_app # 查看状态:
1 master 上管理页面看
2 rabbitmqctl cluster_status 命令查看 [root@rabbitmq-m rabbitmq]# rabbitmqctl cluster_status
Cluster status of node 'rabbit@rabbitmq-m' ...
[{nodes,[{disc,['rabbit@rabbitmq-m']},{ram,['rabbit@rabbitmq-s']}]},
{running_nodes,['rabbit@rabbitmq-s','rabbit@rabbitmq-m']},
{cluster_name,<<"rabbit@rabbitmq-m">>},
{partitions,[]},
{alarms,[{'rabbit@rabbitmq-s',[]},{'rabbit@rabbitmq-m',[]}]}]
[root@rabbitmq-m rabbitmq]#

创建测试queue:

rabbitmqctl eval 'rabbit_exchange:declare({resource, <<"/">>, exchange, <<"test-topic">>}, topic, true, false, false, []).'

rabbitmqctl eval 'rabbit_amqqueue:declare({resource, <<"/">>, queue, <<"test-queue">>}, true, false, [], none).'

rabbitmqctl eval 'rabbit_binding:add({binding, {resource, <<"/">>, exchange, <<"test-topic">>}, <<"*.com.cn">>, {resource, <<"/">>, queue, <<"test-queue">>}, []}).'

这三条命令执行后的最终结果是:在 / 虚拟主机下创建了topic类型的,持久化的,名为 test-topic的exchange,创建了持久化的,名为 test-queue 的queue,该队列以 *.com.cn 的routing key绑定到了 test-topic这个exchange上。

1  web页面查看是否创建成功。
2 查看从机器的queue 是否同步信息。

使用发现的问题

1   rabbitmq
1.1 hosts 要写主机名和IP的对应关系进去。
1.2 DNS 解析要能解析到rabbitmq-m 的对应ip,否则从启动会很慢,因为要去连接mq的主机,一直找不到就会等到超时。 2 rabbitmq cluster_status
2.1 mq全都挂了,一定是最后退出的,先启动.
2.2 如果主挂了而从还在运行的状况。
2.2.1 等最后退出的mq起来,其他的启动后自动连接cluster。
2.2.2 加入其它的mq-m。 需要确定master 是哪台,如果最后退出的自动升级成 master。

Centos 6.5 Rabbitmq 安装和集群,镜像部署的更多相关文章

  1. RabbitMQ安装、集群搭建、概念解析

    RabbitMQ安装.集群搭建.概念解析 基本概念 为什么会产生MQ 1.解耦:采用异步方式实现业务需求达到解耦的目的. 2.缓冲流量,削峰填谷: 问:为什么会有流量冲击? 答:采用"直接调 ...

  2. kubernetes学习与实践篇(二) kubernetes1.5 的安装和集群环境部署

    kubernetes 1.5 的安装和集群环境部署 文章转载自:http://www.cnblogs.com/tynia/p/k8s-cluster.html 简介: Docker:是一个开源的应用容 ...

  3. rabbitmq安装、集群搭建

    rabbitmq的安装: CentOS上面部署: 首先修改hosts文件 修改hosts文件vi /etc/hosts1.1.1.1 hostname 2.2.2.2 hostname 3.3.3.3 ...

  4. RabbitMQ安装以及集群部署

    本次记录安装RabbitMQ的过程,只针对MAC下单机版安装.单机集群安装方法以及配置haproxy负载均衡. RabbitMQ单机版本安装 RabbitMQ单机集群安装方法(适合开发练习) Rabb ...

  5. RabbitMQ学习之集群镜像模式配置

    1.增加负载均衡器 关于负载均衡器,商业的比如F5的BIG-IP,Radware的AppDirector,是硬件架构的产品,可以实现很高的处理能力.但这些产品昂贵的价格会让人止步,所以我们还有软件负载 ...

  6. Blazor+Dapr+K8s微服务之基于WSL安装K8s集群并部署微服务

         前面文章已经演示过,将我们的示例微服务程序DaprTest1部署到k8s上并运行.当时用的k8s是Docker for desktop 自带的k8s,只要在Docker for deskto ...

  7. rabbitMQ 安装,集群搭建, 编码

    RabbitMQ 一.背景 命令行工具: http://www.rabbitmq.com/man/rabbitmqctl.1.man.html 介绍入门文章: http://blog.csdn.net ...

  8. Rabbitmq安装、集群与高可用配置

    历史: RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多 ...

  9. kubernetes 1.3 的安装和集群环境部署

    简介: Docker:是一个开源的应用容器引擎,可以为应用创建一个轻量级的.可移植的.自给自足的容器. Kubernetes:由Google开源的Docker容器集群管理系统,为容器化的应用提供资源调 ...

随机推荐

  1. Java集合源码分析(六)——ConcurrentHashMap

    目录 简介 源码分析 父类 接口 字段 内部类 1.链表节点结构 2.树根结构 3.树节点结构 方法 1.构造方法 2.基本并发方法 3.初始化表数组的操作 4.修改添加元素 5.统计元素数量 6.扩 ...

  2. mybaties 使用注解注入动态sql (if-else)-转义字符

    看到网上使用注解动态注入sql都是判断参数是否为空,我做项目的时候需要判断参数是否为字符串,需要对引号进行转义,所以把代码贴过来了. 注意:test表达式不能引用传入的参数,直接使用参数即可----- ...

  3. 最短路径——BFS算法

    最短路径--BFS算法 单源最短路径问题 每对顶点间的最短路径 BFS求无权图的单源最短路径 bool visited[MAX_VERTEX_NUM]; //访问标记数组 //广度优先遍历 void ...

  4. 【ubantu下安装python3.6】

    Ubuntu16.04默认安装了Python2.7和3.5 请注意,系统自带的python千万不能卸载! 输入命令python

  5. 跨站点脚本编制 - SpringBoot配置XSS过滤器(基于mica-xss)

    1. 简介   XSS,即跨站脚本编制,英文为Cross Site Scripting.为了和CSS区分,命名为XSS.   XSS是最普遍的Web应用安全漏洞.这类漏洞能够使得攻击者嵌入恶意脚本代码 ...

  6. 移动端 CSS3动画属性

    一.transform 转换属性 #1. translate位移 transform : translate(50px,100px); //把元素水平移动 50 像素,垂直移动 100 像素 tran ...

  7. 使用BulkLoad恢复hbase数据

    问题: hbase 集群启动不了,maste一直在初始化,数据面临丢失风险. 解决: 把hbfs上 /hbase 目录移走 改名为/hbase-bak 删除zk上的数据,重新建立一个新的hbase集群 ...

  8. matplotlib的学习10-Contours 等高线图

    import matplotlib.pyplot as plt import numpy as np ''' 画等高线 数据集即三维点 (x,y) 和对应的高度值,共有256个点. 高度值使用一个 h ...

  9. 微信小程序手机号解密失败-43001

    今天是2020年1月16号,从昨天下午开始,一直遇到一个问题: 客户在注册会员的时候的第二步,验证手机号的时候,一直提示验证失败,-43001 直接说原因:用户的session_key过期 期间大部分 ...

  10. linux重启后nginx服务无法启动

    查看ngin.conf pid的内容 例如: pid /usr/local/nginx/logs/nginx.pid 根据以上配置内容来做,检查/usr/local/nginx/logs/是否存在,如 ...