RabbitMQ三种Exchange模式(fanout,direct,topic)的性能比较
RabbitMq的整理 exchange、route、queue关系
一. 安装依赖文件
yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto
cd /usr/local/src/
mkdir rabbitmq
cd rabbitmq
二. 安装Erlang
1.编译安装
下载安装包,地址http://www.erlang.org/downloads,我选择的是otp_src_18.3.tar.gz。
wget http://www.erlang.org/downloads/otp_src_18.3.tar.gz
tar -xzvf otp_src_18.3.tar.gz
cd otp_src_18.3/
配置安装路径编译代码:
./configure --prefix=/opt/erlang
编译,并安装
make && make install
完成后进入/opt/erlang查看执行结果
cd /opt/erlang/
erl
Erlang/OTP 18 [erts-7.3] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.3 (abort with ^G)
1>
当出现以上信息时表示安装完成。然后输入halt().
退出即可。
然后在配置Erlang环境变量
vi /etc/profile
在末尾增加下面的环境变量:
export PATH=$PATH:/opt/erlang/bin
使文件生效
source /etc/profile
可能出现的错误
- 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
- 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
- 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
- jinterface : Java compiler disabled by user
orber : No C++ compiler found
解决方案:
yum install gcc-c++
./configure --prefix=/home/erlang --without-javac
make
make install
2. yum安装
建议使用,但版本只有R14B,上下文中的rabbitmq需要R16B及以上
yum install erlang
注意:
如果安装完后一直启动不成功,报错:erl:command not found
一般是erlang环境变量,没有生效,终极办法是打开运行的文件,找到erl命令的位置,在其上面配置PATH:
export PATH=$PATH:/.../erlang/bin
重启服务,一般不会报错了
三. 安装rabbitMQ
1. 下载rabbitmq
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el6.noarch.rpm
或 yum -y install rabbitmq-server-3.6.6-1.el6.noarch.rpm
2. 安装:
rpm -ivh rabbitmq-server-3.6.6-1.el7.noarch.rpm
安装会报错,缺少依赖关系
解决方法
不安装依赖关系
rpm -i --nodeps rabbitmq-server-3.6.6-1.el6.noarch.rpm
可能出现的错误
- warning: rabbitmq-server-3.6.6-1.el6.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID 6026dfca: NOKEY
error: Failed dependencies:
erlang >= R16B-03 is needed by rabbitmq-server-3.6.6-1.el6.noarch
socat is needed by rabbitmq-server-3.6.6-1.el6.noarch
解决方法:
yum -y install socat
此时会报错没有socat包或是找不到socat包,解决方法安装centos的epel的扩展源
yum -y install epel-release
之后执行
yum -y install socat
接着安装
rpm -i --nodeps rabbitmq-server-3.6.6-1.el6.noarch.rpm
生成配置文件
cp /usr/share/doc/rabbitmq-server-3.6.6/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
四. RabbitMQ 服务的启动:
1. 启动服务、关闭服务和重启服务:
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart
如防火墙是启用状态,记得开放端口:15672和5672
2. 开机自启动:
chkconfig rabbitmq-server on
五. 配置配置文件:
cd /etc/rabbitmq
cp /usr/share/doc/rabbitmq-server-3.4.1/rabbitmq.config.example /etc/rabbitmq/
mv rabbitmq.config.example rabbitmq.config
1. 开启用户远程访问:
vi /etc/rabbitmq/rabbitmq.config
注意要去掉后面的逗号。
六. 开启web界面管理工具
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl add_user admin 12345
rabbitmqctl set_user_tags admin administrator
service rabbitmq-server restart
七. 添加用户并授权
新建用户:rabbitmqctl add_user {username} {newpassword}
删除用户: rabbitmqctl delete_user {username}
改密码: rabbimqctl change_password {username} {newpassword}
设置用户角色:rabbitmqctl set_user_tags {username} {tag ...}
Tag可以为 administrator,monitoring, management
八、卸载rabbitmq
1. 卸载rabbitmq
命令:rpm -qa|grep rabbitmq
结果:rabbitmq-server-3.6.1-1.noarch
命令:rpm -e --nodeps rabbitmq-server-3.6.1-1.noarch
2. 卸载erlang
命令:rpm -qa|grep erlang
结果:esl-erlang-18.3-1.x86_64
命令:rpm -e --nodeps esl-erlang-18.3-1.x86_64
或:yum remove erlang
网友评论