CentOS linux 下rabbitmq基於單機的叢集配置
rabbit是基於erlang編寫的,所以需要先安裝erlang環境:
erlang需要相關環境的支援,如ODBC,JDK等,其中有一些是可以直接yum安裝的,這裡介紹一下JDK的安裝
vim /etc/profile 新增JAVA環境變數wget http://download.oracle.com/otn-pub/java/jdk/7u25-b15/jdk-7u25-linux-x64.tar.gz tar zxvf jdk-7u25-linux-x64.tar.gz -C /usr/local/ mv /usr/local/jdk1.7.0_25/ /usr/local/java
JAVA_HOME=/usr/java
JRE_HOME=/usr/java/jre
JAVA_BIN=/usr/java/bin
PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
其它的依賴包直接yum即可
yum install -y git openssl openssl-devel unixODBC unixODBC-devel unixODBC-libs ncurses ncurses-devel
二:下載erlang包:
wget http://www.erlang.org/download/otp_src_R13B04.tar.gz
tar zxf otp_src_R13B04.tar.gz && make && make install 即可
三:phthon , 及phtyon-simplejson 的安裝
yum install python python-simplejson -y
四:下載,安裝rabbitmq :
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.2/rabbitmq-server-3.1.2.tar.gz
make
make install TARGET_DIR=/usr/local/rabbitmq SBIN_DIR=/usr/local/sbin MAN_DIR=/usr/local/man
如果沒有錯誤的話,至此rabbitmq安裝完成,下面介紹rabbitmq叢集的配置:
RABBITMQ_NODE_PORT=9991 RABBITMQ_NODENAME=rab /usr/local/rabbitmq/sbin/rabbitmq-server -detached
RABBITMQ_NODE_PORT=9992 RABBITMQ_NODENAME=rab2 /usr/local/rabbitmq/sbin/rabbitmq-server -detached
我這裡啟用了rab 和 rab2兩個例項,埠號分別為9991和9992
1. 首先停止rab2
rabbitmqctl -n rab2 stop_app
2. 將rab2加入rab的叢集中
rabbitmqctl -n rab2 join_cluster rab@rab
3. 啟動rab2
RABBITMQ_NODE_PORT=9992 RABBITMQ_NODENAME=rab2 rabbitmq-server -detached
4. 檢視叢集狀態
rabbitmqctl cluster_status -n rab
顯示如下資訊,表示叢集配置正確
Cluster status of node rab@rab ...
[{nodes,[{disc,[rab2@rab,rab@rab]}]},
{running_nodes,[rab@rab]},
{partitions,[]}]
...done.
######### 配置過程中可能碰到的問題 ##################
啟動 rabbitmq 服務時報錯:“{{case_clause,{error,{timeout_waiting_for_tables,[rabbit_user,rabbit_user_permission,rabbit_vhost,rabbit_config”
在保證配置沒問題的前提下,刪除
/var/lib/rabbitmq/mnesia/ rab 的相關配置即可