rabbitmq-consul-apollo部署文档 - nginx四层转发 - 队列-阻塞 - 监控指标

1.Apollo  https://github.com/ctripcorp/apollo/wiki/Apollo-Quick-Start-Docker%E9%83%A8%E7%BD%B2

2.consul https://blog.csdn.net/jiangqingyao/article/details/92856466   consul 原理分析

3.rabbitmq   先用docker命令行跑,密码账户用环境变量输入到kubernetes

https://blog.csdn.net/yaomingyang/article/details/102922480

https://cloud.tencent.com/developer/article/1595712

RabbiMQ模式

RabbitMQ模式大概分为以下三种:

(1)单一模式。

(2)普通模式(默认的集群模式)。

(3) 镜像模式(把需要的队列做成镜像队列,存在于多个节点,属于RabbiMQ的HA方案,在对业务可靠性要求较高的场合中比较适用)。

要实现镜像模式,需要先搭建一个普通集群模式,在这个模式的基础上再配置镜像模式以实现高可用。

1.安装erlang

mkdir -p /data/software
yum install -y wget epel-release
cd /data/software
wget http://download.51yuki.cn/esl-erlang_21.3.6-1_centos_7_amd64.rpm
yum -y install esl-erlang_21.3.6-1_centos_7_amd64.rpm
yum clean all

2.rabbitmq安装

cd /data/software
wget http://download.51yuki.cn/rabbitmq-server-generic-unix-3.7.15.tar.xz
tar xvf rabbitmq-server-generic-unix-3.7.15.tar.xz -C /data/
mv /data/rabbitmq_server-3.7.15 /data/rabbitmq
echo 'export PATH=/data/rabbitmq/sbin:$PATH'>> /etc/profile
source /etc/profile
which rabbitmqctl

3.配置rabbitmq

vi /data/rabbitmq/etc/rabbitmq/rabbitmq-env.conf
RABBITMQ_NODENAME=rabbitmq001@centos7_01
RABBITMQ_NODE_IP_ADDRESS=192.168.31.149
RABBITMQ_NODE_PORT=5672
RABBITMQ_MNESIA_BASE=/data/rabbitmq/data
RABBITMQ_LOG_BASE=/data/rabbitmq/logs
编辑配置文件
mkdir -p /data/rabbitmq/data
mkdir -p /data/rabbitmq/logs
vi /data/rabbitmq/etc/rabbitmq/rabbitmq.config
[
 {rabbit,
   [
     {tcp_listeners, [5672]},
     {dump_log_write_threshold, [1000]},
     {vm_memory_high_watermark, 0.5},
     {disk_free_limit, "200MB"},
     {hipe_compile,true}
   ]
  }
].

注意:[]. 后面有一个点

useradd -u 1020 -s /sbin/nologin rabbitmq
chown -R rabbitmq:rabbitmq -R /data/rabbitmq

4.基于镜像队列的集群
登录到第一台主机,启动rabbitmq服务
注意:必须要切换到普通用户
su -s /bin/bash - rabbitmq
nohup /data/rabbitmq/sbin/rabbitmq-server start &

 

5.拷贝cookie

拷贝第一台服务器rabbitmq的家目录下.erlang.cookie文件到另外2台服务器rabbitmq的家目录下

scp -P 22 /home/rabbitmq/.erlang.cookie root@192.168.31.186:/home/rabbitmq/
scp -P 22 /home/rabbitmq/.erlang.cookie root@192.168.31.238:/home/rabbitmq/


chown -R rabbitmq.rabbitmq /home/rabbitmq/.erlang.cookie
chmod 600 /home/rabbitmq/.erlang.cookie

su -s /bin/bash - rabbitmq
nohup /data/rabbitmq/sbin/rabbitmq-server start &

 

6.3台都安装一下
rabbitmq-plugins enable rabbitmq_management

7.在第一台创建用户及授权

rabbitmqctl add_user mqadmin "Nwvh3#vu@kqLP&FdHt"
rabbitmqctl set_permissions -p / mqadmin . . .
rabbitmqctl set_user_tags mqadmin administrator

8.加入集群

# rabbitmqctl cluster_status
Cluster status of node centos7_01@centos7_01 ...
[{nodes,[{disc,[centos7_01@centos7_01]}]},
 {running_nodes,[centos7_01@centos7_01]},
 {cluster_name,<<"centos7_01@centos7_01">>},
 {partitions,[]},
 {alarms,[{centos7_01@centos7_01,[]}]}]

9.登录rabbitmq002rabbitmq003,加入集群

必须先关闭app
rabbitmqctl stop_app
再加入
rabbitmqctl join_cluster --ram rabbitmq001@centos7_01

最后启动app
rabbitmqctl start_app

复制自:https://cloud.tencent.com/developer/article/1595712

 

 

 

posted @ 2020-02-17 18:10  littlevigra  阅读(719)  评论(1编辑  收藏  举报