• rabbitmq配置镜像模式


    学习是spring cloud的时候用到了rabbitmq,在实际项目中也用到了,镜像模式是集群的基础上面配置的,就多了一个数据同步,rabbitmq存储消息用的是cookie,配置之前先同步cookie。

    1、安装模式
    镜像模式描述:镜像模式是多个rabbitmq实现主从备份,多个rabbitmq之间是数据同步的,使用的时候一直在访问一个主的raabitmq,从的实现备份。如果主的宕机可以自动切换到从的mq,不影响整合系统的使用。
    2、部署步骤:
    2.1、安装rabbitmq
    首先去官网下载安装rabbitmq,官网安装guide地址http://www.rabbitmq.com/install-rpm.html,rabbitmq是基于erlang语言的,我们实现需要安装erlang,官网地址:https://github.com/rabbitmq/erlang-rpm。
    新建完了以后, yum installl erlang –y安装erlang,安装完了可以运行erl –version查看安装的erlang版本,查看是否安装正确。

    然后继续安装rabbitmq,使用rpm安装,实现随便进入某个目录,下载rpm文件 。
    安装relang:
    vim /etc/yum.repos.d/rabbitmq-erlang.repo
    插入:
    [rabbitmq-erlang]
    name=rabbitmq-erlang
    baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/6
    gpgcheck=1
    gpgkey=https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
    repo_gpgcheck=0
    enabled=1
    # yum -y install erlang
    然后安装rabbitmq:
    # wget https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.14-1.el6.noarch.rpm
    然后安装rabbitmq
    # rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
    # yum install rabbitmq-server-3.6.14-1.el6.noarch.rpm -y(这里的名称换成上面下载的rpm名称)

    如果报socat dependencies错误
    # wget --no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo -O /etc/yum.repos.d/convirt.repo
    # yum makecache
    # yum -y install socat

    rabbitmq安装完运行rabbitmq-server –-version查看版本。Rabbitmq是基于主机名读取配置文件的,确保主机名在hosts文件中有说明例如我们主机名sjcj-v2-1,/etc/hosts文件中应该有 127.0.0.1 sjcj-v2-1。
    启动rabbitmq
    # service rabbitmq-server start
    配置rabbitmq自启动
    # chkconfig rabbitmq-server on
    Rabbitmq有web端的监控界面,启用web插件
    #rabbitmq-plugins enable rabbitmq_management #启用
    关闭web插件
    # rabbitmq-plugins disable rabbitmq_management
    可以用默认账号guest,guest登陆http://localhost:15672,如果要远程登录,需要先创建帐户,rabbitmq本身出于安装考虑不允许远程使用guest账号,只能本地访问,但是我们是云服务器。新建管理员账号,例如:
    # rabbitmqctl add_user waterlufei 123
    # rabbitmqctl set_user_tags waterlufei administrator
    # rabbitmqctl list_users (查看所有用户)

    Web端访问远程IP,输入用户名waterlufei,密码123,进入web端管理界面

    另一台服务器同样安装erlang和rabbitmq,启动rabbitmq监控界面。
    2.2、配置镜像模式
    现在两台服务器都安装完了但是之间没有相互联系,镜像模式是在主从模式的基础上面继续配置的,先配置主从模式,现在有两台IP,host文件都配置
    192.168.243.145 sjcj-v2-1
    192.168.243.148 waterlufei
    同步cookie数据
    rabbitmq的数据是用cookie存储的。
    关闭148服务器的rabbitmq,直接kill掉rabbitmq的进程

    登录145服务器
    #cd /var/lib/rabbitmq –进入erlang.cookie所在目录,只有ls –al能看见此文件
    #chmod 777 .erlang* –该文件默认为400权限,为方便传输,先修改权限,非必须操作
    #scp .erlang.cookie rabbitmq@192.168.108.148:/var/lib/rabbitmq –将此文件传给另外两条主机
    #chmod 400 .er* –恢复文件权限
    在148上执行
    #chown rabbitmq:rabbitmq .er* –修改文件所属用户和所属组
    #chmod 400 .er* –修改文件权限
    #service rabbitmq-server start

    查询145的节点名称
    # rabbitmqctl cluster_status

    148 加入 145节点.
    # rabbitmqctl stop_app –关掉rabbitmq2服务
    # rabbitmqctl join_cluster rabbit@sjcj-v2-1
    # rabbitmqctl start_app –启动rabbitmq2服务
    查看集群状态rabbitmqctl cluster_status

    在两个web端监控界面都可以看到

    在一个rabbitmq的监控界面新建一个队列,可以发现另一个mq也有的相同的队列,数据和配置都会同步。

  • 相关阅读:
    mac,使用jadx,apktool,反编译apk,打包apk,签名,阅读smali文件
    对安卓逆向的认识
    js逆向答疑
    js-15:js逆向总结
    对js逆向的认识
    开发工具使用技巧-pycharm-mac
    ES6的新特性
    js-BOM操作
    js-DOM操作
    js-ECMAScript-6:自定义对象
  • 原文地址:https://www.cnblogs.com/waterlufei/p/8136145.html
Copyright © 2020-2023  润新知