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