Rabbitmq的安裝及集群環境的搭建

2021-09-21 10:10:51 字數 4340 閱讀 8787

1.erlang 安裝

wget     

tar -zxf otp_src_r14b01.tar.gz    

cd otp_src_r14b01    

./configure    

make    

make install  注意在make install 時使用root許可權   

2. xmlto (

rabbitmq 編譯安裝時需要使用)

wget      

yum install -y docbook-style-xsl  

tar -zxf xmlto-0.0.23.tar.gz  

cd xmlto-0.0.23  

如果 機器上

3.******json安裝(python 2.6以下安裝)

wget 

md5=

58d9b1d8fa17ea4ce205cea088607e02

tar -zxf ******json-2.1.3.tar.gz  

cd ******json-2.1.3  

cp ******json 到 python安裝目錄下 如: /usr/local/lib/python2.5   

cp -r ../******json /usr/lib64/python2.4/  

4. rabbitmq安裝

wget     

tar -zxf rabbitmq-server-2.3.1.tar.gz    

cd rabbitmq-server-2.3.1   

make  

make 

target_dir

=/u/longcheer/rabbitmq 

sbin_dir

=/u/longcheer/rabbitmq/sbin 

man_dir

=/u/longcheer/rabbitmq/man install    注意在make install 時使用root許可權   

5. 配置

rabbitmq

cd rabbitmq/sbin

rabbitmq-server檔案中有三個引數修改為本使用者可見目錄

#eralng控制檔案

config_file= /etc/rabbitmq/rabbitmq

#日誌檔案

log_base= /u/rabbitmq/logs

#資料庫檔案

mnesia_base= /u/rabbitmq/db

groupadd -g 10001 rabbitmq  

useradd -u 10001 -g 10001 rabbitmq  

chown -r long:long rabbitmq  

mkdir -pv /u/rabbitmq/logs  

mkdir -pv /u/rabbitmq/db  

chown rabbitmq:rabbitmq /u/rabbitmq/logs  

chown rabbitmq:rabbitmq /u/rabbitmq/db  

6.啟動

rabbitmq

cd rabbitmq/sbin  

./rabbitmq-server start  

或設定後台執行 

nohup ./rabbitmq-server start > nohup.out&

成功啟動後會有日下提示

:

activating rabbitmq plugins ...  

0 plugins activated:  

+---+   +---+  

|   |   |   |  

|   |   |   |  

|   |   |   |  

|   +---+   +-------+  

|                   |  

| rabbitmq +---+   |  

|           |   |   |  

|   v2.3.1 +---+   |  

|                   |  

+-------------------+  

amqp 0-9-1 / 0-9 / 0-8  

licensed under the mpl. see   

broker running  

rabbitmq集群環境的搭建

乙個rabbitmq集 群中可以共享 user,vhost,queue,exchange等,所有的資料和狀態都是必須在所有節點上覆制的,乙個例外是,那些當前只屬於建立它的節點的訊息佇列,儘管它們可見且可被所有節點讀取。rabbitmq節點可以動態的加入到集群中,乙個節點它可以加入到集群中,也可以從集群環集群會進行乙個基本的負載均衡。

集群中有兩種節點:

1 記憶體節點:只儲存狀態到記憶體(乙個例外的情況是:持久的queue的持久內容將被儲存到disk)

2 磁碟節點:儲存狀態到記憶體和磁碟。

記憶體節點雖然不寫入磁碟,但是它執行比磁碟節點要好。集群中,只需要乙個磁碟節點來儲存狀態 就足夠了

如果集群中只有記憶體節點,那麼不能停止它們,否則所有的狀態,訊息等都會丟失。

rabbitmq的集群是依賴於

erlang的集群來工作的,所以必須先構建起erlang的集群環境。erlang的集群中各節點是通過乙個magic cookie來實現的,這個cookie存放在$home/.erlang.cookie 中,檔案是400的許可權。所以必須保證各節點cookie保持一致,否則節點之間就無法通訊。

-r-------- 1 long long

21 aug 1 08:08 .erlang.cookie

1 將其中一台節點上的

.erlang.cookie值複製下來儲存到其他節點上。或者使用scp的方法也可,但是要注意檔案的許可權和屬主屬組。

$ cat .erlang.cookie  

iyznfnjiuwabjueliufe  

將值儲存到其他節點上

: 先更改檔案許可權,給予其可寫許可權:

$chmod 700 .erlang.cookie  

$ echo -n " iyznfnjiuwabjueliufe" 

>

$home/.erlang.cookie  

$chmod 400 .erlang.cookie  

ps:此步驟建議在

rabbitmq啟動之前完成。

2 確保節點之間主機名稱可以相互解析。

182.71.**   lct-ind-db1

182.71.**         lct-ind-db2

前期準備工作已經完成,下面就來開始

$cd /u/rabbitmq/sbin  

$./rabbitmq-server –detached //三個節點都啟動  

$./rabbitmqctl status   //檢視狀態  

$./rabbitmqctl reset  在

$/u/rabbitmq/sbin/rabbitmqctl status  

,  ,  

,  ,  

]},  

改變節點型別,以

重啟集群節點:

$./rabbitmqctl stop

//關閉某乙個節點

$./rabbitmqctl status //檢視集群節點狀態

$./rabbitmq-server –detached

ps:在任何時候必須有乙個

disk node在執行。

節點退出集群,以

$./rabbitmqctl reset //如果只剩最後乙個節點,退出集群時使用force_reset

如果在 rabbitmq單機版服務開啟的過程中,改動erlang.cookie,就會在服務重啟後出現各種各樣的問題,所以建議在rabbitmq的服務開啟之前要把erlang.cookie配置好。如果出現問題,解決方法就是將服務停掉後執行以下命令:

rm –f /var/lib/rabbitmq/mnesia/rabbit/*

如果在rabbitmq-server的配置檔案中更改了資料庫存放目錄,則執行以下命令:

rm –f /path/to/rabbitmq/db/rabbit/*

重啟服務即可!

安裝rabbitmq集群

一.安裝 erlang rabbitmq 在10.0.0.45 10.0.0.57 10.0.0.58三個節點上安裝,然後開啟 rabbitmq 監控外掛程式 以下在root使用者操作 1.etc hosts增加 10.0.0.45 node1 10.0.0.57 node2 10.0.0.58 n...

RabbitMQ集群安裝

一 準備兩台虛擬機器 1 設定一台的別名為a,vi etc hostname 2 設定另一台的別名為b vi etc hostname 3 修改每乙個虛擬機器的hosts vi etc hosts 加入 2 安裝erlang,root使用者使用rpm安裝 2 先安裝socat yum install...

rabbitmq 集群的安裝

1 首先在3.5 3.6 3.12三颱機器上面安裝erlang並且配置好環境變數。make target dir soft rabbitmq sbin dir soft rabbitmq sbin man dir soft rabbitmq man install 如果在安裝rabbitmq的時候,...