rabbitmq集羣+haproxy 相關 安裝與配置和注意事項

========================================================================================html

安裝 erlang , rabbitmq, haproxy

========================================================================================
erlang 安裝node

wget http://www.rabbitmq.com/releases/erlang/erlang-17.4-1.el6.x86_64.rpm
yum install erlang-17.4-1.el6.x86_64.rpmweb

最後輸入 erl ,進入erlang shell界面就表示安裝成功:redis


rabbitmq 安裝
配置rabbitmq 集羣 版本必須一致
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.4/rabbitmq-server-3.5.4-1.noarch.rpm
yum install rabbitmq-server-3.5.4-1.noarch.rpm
最後輸入rabbitmqctl 查看是否安裝成功shell


haproxy 安裝
yum install haproxyvim

=======================================================================================cookie

配置

======================================================================================
haproxy 配置
編輯/etc/haproxy/haproxy.cfg併發

模板haproxy.cfg

global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
maxconn 409600  #併發數
user haproxy
group haproxy
daemon

defaults
log global
#使用tcp監聽模式
mode tcp
option tcplog
option dontlognull
retries 3
option redispatch
maxconn 2000
timeout connect 10000
timeout client 50000
timeout server 50000

listen admin_stat
#haproxy的web管理端口 8888,自行設置
bind 0.0.0.0:8888
mode http
stats refresh 30s
#haproxy web管理url,自行設置
stats uri /haproxy_stats
stats realm Haproxy\ Statistics
#haproxy web管理用戶名密碼,自行設置
stats auth admin:admin
stats hide-version

listen rabbitmq
bind 0.0.0.0:5670
##listen rabbitmq 10.10.1.53:5670
#監聽5670端口,並轉發給兩個個節點的5672端口,採用輪詢策略
mode tcp
balance roundrobin
server rabbitmq-1 10.10.1.1:5672 check inter 2000 rise 2 fall 3
server rabbitmq-2 10.10.1.2:5672 check inter 2000 rise 2 fall 3

rabbitmq 配置tcp

配置cookie, 每一個節點的內容必須一致//#cookie 一致rabbitmq才能相連

vim /var/lib/rabbitmq/.erlang.cookieide

Rabbitmq的配置文件有三個,位於/etc/rabbitmq/
[1]enabled_plugins:插件配置, 通常狀況下能夠用默認,不須要修改
[2]rabbitmq.conf: 設置運行參數,端口,
加入節點名
可經過rabbitmqctl cluster_status 查看節點名稱
{cluster_nodes, {['rabbit@host1','rabbit@host2'], disc}}

[3]rabbitmq-env.conf:rabbitmq的環境參數配置,默認沒有,能夠本身建立, 通常狀況下能夠用默認,不須要修改

具體配置參看
http://www.rabbitmq.com/configure.html

=================================================================================================

啓動

service rabbitmq-server start

添加rabbitmq管理頁面

rabbitmq-plugins enable rabbitmq_management

添加的新用戶,只有添加的用戶才能遠程訪問管理頁面

rabbitmqctl add_user name pwd //添加新用戶
rabbitmqctl set_user_tags name administrator //設置權限
rabbitmqctl set_permissions -p / name "." "." ".*"

可經過rabbitmqctl cluster_status 查看節點相連狀況


haproxy啓動

/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg

端口設置
haproxy 的端口是對外的,要放開
4369 erlang端口,內網放開
rabbitmq 的端口 5672 (默認) 內網放開
rabbitmq 的管理員端口 15672 (默認) 管理員放開

注意事項,haproxy 有客戶端超時設置,因此寫 rabbit應用的時候必須有心跳包,否則確定會斷掉。
rabbitmq和erlang儘可能安裝rpm 不要本身編譯安裝。否則用戶權限問題會把你搞死的。必定要用統一的版本

相關文章:http://www.tuicool.com/articles/bQ3iu2r

相關文章
相關標籤/搜索