===========rabitmq搭建镜像集群============
1、安装erlang
#添加依赖
yum install -y epel-release
#添加存储库条目
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
#安装erlang
yum install -y erlang
erl -version
安装成功
2、遇到的问题
2-1、refresh-packagekit 问题
解决方法:https://www.cnblogs.com/wherein/p/6502392.html
2-2、unable to establish SSL connection
原因:wget版本过老,
解决 :yum update wget ,
如果不行,用以下命令
yum install -y wget
3、单台机器部署一个rabitmq(centeros6----erlang8.3+rabitmq-erlang19-----rabbitmq-server3.6.6)
cd /usr/local/
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
#强制安装
rpm -Uvh rabbitmq-server-3.6.6-1.el7.noarch.rpm --nodeps --force
4、遇到的问题(主要是版本不一一对应)
本章采取centeros6,对应erlang版本8.3,rabbitmq-server版本采用 3.6.6,基本发生在
rpm -Uvh rabbitmq-server-3.6.6-1.el7.noarch.rpm这个命令
1、rabbitmq-server3.6.6版本有针对erlang做的兼容rabbitmq-erlang版本,需要在rabbitmq-erlang.repo文件配置其erlang19版本和对应的rabbitmq6版本,和对应的key。
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/19/el/6
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
vim /etc/yum.repos.d/rabbitmq-erlang.repo
#rabbitmq-erlang.repo加入以下内容,保存退出
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/19/el/6
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
yum clean all
yum makecache
5、启动添加超级用户
cd /usr/sbin/
#后台启动rabitmq
./rabbitmq-server start -detached
#开启rabbitmq后台管理界面
rabbitmq-plugins enable rabbitmq_management
#添加用户密码
rabbitmqctl add_user lyy lyy
#为用户设置权限
rabbitmqctl set_user_tags lyy administrator
#查看所有的用户
rabbitmqctl list_users
3、rabitmq一般集群部署
3-1、修改节点host名
#在hosts文件的后面添加
#192.168.23.131 node-131
#192.168.23.132 node-132
vi /etc/hosts
#hostname中改为node-131
vi /etc/hostname
#修改network文件为如下,各个节点HOSTNAME改为各自的hostname
#NETWORKING=yes
#HOSTNAME=node-131
vi /etc/sysconfig/network
#重启linux
reboot
3-2、将所有节点的cookie都设置成同一个,并且设置其权限,(没有设置权限,会导致节点无法加入到集群中)
#从节点1拷贝文件过去
scp /var/lib/rabbitmq/.erlang.cookie root@node-132:/var/lib/rabbitmq/.erlang.cookie
#设置权限
chmod 400 /var/lib/rabbitmq/.erlang.cookie
3-3、停止运行的rabbitmq,将其中一个节点的rabbitmq加入到集群里
#停止node-132节点
cd /usr/sbin
./rabbitmqctl stop_app
#将node-132加入到node-131集群里边
./rabbitmqctl join_cluster rabbit@node-131
3-4、重启rabitmq
4、问题: ./rabbitmqctl join_cluster rabbit@node-131老是失败
1、检查集群里各个节点的cookie设置为同一个
2、检查集群里各个节点的cookie权限是否为400
3、rabbitmq集群必须在同一网段下
5、rabbitmq一般集群成功
==================================HAProxy部署================================================
HAProxy负责负载均衡,其速度胜过nginx