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

 

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