RabbitMQ 集群安装过程详解

一.安装Erlang

1.rabbitMQ是基于erlang的,所以首先必须配置erlang环境。

从erlang官网下载 otp 18.3。下载链接:http://erlang.org/download/otp_src_18.3.tar.gz

linux 可以使用wget http://erlang.org/download/otp_src_18.3.tar.gz 下载

2.解压并配置,编译,安装过程

# tar zvxf otp_src_18..tar.gz
# mv otp_src_18./ otp
# cd otp
# ./configure --prefix=/home/erlang --without-javac

报错:
configure: error: No curses library functions found
configure: error: /bin/sh '/root/otp/erts/configure' failed for erts

# yum -y install ncurses-devel
# ./configure --prefix=/home/erlang --without-javac

报错
*********************************************************************
**********************  APPLICATIONS DISABLED  **********************
*********************************************************************
crypto         : No usable OpenSSL found
jinterface     : Java compiler disabled by user
odbc           : ODBC library - link check failed
orber          : No C++ compiler found
ssh            : No usable OpenSSL found
ssl            : No usable OpenSSL found
*********************************************************************

# yum list | grep ssl
# yum install openssl-devel
# ./configure --prefix=/home/erlang --without-javac

  报错
*********************************************************************
**********************  APPLICATIONS DISABLED  **********************
*********************************************************************
jinterface     : Java compiler disabled by user
odbc           : ODBC library - link check failed
orber          : No C++ compiler found
*********************************************************************

# yum list | grep ODBC
# yum install unixODBC-devel
# ./configure --prefix=/home/erlang --without-javac

报错
*********************************************************************
**********************  APPLICATIONS DISABLED  **********************
*********************************************************************
jinterface     : Java compiler disabled by user
orber          : No C++ compiler found
*********************************************************************

# yum install gcc-c++
# ./configure --prefix=/home/erlang --without-javac
# make
# make install

安装完成!

测试Erlang是否安装正确

# /home/erlang/bin/erl
Erlang/OTP [erts-6.0] [source] [-bit] [async-threads:] [hipe] [kernel-poll:false] Eshell V6.  (abort with ^G)
> EvenN = lists:filter (fun (N) -> N rem == end, lists:seq(,)).
[,,,,,,,,,,,,,,,,,,,,,
 ,,,,,,,|...]
> halt().

有几种退出Erlang Shell的方法

命令方式1:执行init:stop().   
命令方式2:执行halt(). 
快捷键方式1:Control+C 然后选a
快捷键方式2:Control+G 然后按q

3.在PATH环境变量添加erlang的bin路径,以便执行。

vi /etc/profile

ERL_HOME=/home/erlang

export PATH=$PATH:/home/erlang/bin

最后 source /etc/profile

【安装总结】

从源码编译安装Erlang,有两个库或工具是必须的:

一是完整的GCC编译器环境
二是Ncurses开发库

还有一些库或工具,如果没有它们,在编译配置时会出现警告信息,而且可能不能通过配置。这些库有:

1)OpenSSL开发库

2)ODBC开发库

3)Java编译器

二.安装RabbitMQ Server

配置yum源头
rpm -Uvh https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

配置epel源的目的是为了安装socat

 如果网络好,rabbitmq安装最好使用yum安装
下载rabbitmq
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.4/rabbitmq-server-3.6.4-1.noarch.rpm
yum install rabbitmq-server-3.6.-.noarch.rpm

#使用yum安装即可把依赖包一起安装好

 
如果网络不好,使用rpm安装:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.4/rabbitmq-server-3.6.4-1.noarch.rpm
rpm -ivh --nodeps rabbitmq-server-3.6.-.noarch.rpm

--nodeps 设置后,不需要重新按照erlang,否则会现在安装最新的erlang语言依赖。

创建用户、设置角色、权限控制

启动与停止服务:

# /sbin/service rabbitmq-server stop
# /sbin/service rabbitmq-server start
# rabbitmqctl status 测试正确

创建用户并设置角色:

$sudo rabbitmqctl add_user  huacw   

赋予其administrator角色:

$sudo rabbitmqctl set_user_tags huacw administrator

查询用户列表:

$sudo rabbitmqctl list_users 

为用户赋权(huacw用户赋予 根目录权限):

$sudo rabbitmqctl  set_permissions -p /  huacw '.*' '.*' '.*'

该命令使用户huacw具有 / 这个 根目录 中所有资源的 配置、写、读权限以便管理其中的资源

查看用户权限:

$sudo rabbitmqctl list_user_permissions huacw

 三、插件管理

查看插件列表及状态

进入/usr/lib/rabbitmq/bin

./rabbitmq-plugins list 

RabbitMQ 集群安装过程详解

启用插件(web管理插件为例):

./rabbitmq-plugins enable rabbitmq_management

禁用某插件

./rabbitmq-plugins disable rabbitmq_management

三.卸载

查找安装文件

#rpm -qa|grep rabbitmq
rabbitmq-server-3.6.-.noarch

卸载

#rpm -e --nodeps rabbitmq-server-3.6.-.noarch

查找erlang安装文件

#rpm -qa|grep erlang
esl-erlang-18.3-.x86_64

卸载erlang

#rpm -e --nodeps esl-erlang-18.3-.x86_64
上一篇:ubuntu下mediawiki的使用


下一篇:linux 网络Socket实战