安装rabbitmq

高可用集群

1:http://88250.b3log.org/rabbitmq-clustering-ha  创建集群

2:http://www.bbtang.info/linux/fuwu/610.html      创建策略

 

1:下载源码

https://www.rabbitmq.com/download.html

2:依赖库

yum -y install libX* java* tk unixODBC unixODBC-devel
yum -y install ncurses-devel
yum -y install libffi-devel
yum -y install glib*
yum -y install wxGTK
yum -y install xmlto

下载glib-2.30.0安装
./configure --prefix=/usr
make make install

===========================
wxWidgets
==========================
yum -y install gtk2-devel
yum -y install gtk2-engines-devel
yum -y install gtk+extra-devel
yum install *gtk*
./configure
make && make install
#install pango

 

==========================================
erlang
==========================================
wget http://www.erlang.org/download/otp_src_R15B01.tar.gz

./configure
make && make install

由于最终部署的生产环境是Centos,所以我需要在Centos中安装Erlang B13R04 ,第一次做这件事情破费周折,主要是对Erlang依赖的库不熟悉,总是编译不过;这里梳理一下安装过程中的细节:

    Erlang依赖哪些库?

  •      A fully working GCC compiler environment
  •      Ncurses development libraries
  •      OpenSSL development libraries (如果使用mysql必须安装)

    安装了这些库之后,必须要重新执行configure命令,configure之后会有提示哪些依赖的库没有安装,可以根据你的需要放弃安装一些库;上面的操作可以使用下面的命令实现:

    

> sudo yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
> wget 
http://www.erlang.org/download/otp_src_R13B04.tar.gz
> tar xfvz otp_src_R13B04.tar.gz
> cd otp_src_R13B04/
> ./configure --with-ssl
> sudo make install

   注意,如果你遇到下面的错误

  

{error,
{load_failed,
"Failed to load NIF library: '/usr/local/lib/erlang/lib/crypto-2.0/priv/lib/crypto.so: undefined symbol: enif_make_new_binary'"}}

    那么极有可能是两个原因:

  •       没有安装OpenSSL
  •       你安装了多版本的Erlang,R14A和R13B04冲突造成的,删除erlang相关的文件夹,重新安装即可

 Crypto的类库可能多次折磨到你,如果在windows环境中遇到下面的错误:

application: crypto
exited: {shutdown,{crypto_app,start,[normal,[]]}}

  那基本上就是因为没有安装OpenSSL的原因,去下载一个Win32OpenSSL安装一下就可以解决,安装过程中按照默认一路next即可。 

  还需要提醒的是:在centos环境中,建议规划好服务器不要在root目录安装,否则你在make的时候就会遇到错误。

 

最新版本的是:

udo yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

wget http://www.erlang.org/download/otp_src_R14B03.tar.gz

tar xfvz otp_src_R14B03.tar.gz

cd otp_src_R14B03/

./configure --with-ssl

sudo make install

 

 

3:安装

make
make TARGET_DIR=/usr/local/rabbitmq SBIN_DIR=/usr/local/rabbitmq/sbin MAN_DIR=/usr/local/rabbitmq/man DOC_INSTALL_DIR=/usr/local/rabbitmq/doc install

【需要修改MakeFile文件增加TARGET_DIR SBIN_DIR MAN_DIR

开启监控

rabbitmq-plugins enable rabbitmq_management

运行

找到sbin/目录,运行程序:
/usr/local/sbin/rabbitmq-server –detached 

停止程序:
/usr/local/sbin/rabbitmqctl stop 

 

配置

主要参考官方文档:http://www.rabbitmq.com/configure.html

一般情况下,RabbitMQ的默认配置就足够了。如果希望特殊设置的话,有两个途径:
一个是环境变量的配置文件 rabbitmq-env.conf ;
一个是配置信息的配置文件 rabbitmq.config;
注意,这两个文件默认是没有的,如果需要必须自己创建。

rabbitmq-env.conf
这个文件的位置是确定和不能改变的,位于:/etc/rabbitmq目录下(这个目录需要自己创建)。
文件的内容包括了RabbitMQ的一些环境变量,常用的有:
#RABBITMQ_NODE_PORT=    //端口号
#HOSTNAME=
RABBITMQ_NODENAME=mq
RABBITMQ_CONFIG_FILE=        //配置文件的路径
RABBITMQ_MNESIA_BASE=/rabbitmq/data        //需要使用的MNESIA数据库的路径
RABBITMQ_LOG_BASE=/rabbitmq/log        //log的路径
RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins    //插件的路径

具体的列表见:http://www.rabbitmq.com/configure.html#define-environment-variables

rabbitmq.config
这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。

文件的内容详见:http://www.rabbitmq.com/configure.html#config-items

监控

主要参考官方文档:http://www.rabbitmq.com/management.html

RabbitMQ提供了一个web的监控页面系统,这个系统是以Plugin的方式进行调用的。

首先,在rabbitmq-env.conf中配置好plugins目录的位置:RABBITMQ_CONFIG_FILE

将监控页面所需要的plugin下载到plugins目录下,这些plugin包括:
  mochiweb
  webmachine
  rabbitmq_mochiweb
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management
下载路径位于:http://www.rabbitmq.com/plugins.html#rabbitmq_management 

重新启动RabbitMQ,输入http://server-name:55672/mgmt/ 就能够进入到监控页面。默认的用户名和密码是: guest 和 guest。

出于安全考虑,3.0以上guest账户已经不能登录了。具体参见http://www.cnblogs.com/mingaixin/p/4134920.html 

 

 

 

posted @ 2014-03-19 16:52  李占卫  阅读(914)  评论(0编辑  收藏  举报