一、安裝Erlang
1捐友、RabbitMQ3.7.8?對(duì)Erlang/OTP的版本要求
RabbitMQ3.7.8?要求Erlang/OTP版本:19.3.6.4? ~?21.0.x
這個(gè)鏈接(http://www.rabbitmq.com/which-erlang.html)有詳細(xì)說(shuō)明.
2灯帮、Erlang安裝說(shuō)明
Erlang安裝說(shuō)明:https://github.com/erlang/otp/blob/maint/HOWTO/INSTALL.md
Erlang是一種通用的面向并發(fā)的編程語(yǔ)言
2.1肪虎、yum安裝構(gòu)建Erlang/OTP所需要的工具
yum install?make gcc glibc-devel? m4?ncurses-devel?autoconf openssl-devel?
yum install unixODBC unixODBC-devel
下面這些是要解包和構(gòu)建Erlang/OTP所需要的工具做瞪,是必須的契讲。
下面這些不是erlang必須的依賴項(xiàng)畸裳,如果下面依賴項(xiàng)不存在缰犁,在構(gòu)建的時(shí)候就會(huì)自動(dòng)跳過(guò)。
2.2怖糊、安裝erlang
下載http://erlang.org/download/otp_src_20.0.tar.gz
tar -xvf otp_src_20.0.tar.gz
cd otp_src_20.0
./configure --prefix=/usr/local/erlang --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll --without-javac
make && make install
ln -s /usr/local/erlang/bin/erl /usr/local/bin/
輸入 erl驗(yàn)證是否安裝成功帅容。
二、安裝rabbitmq
1伍伤、rabbitmq安裝步驟
下載https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.8/rabbitmq-server-generic-unix-3.7.8.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.7.8.tar -C /opt/
cd /opt
mv rabbitmq_server-3.7.8 rabbitmq_server
cd rabbitmq_server/
sbin/rabbitmq-plugins enable rabbitmq_management
后臺(tái)啟動(dòng)rabbitmq-server命令./rabbitmq-server -detached
關(guān)閉rabbitmq-server命令:./rabbitmqctl stop
最后一定要把rabbitmq-server關(guān)閉并徘,等全部配置調(diào)整完畢在啟動(dòng)。
2扰魂、調(diào)整rabbitmq配置信息
在/opt/rabbitmq_server/etc/rabbitmq下面創(chuàng)建文件rabbitmq.config和rabbitmq-env.conf麦乞,文件內(nèi)容如下:
[root@node1 rabbitmq]# pwd
/opt/rabbitmq_server/etc/rabbitmq
[root@node1 rabbitmq]# more rabbitmq.config
[
{rabbit,
? [{loopback_users, []}]
}
].
此配置解決guest用戶不能遠(yuǎn)程登錄問(wèn)題。
[root@node1 rabbitmq]# more rabbitmq-env.conf
LOG_BASE=/data/rabbitmq
MNESIA_BASE=/data/rabbitmq/mnesia
3劝评、防火墻設(shè)置
-A INPUT -p tcp -m tcp --dport 5672?-j ACCEPT
-A INPUT -p tcp -m tcp --dport 15672?-j ACCEPT
service iptables restart
service iptables save
4姐直、集群設(shè)置
4.1、在192.168.0.119執(zhí)行:
4.1.1蒋畜、/etc/hosts設(shè)置
vi /etc/hosts
192.168.0.119 rabbitmq1
192.168.0.200? rabbitmq2
4.1.2简肴、rabbitmq-env?設(shè)置
? 在/opt/rabbitmq_server/sbin/rabbitmq-env文件的最前面添加:
NODENAME=rabbit@rabbitmq1
4.1.3、啟動(dòng)rabbitmq-server
后臺(tái)啟動(dòng)rabbitmq-server命令./rabbitmq-server -detached
./rabbitmqctl add_user admin 123456
./rabbitmqctl set_user_tags admin administrator
4.2百侧、在192.168.0.200執(zhí)行:
4.2.1砰识、修改.erlang.cookie
chmod 600?~/.erlang.cookie
修改~/.erlang.cookie的內(nèi)容能扒,和192.168.0.119的~/.erlang.cookie內(nèi)容保持一致。
4.2.2辫狼、/etc/hosts設(shè)置
vi /etc/hosts
192.168.0.119 rabbitmq1
192.168.0.200? rabbitmq2
4.2.3初斑、?rabbitmq-env?設(shè)置
? 在/opt/rabbitmq_server/sbin/rabbitmq-env文件的最前面添加:
NODENAME=rabbit@rabbitmq2
4.2.4、?啟動(dòng)rabbitmq-server
后臺(tái)啟動(dòng)rabbitmq-server命令./rabbitmq-server -detached
./rabbitmqctl add_user admin 123456
./rabbitmqctl set_user_tags admin administrator
4.2.5膨处、將rabbit@rabbitmq2加入集群
停止應(yīng)用:./rabbitmqctl stop_app(rabbitmqctl stop?是停止服務(wù))
清除所有隊(duì)列:./rabbitmqctl reset
將rabbit@rabbitmq2加入集群:./rabbitmqctl join_cluster rabbit@rabbitmq2
重啟應(yīng)用:./rabbitmqctl?start_app
查看集群狀態(tài):./rabbitmqctl cluster_status
5见秤、登錄Rabbitmq
http://192.168.0.119:15672/
用戶名和密碼:guest/guest
用戶名和密碼:admin/123456
http://192.168.0.200:15672/
用戶名和密碼:guest/guest
用戶名和密碼:admin/123456
6、HA 鏡像模式隊(duì)列設(shè)置
HA 鏡像隊(duì)列有一個(gè)很大的缺點(diǎn)就是:? ?系統(tǒng)的吞吐量會(huì)有所下降 真椿。
6.1鹃答、通過(guò)RabbitMQ的web后臺(tái)管理界面設(shè)置HA 鏡像模式隊(duì)列
6.2、通過(guò)HA策略命令設(shè)置HA 鏡像模式隊(duì)列
HA策略設(shè)置命令模版:rabbitmqctl set_policy [-p Vhost] Name Pattern Definition [Priority]