HAProxy+rabitmq高可用集群部署

===========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

登录http://192.168.23.131:15672

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章