Linux安装RabbitMq和Erlang-搭建集群

Rabbitmq rpm包 下载地址:https://github.com/rabbitmq/rabbitmq-server/releases
Erlang rpm包 下载地址:https://github.com/rabbitmq/erlang-rpm/releases
Rabbitmq Erlang版本要求:https://www.rabbitmq.com/which-erlang.html

Linux中安装RabbitMq

下载好的 rpm包,放入 /usr/local/software/下:

rpm常用命令

  • -i 安装软件包(–install)

  • –nodeps 不验证软件包的依赖

  • –force 强制安装,即使覆盖其他包的文件也要安装

  • -v 可视化,提供更多的详细信息的输出

  • -h 显示安装进度

  • -a 查询所有已经安装的软件包

  • -f 查询文件所属于的软件包

  • -q 查询软件包(通常用来看下还未安装的软件包,注意,查询时不需要带包名后缀)

  • -l 显示软件包的文件列表

  • -e 卸载指定软件包(注意,卸载时需要指定具体包名后缀)

  • -U 升级软件包,很少用

常用组合:

  • -ivh 安装指定rmp包并显示安装进度

  • -qa 查询所有已经安装的软件包

  • -qi 查询软件包安装信息

  • -ql 显示软件包的文件列表

  • -qf 查询文件所属的文件包

安装文件

  1. 安装erlang:rpm -ivh erlang-23.0-1.el7.x86_64.rpm

  2. 安装rabbitmq所依赖的插件:yum install socat -y

  3. 安装rabbitmq:rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm

el*:表示发行商的版本,el6表示这个软件包是在rhel6.x/centos6.x下使用;rpm包有个特点,centOS7的rpm包一般只能装到CentOS7的系统里,CentOS6的软件包只能装到CentOS6的系统里
noarch:说明这样的软件包可以在任何平台安装和运行,不需要特定的硬件平台

常用命令

  • 添加开机启动服务:chkconfig rabbitmq-server on

  • 启动服务:/sbin/service rabbitmq-server start

  • 查看服务状态:/sbin/service rabbitmq-server status

  • 停止服务:/sbin/service rabbitmq-server stop

  • 开启 web 管理插件:rabbitmq-plugins enable rabbitmq_management , 然后再浏览器中输入当前IP + 15672端口号即可访问,默认账号:guest,密码:guest。登录会发现出现以下问题:出现下面问题按照添加用户命令执行即可,然后使用添加的用户登录。

  • 开启应用:rabbitmqctl stop_start

  • 关闭应用:rabbitmqctl stop_app

添加用户命令

  • 创建账号:rabbitmqctl add_user 账号 密码

  • 设置用户角色:rabbitmqctl set_user_tags 账号 administrator

  • 设置用户权限:rabbitmqctl set_permissions -p "/" 账号 ".*" ".*" ".*"

  • 获取用户和角色:rabbitmqctl list_users

 

RabbitMq搭建集群

克隆出来两台一样的虚拟机,如下图所示

修改三台服务器的主机名称

  1. vi /etc/hostname

  2. 分别修改为:node1、node2、node3

配置各个节点的 hosts 文件,让各个节点都能互相识别对方

  1. vi /etc/hosts

  2. 分别在三个服务器的host文件中添加以下配置

第一个服务器IP node1
第二个服务器IP node2
第三个服务器IP node3

node1 节点上执行远程操作命令

scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/.erlang.cookie

启动 RabbitMQ 服务,顺带启动 Erlang 虚拟机和 RbbitMQ 应用服务 在三台节点上分别执行以下命令:

rabbitmq-server -detached

node2node3 节点上执行以下命令:

注意:(rabbitmqctl stop 会将Erlang 虚拟机关闭,rabbitmqctl stop_app 只关闭 RabbitMQ 服务)

1. rabbitmqctl stop_app 
2. rabbitmqctl reset
3. rabbitmqctl join_cluster rabbit@node1
4. rabbitmqctl start_app (只启动应用服务)

查看集群状态

rabbitmqctl cluster_status

需要重新设置用户

  1. 创建账号:rabbitmqctl add_user 账号 密码

  2. 设置用户角色:rabbitmqctl set_user_tags 账号 administrator

  3. 设置用户权限:rabbitmqctl set_permissions -p "/" 账号 ".*" ".*" ".*"

使用上面创建的账号随便访问三台地址都可访问了,如图所示:有三个节点

解除集群节点(node2 和 node3 机器分别执行 – 选择执行)

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
rabbitmqctl cluster_status
rabbitmqctl forget_cluster_node rabbit@node2 (node1 机器上执行)

原文地址:http://www.cnblogs.com/zjh0420/p/16899346.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性