rabbitMQ安装部署脚本

#!/bin/bash
###将安装包拷贝到/upload目录下
set -x
set -e
##############################
simplejson="simplejson-3.8.0"
erlang="otp_src_R16B03-1"
rabbitmq="rabbitmq-server-3.5.4"
installpath="/upload"
###############################
echo install rabbitMQ

#是否安装rabbitMQ
if [ -d /opt/rabbitmq ]; then
echo 'rabbitMQ' already exists
exit 1
fi

#yum依赖
yum -y install xmlto nc python-devel

#编辑环境及安装
cd $installpath
tar -zxvf $simplejson.tar.gz
cd $installpath/$simplejson
python setup.py install
sleep 1

cd $installpath
tar -zxvf $erlang.tar.gz
cd $installpath/$erlang
./configure
make
make install
sleep 1

cd $installpath
tar -zxvf $rabbitmq.tar.gz
cd $installpath/$rabbitmq
make
make install TARGET_DIR=/opt/rabbitmq SBIN_DIR=/opt/rabbitmq/sbin MAN_DIR=/opt/rabbitmq/man DOC_INSTALL_DIR=/opt/rabbitmq/doc

echo -e "\033[32;40m Install: OK! \033[0m"

集群配置:

rabbitqm启动集群说明
注:拷贝.erlang.cookie文件,通过这个程序来执行集群,拷贝到集群内其它机器,使用什么用户启动就在用户下面可以找到这个文件

1.设置host
vim /etc/hosts
172.20.66.249 rabbit1
172.20.66.250 rabbit2
172.20.66.251 rabbit3

2.启动后台服务
/opt/rabbitmq/sbin/rabbitmq-server --detached &

3.查看状态
rabbitmqctl cluster_status

4.定义一个机器做为集群主,其它机器指向主服务,--ram 是以内存方法来进行存诸
/opt/rabbitmq/sbin/rabbitmqctl stop_app  
/opt/rabbitmq/sbin/rabbitmqctl reset  
/opt/rabbitmq/sbin/rabbitmqctl join_cluster --ram rabbit@b2b-v5-05
/opt/rabbitmq/sbin/rabbitmqctl start_app

5.不添加--ram是以磁盘方法进行存储
/opt/rabbitmq/sbin/rabbitmqctl stop_app  
/opt/rabbitmq/sbin/rabbitmqctl reset
/opt/rabbitmq/sbin/rabbitmqctl start_app


6.查看集群状态
/opt/rabbitmq/sbin/rabbitmqctl cluster_status


7.实现镜像同步
/opt/rabbitmq/sbin/rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'


8.测试是集群是不是同步
将所有队列设置为镜像队列,即队列会被复制到各个节点,各个节点状态保持一致。
至此,rabbitMQ配置完成,可以在任意一个节点执行命令查看两个节点是否保持一致:

/opt/rabbitmq/sbin/rabbitmqctl add_vhost testCluster
Creating vhost "testCluster" ...

/opt/rabbitmq/sbin/rabbitmqctl list_vhosts

查看那些slave已经同步了
rabbitmqctl list_queues name slave_pids synchronised_slave_pids
手动同步(默认手动同步): 
rabbitmqctl sync_queue name 
取消自动同步: 
rabbitmqctl cancel_sync_queue name 



####################################################下面不是必须项

9.启动rabbitmq管理页
mkdir /etc/rabbitmq

chmod 777 /etc/rabbitmq/

/opt/rabbitmq/sbin/rabbitmq-plugins enable rabbitmq_management
/opt/rabbitmq/sbin/rabbitmq-plugins disable rabbitmq_management


10.账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用
新建帐号给administrator

/opt/rabbitmq/sbin/rabbitmqctl add_user admin rabbitmqA05!

/opt/rabbitmq/sbin/rabbitmqctl set_user_tags admin administrator

/opt/rabbitmq/sbin/rabbitmqctl add_vhost local

/opt/rabbitmq/sbin/rabbitmqctl set_permissions -p "local" admin ".*" ".*" ".*"

/opt/rabbitmq/sbin/rabbitmqctl list_users




RabbitMQ 管理指南(添加虚拟host)
http://www.blogjava.net/xiaomage234/archive/2012/11/28/392141.html


vim /etc/rabbitmq/rabbitmq.conf
RABBITMQ_NODE_IP_ADDRESS=0.0.0.0
RABBITMQ_NODE_PORT=2222



常用命令
查看队列
/opt/rabbitmq/sbin/rabbitmqctl list_queues
查看mq参数
rabbitmqctl status
更改内存使用比例:不要超过50%
rabbitmqctl set_vm_memory_high_watermark 0.25
五、用户管理
     默认的guest帐户相当于root帐户
     rabbitmqctl add_user username password 添加帐户
     rabbitmqctl change_password username newpassword 修改密码
     rabbitmqctl delete_user username 删除帐户
     rabbitmqctl list_users 列出所有帐户
     rabbitmqctl  set_user_tags  User  Tag 设置角色(administrator、monitoring、     policymaker、management、其它)
     立即生效,不需重启




1.    配置文件

Rabbitmq的配置文件有三个,位于/etc/rabbitmq/,

这三个文件分别是:

(1)enabled_plugins, 设置允许的插件列表,该配置文档的格式为erlang的列表格式如

[rabbitmq_management,rabbitmq_visualiser].

(2)rabbitmq.conf,设置rabbitmq的运行参数。该配置文件中的每个参数为一个erlang的 tuple,结构为{Key,Value}, Key为atom类型, Value为一个term。其中几个关键参数为:

tcp_listerners :设置rabbimq的监听端口,默认为[5672]。

disk_free_limit :磁盘低水位线,若磁盘容量低于指定值则停止接收数据,默认值为

{mem_relative, 1.0},即与内存相关联1:1,也可定制为多少byte.


vm_memory_high_watermark:设置内存低水位线,若低于该水位线,则开启流控机制,默认值是0.4,即内存总量的40%。


hipe_compile :将部分rabbimq代码用HighPerformance Erlang compiler编译,可提升性能,该参数是实验性,若出现erlang vm segfaults,应关掉。

force_fine_statistics, 该参数属于rabbimq_management,若为true则进行精细化的统计,但会影响性能。


(3)rabbitmq-env.conf  rabbitmq的环境参数配置

RABBITMQ_NODE_PORT  端口设置,默认为5672

RABBITMQ_NODENAME   节点名称,默认为rabbit

MNESIA_BASE 后端存储目录,默认为/var/lib/rabbitmq/mnesia

LOG_BASE 日志目录,默认为/var/log/rabbitmq/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值