高可用集群
1: 创建集群
2: 创建策略
1:下载源码
2:依赖库
yum -y install libX* java* tk unixODBC unixODBC-devel
yum -y install ncurses-develyum -y install libffi-develyum -y install glib*yum -y install wxGTKyum -y install xmlto下载glib-2.30.0安装./configure --prefix=/usrmake make install===========================
wxWidgets==========================yum -y install gtk2-develyum -y install gtk2-engines-develyum -y install gtk+extra-develyum install *gtk*./configuremake && make install#install pango
==========================================
erlang==========================================wget http://www.erlang.org/download/otp_src_R15B01.tar.gz./configuremake && make install由于最终部署的生产环境是Centos,所以我需要在Centos中安装Erlang B13R04 ,第一次做这件事情破费周折,主要是对Erlang依赖的库不熟悉,总是编译不过;这里梳理一下安装过程中的细节:
Erlang依赖哪些库?
- A fully working GCC compiler environment
- Ncurses development libraries
- OpenSSL development libraries (如果使用mysql必须安装)
安装了这些库之后,必须要重新执行configure命令,configure之后会有提示哪些依赖的库没有安装,可以根据你的需要放弃安装一些库;上面的操作可以使用下面的命令实现:
注意,如果你遇到下面的错误:
那么极有可能是两个原因:
- 没有安装OpenSSL
- 你安装了多版本的Erlang,R14A和R13B04冲突造成的,删除erlang相关的文件夹,重新安装即可
Crypto的类库可能多次折磨到你,如果在windows环境中遇到下面的错误:
那基本上就是因为没有安装OpenSSL的原因,去下载一个Win32OpenSSL安装一下就可以解决,安装过程中按照默认一路next即可。
还需要提醒的是:在centos环境中,建议规划好服务器不要在root目录安装,否则你在make的时候就会遇到错误。
最新版本的是:
udo yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-develwget tar xfvz otp_src_R14B03.tar.gzcd otp_src_R14B03/./configure --with-sslsudo 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
配置
主要参考官方文档:
一般情况下,RabbitMQ的默认配置就足够了。如果希望特殊设置的话,有两个途径:
一个是环境变量的配置文件 rabbitmq-env.conf ;一个是配置信息的配置文件 rabbitmq.config;注意,这两个文件默认是没有的,如果需要必须自己创建。rabbitmq-env.conf这个文件的位置是确定和不能改变的,位于:/etc/rabbitmq目录下(这个目录需要自己创建)。文件的内容包括了RabbitMQ的一些环境变量,常用的有:#RABBITMQ_NODE_PORT= //端口号#HOSTNAME=RABBITMQ_NODENAME=mqRABBITMQ_CONFIG_FILE= //配置文件的路径RABBITMQ_MNESIA_BASE=/rabbitmq/data //需要使用的MNESIA数据库的路径RABBITMQ_LOG_BASE=/rabbitmq/log //log的路径RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins //插件的路径具体的列表见:
rabbitmq.config
这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。文件的内容详见:
监控
主要参考官方文档:
RabbitMQ提供了一个web的监控页面系统,这个系统是以Plugin的方式进行调用的。
首先,在rabbitmq-env.conf中配置好plugins目录的位置:RABBITMQ_CONFIG_FILE
将监控页面所需要的plugin下载到plugins目录下,这些plugin包括:
mochiweb webmachine rabbitmq_mochiweb amqp_client rabbitmq_management_agent rabbitmq_management下载路径位于:重新启动RabbitMQ,输入http://server-name:55672/mgmt/ 就能够进入到监控页面。默认的用户名和密码是: guest 和 guest。
出于安全考虑,3.0以上guest账户已经不能登录了。具体参见