本文只为没有接触过的同僚讲述RPM方式安装,因为我也是刚接触,大神请绕道
rabbitmq依赖于erlang,所以需要先安装erlang(是一种面向并发的编程语言) 和其他依赖包socat,如果是源码安装则还需要其他依赖包,具体包名根据报错提示进行安装,如ncurses-devel。
- Yum安装socat #yum -y install socat
- 下载erlang软件包,本文使用erlang-19.0.4版本,下面给出下载链接
wget www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm
安装erlang # rpm -ivh el7.centos.x86_64.rpm,安装完成后执行erl命令,出现下图则代表成功
输入halt().便可以退出。
最后安装rabbitmq #rpm -ivh rabbitmq-server-3.6.10-1.el7.noarch.rpm 下载地址如下wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm安装完成后启动rabbitmq #systemctl start rabbitmq-server ,如果是重装请记得删除/var/lib/rabbitmq目录和/etc/rabbitmq目录,否则可能服务会起不来。服务启动后就可以使用工具进行配置了,本文所使用的版本默认启用了监控,并且默认是以15672端口提供服务,可以使用浏览器打开127.0.0.1:15672便可以登陆管理界面。rabbitmq-plugins enable rabbitmq_management当有多台rabbitmq需要同步工作时则需要配置搭建集群
- rabbitmqctl stop_app 先停掉当前节点的APP
- rabbitmqctl join_cluster [email protected] 填写其他节点的用户@主机名,则可以将其节点加入群集,[email protected]为默认的用户和主机名,记得在hosts添加主机名和IP的对应,否则会找不到节点,并且将其他节点加入群集后也可在其他节点查看到群集节点信息,无需再次运行join_cluster。
- rabbitmqctl start_app 启动当前节点的APP
- rabbitmqctl cluster_status 查看节点
8.vhost和用户配置,vhost可以理解为虚拟主机的概念,类似权限控制组,一个Virtual Host里可以有多个Exchange和Queue,不明白的自行百度
#rabbitmqctl add_user csj csj1234 创建一个名为csj的用户,密码为csj1234
#rabbitmqctl add_vhost /pyhtest 创建一个名为pyhtest的vhost
#rabbitmqctl set_permissions -p /pyhtest csj “.*” “.*” “.*” 让csj用户完全控制pyhtest,注意大小写。
#rabbitmqctl list_users 查看所有用户
#rabbitmqctl set_user_tags csj administrator 将该用户提升为管理员,用户角色有多种:
1. administrator 管理员角色,类似Windows下的administrator,权限最高。
2. monitoring 监控者,可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)。
3. policymaker 策略定制者,可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息。
4. none 不能访问management plugin
9. 登陆管理页面进行测试,下图为登陆窗口,输入用户民密码登陆。
10.新建测试队列,按箭头所指。
11. 发送队列消息,按箭头所指
12. 查看node信息
13. 验证节点可用性,登陆其他主机的15672端口,用户为第一台rabbitmq上创建的用户,在其他节点如果依然可以登录那么基本上不会出什么问题,同样可以看到节点信息和消息。如下图
至此,rabbitmq群集搭建完成。