rabbitmq集群配置

2021-07-25 01:19:54 字數 2544 閱讀 9559

rabbitmq是乙個輕量級的訊息服務系統,切記它只是乙個類似信件郵遞員的功能,而不是快遞,不用把它當成redis在用。

一、rabbitmq軟體安裝

1.erlang安裝

安裝erlang,載入官方提供的yum源,然後直接安裝。最新版本的rabbitmq直接依賴erlang,安裝esl-erlang無法進行下一步安裝。

#rpm -uvh

#yum install erlang -y

安裝epel,rabbitmq的一些依賴會自動安裝。

#rpm -ivh

#yum install socat

###另:使用原始碼安裝erlang

#tar xf otp_src_19.1.tar.gz

#cd otp_src_19.1

#yum -y install make ncurses-devel gcc gcc-c++ unixodbc unixodbc-devel openssl openssl-devel

#./configure --prefix=/usr/local/erlang \

--enable-smp-support --enable-threads \

--enable-sctp --enable-kernel-poll \

--enable-hipe --with-ssl

#make && make install

2.rabbitmq-server安裝

#wget

#rpm -ivh --nodeps rabbitmq-server-3.6.5-1.noarch.rpm

3.啟用web管理和日誌外掛程式

#rabbitmq-plugins enable rabbitmq_management #web 管理外掛程式

#rabbitmq-plugins enable rabbitmq_tracing #佇列消費日誌

二、配置rabbitmq

1.rabbitmq-env.conf

#vi rabbitmq-env.conf

rabbitmq_config_file=/etc/rabbitmq/rabbitmq.config

rabbitmq_mnesia_base=/home/rabbitmq

rabbitmq_log_base=/var/log/rabbitmq

2.rabbitmq.config

#cp /usr/share/doc/rabbitmq-server-3.6.5/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config

3.啟動

#rabbitmq-server start &

或 rabbitmq-server -detached

#rabbitmqctl stop

三、集群

####以disc結點為中心,組成集群。官方建議乙個集群最好擁有兩個dis節點,但這會嚴重影響效能。在對資料一致性要求沒有那麼高的場景下,考慮配置乙個disk節點即可。

1.建立erlang集群

rabbitmq的集群是在erlang集群上實現的,rabbitmq並不管理集群,由erlang語言負責。

#ssh-keygen

#ssh-copy-id $node1 #...nodes

#rabbitmq-server start

#scp /var/lib/rabbitmq/.erlang.cookie rabbitmq@ip:`pwd`

修改cookie檔案許可權

#chmod 400 .erlang.cookie

#chown rabbitmq.rabbitmq .erlang.cookie

2.建立rabbitmq集群

rmq2上

#rabbitmq-server -detached

#rabbitmqctl join_cluster --ram rabbit@rmq1 #做為rab節點加入集群

rmq3上同樣執行上述步驟

3.配置管理員使用者

#rabbitmqctl add_user gtadmin 123456 #新增使用者並配置密碼

#rabbitmqctl set_user_tags gtadmin administrator #給使用者打標籤

#rabbitmqctl set_permissions -p "/" gtadmin ".*" ".*" ".*" #分配許可權

rabbitmq的web管理功能比較強,擁有管理員許可權後,大部分的操作都可通過web管理來實現。

3.映象策略

在集群的基礎上啟用,可以保證訊息在每個節點上都存在,但會消費一定的效能。

設定映象佇列策略,在cluster中任意節點啟用策略,策略會自動同步到集群節點,這行命令在vhost名稱為hrsystem建立了乙個策略,策略名稱為ha-all,策略模式為 all 即複製到所有節點,包含新增節點。策略正規表示式為 "^" 表示所有匹配所有佇列名稱。

#rabbitmqctl set_policy -p / ha-all "^" ''

#rabbitmqctl set_policy ha-all "^" ''

RabbitMQ集群配置

前面配置了rabbitmq在本地的部署,現在來嘗試集群配置 集群的配置比較簡單,但是有乙個要求就是必須在同一網段內 假設有兩台機器,rabbit0和rabbit1做集群 首先將2臺機器的.erlang.cookie統一,任選一台為標準就可以 sudo vim var lib rabbitmq erl...

rabbitmq 集群配置

參考 環境 centos7 這裡使用兩台,生產環境建議使用三颱 ip主機名 安裝軟降 192.168.137.126 node01 erlang rabbitmq,jdk 192.168.137.125 node02 erlang rabbitmq,jdk 修改主機名並寫入hosts檔案 vim e...

RabbitMQ 集群配置參考

rabbitmq version rabbitmq 3.7.11 erlang version erlang otp 21 system windows 10 homebasic a ip 192.168.6.49 node rabbit laptop 7bvtruru b ip 192.168.6...