各大游戏网站,大连建设银行官网招聘网站,手表到哪个网站买,网站的重要性RabbitMQ的安装
1、Windows环境下的RabbitMQ安装步骤
使用的版本#xff1a;otp_win64_23.2 rabbitmq-server-3.8.16
版本说明#xff1a;https://www.rabbitmq.com/which-erlang.html#compatibility-matrix
1.1 下载并安装erlang
RabbitMQ 服务端代码是使用并发式语言…RabbitMQ的安装
1、Windows环境下的RabbitMQ安装步骤
使用的版本otp_win64_23.2 rabbitmq-server-3.8.16
版本说明https://www.rabbitmq.com/which-erlang.html#compatibility-matrix
1.1 下载并安装erlang
RabbitMQ 服务端代码是使用并发式语言 Erlang 编写的安装 RabbitMQ 的前提是安装 Erlang。
下载地址
http://www.erlang.org/downloads https://www.erlang.org/patches/otp-23.2 根据操作系统选择 erlang 下载版本。
下载完的软件包 双击软件点击下一步进行安装和平时使用的软件的安装方式是一样的。
安装完之后配置环境变量此电脑–鼠标右键属性–高级系统设置–环境变量–新建系统环境变量。
变量名ERLANG_HOME
变量值就是刚才 erlang 的安装地址点击确定。 然后编辑系统变量 path将 %ERLANG_HOME%\bin 加入到 path 中。 最后 windows 键 R 键输入 cmd再输入 erl看到版本号就说明 erlang 安装成功了。
1.2 下载并安装RabbitMQ
下载地址http://www.rabbitmq.com/download.html 这里下载 v3.8.16 版本
https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.16
https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.16/rabbitmq-server-3.8.16.exe 双击下载后的 .exe 文件安装过程与 erlang 的安装过程相同。
RabbitMQ 安装目录中是不允许有空格的。
RabbitMQ 安装好后接下来安装 RabbitMQ-Plugins打开命令行 cd输入 RabbitMQ 的 sbin 目录。
我的目录是C:\zsxsoftware\rabbitmq\rabbitmq_server-3.8.16\sbin
然后在后面输入 rabbitmq-plugins enable rabbitmq_management 命令进行安装 输入 rabbitmqctl status如果出现以下的图说明安装是成功的并且说明现在 RabbitMQ Server 已经启动
了运行正常。 打开 sbin 目录双击 rabbitmq-server.bat
等几秒钟看到这个界面后访问 http://localhost:15672
然后可以看到如下界面 默认用户名和密码都是 guest登陆即可 1.3 安装遇到的问题
rabbitmq-plugins enable rabbitmq_management 命令执行错误
rabbitmq-service stop
rabbitmq-service remove
rabbitmq-service install
rabbitmq-plugins enable rabbitmq_managementrabbitmqctl status 命令执行错误
Error: unable to perform an operation on node rabbitDESKTOP-8VB0JLG. Please see diagnostics information and suggestions below.1、将C:\Users\{用户名}\.erlang.cookie 复制到 C:\Windows\System32\config\systemprofile 目录。
2、重启 rabbitMQ 服务。
1.4 配置允许远程访问
更多情况下队列服务往往不在我们本机上我们需要远程来控制 RabbitMQ但是默认是无法通过
http://hostname:15672 来访问的 添加一个新的用户 点击 zsx242030 用户 点击 set permission 赋予权限。 使用 rabbitmqctl list_users 查看用户信息 然后使用新建的用户尝试登录 1.5 RabbitMQ常用的命令
# 停止服务
rabbitmq-service stop
# 安装服务
rabbitmq-service install
# 开启服务
rabbitmq-service start# 查看用户信息
rabbitmqctl list_users# guest密码忘记,更改密码
rabbitmqctl change_password guest guest
# 设置用户为超级管理员
rabbitmqctl set_user_tags guest administrator
# 赋予权限
rabbitmqctl set_permissions -p / guest .* .* .*2、Linux环境下的RabbitMQ安装步骤
使用的版本otp_src_22.3.tar.gz rabbitmq-server-generic-unix-3.7.15.tar.xz
2.1 安装erlang
由于 rabbitmq 是基于 erlang 语言开发的所以必须先安装 erlang。
安装依赖
$ yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel去 erlang 官网下载安装包上传到 linux 服务器。
https://www.erlang.org/downloads
或者使用 wget 命令下载
$ wget http://erlang.org/download/otp_src_22.3.tar.gz解压
$ tar -zxvf otp_src_22.3.tar.gz移走
$ mv otp_src_22.3 /usr/local/切换目录
$ cd /usr/local/otp_src_22.3/创建即将安装的目录
$ mkdir ../erlang配置安装路径
$ ./configure --prefix/usr/local/erlang如果遇到这个错你就假装没看到
安装
$ make install查看一下是否安装成功
$ ll /usr/local/erlang/bin添加环境变量
$ echo export PATH$PATH:/usr/local/erlang/bin /etc/profile刷新环境变量
$ source /etc/profile甩一条命令
$ erl在里面输入 halt(). 命令退出来(那个点号别忘记) 2.2 安装RabbitMQ
使用下面命令下载 rabbitmq 或者是下载好之后上传到 linux 服务器。
$ wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-generic-unix-3.7.15.tar.xz由于是 tar.xz 格式的所以需要用到 xz没有的话就先安装
$ yum install -y xz第一次解压
$ /bin/xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz第二次解压
$ tar -xvf rabbitmq-server-generic-unix-3.7.15.tar移走
$ mv rabbitmq_server-3.7.15/ /usr/local/改名
$ mv /usr/local/rabbitmq_server-3.7.15 /usr/local/rabbitmq配置环境变量
$ echo export PATH$PATH:/usr/local/rabbitmq/sbin /etc/profile刷新环境变量
$ source /etc/profile2.3 启动
启动
$ rabbitmq-server -detached编辑 /etc/hosts 文件在文件的末尾加一条 127.0.0.1 zsx 即可。
重新启动 状态
$ rabbitmqctl status停止
$ rabbitmqctl stop2.4 WEB管理
开启web插件
$ rabbitmq-plugins enable rabbitmq_management开放 15672 端口
# 查看开放的端口号
firewall-cmd --list-all
# 设置开放的端口号
firewall-cmd --add-port15672/tcp --permanent
# 重启防火墙
firewall-cmd --reload访问http://192.168.94.186:15672/ 默认账号密码(这个账号只允许本机访问)guest/guest
2.5 用户管理
查看所有用户
$ rabbitmqctl list_users添加一个用户
$ rabbitmqctl add_user zsx242030 zsx242030配置权限
$ rabbitmqctl set_permissions -p / zsx242030 .* .* .*查看用户权限
$ rabbitmqctl list_user_permissions zsx242030设置 tag
$ rabbitmqctl set_user_tags zsx242030 administrator删除用户(安全起见删除默认用户)
$ rabbitmqctl delete_user guest2.6 登陆
配置好用户之后然后就可以用新账号进行登陆 3、Docker安装RabbitMQ
3.1 搜索镜像
$ docker search rabbitmq3.2 拉取镜像
$ docker pull rabbitmq:3.7.153.3 启动运行
$ docker run -d -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_VHOSTmy_vhost -e RABBITMQ_DEFAULT_USERadmin -e RABBITMQ_DEFAULT_PASSadmin --hostname myRabbit --name rabbitmq --restartalways rabbitmq:3.7.15参数说明
-d表示在后台运行容器
-p将容器的端口 5672(应用访问端口)和15672(控制台Web端口号)映射到主机中
-e指定环境变量 RABBITMQ_DEFAULT_VHOST默认虚拟机名 RABBITMQ_DEFAULT_USER默认的用户名 RABBITMQ_DEFAULT_PASS默认的用户密码
--hostname指定主机名(RabbitMQ 的一个重要注意事项是它根据所谓的节点名称存储数据默认为主机名)
--name设置容器名称
rabbitmq:3.7.15容器使用的镜像名称 3.4 查看启动情况
$ docker logs -f rabbitmq$ docker ps -l3.5 启动 rabbitmq_management
$ docker exec -it rabbitmq /bin/bash
$ rabbitmq-plugins enable rabbitmq_management或者是通过下面命令
$ docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management3.6 访问 RabbitMQ后台管理
浏览器输入地址http://192.168.94.186:15672/ 即可访问后台管理页面这里的 ip 为运行 RabbitMQ 所
在的服务器的 IP 地址。
默认的用户名和密码都是 guest (如果没有在容器创建的时候指定用户名密码)。
但由于我们启动的时候设置了默认的用户名和密码所以我们可以使用设置的用户名和密码登录。 4、镜像集群搭建
4.1 搭建环境
IP主机192.168.54.200master192.168.54.201slave1192.168.54.202slave2
$ vi /etc/hosts
192.168.54.200 master
192.168.54.201 slave1
192.168.54.202 slave2使用的版本otp_src_22.3.tar.gz rabbitmq-server-generic-unix-3.7.15.tar.xz
4.2 安装erlang(所有机器)
由于 rabbitmq 是基于 erlang 语言开发的所以必须先安装 erlang。
安装依赖
$ yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel去 erlang 官网下载安装包上传到 linux 服务器
http://erlang.org/download/otp_src_22.3.tar.gz解压
$ tar -zxvf otp_src_22.3.tar.gz移走
$ mv otp_src_22.3 /usr/local/切换目录
$ cd /usr/local/otp_src_22.3/创建即将安装的目录
$ mkdir ../erlang配置安装路径
$ ./configure --prefix/usr/local/erlang安装
$ make install查看一下是否安装成功
$ ll /usr/local/erlang/bin添加环境变量
$ echo export PATH$PATH:/usr/local/erlang/bin /etc/profile刷新环境变量
$ source /etc/profile甩一条命令
$ erl在里面输入 halt(). 命令退出来(那个点号别忘记)
4.3 安装RabbitMQ(所有机器)
将下载好之后的软件上传到 linux 服务器
https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-generic-unix-3.7.15.tar.xz由于是 tar.xz 格式的所以需要用到 xz没有的话就先安装
$ yum install -y xz第一次解压
$ /bin/xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz第二次解压
$ tar -xvf rabbitmq-server-generic-unix-3.7.15.tar移走
$ mv rabbitmq_server-3.7.15/ /usr/local/改名
$ mv /usr/local/rabbitmq_server-3.7.15 /usr/local/rabbitmq配置环境变量
$ echo export PATH$PATH:/usr/local/rabbitmq/sbin /etc/profile刷新环境变量
$ source /etc/profile启动
$ rabbitmq-server -detached查看启动状态
$ ps -ef | grep rabbitmq状态
$ rabbitmqctl status停止
$ rabbitmqctl stop4.4 WEB管理(所有机器)
开启 web 插件
$ rabbitmq-plugins enable rabbitmq_management开放 15672 端口
# 查看开放的端口号
firewall-cmd --list-all
# 设置开放的端口号
firewall-cmd --add-port15672/tcp --permanent
# 重启防火墙
firewall-cmd --reload访问http://ip:15672/
默认账号密码(这个账号只允许本机访问)guest/guest
4.5 用户管理(所有机器)
查看所有用户
$ rabbitmqctl list_users添加一个用户
$ rabbitmqctl add_user zsx242030 zsx242030配置权限
$ rabbitmqctl set_permissions -p / zsx242030 .* .* .*查看用户权限
$ rabbitmqctl list_user_permissions zsx242030设置 tag
$ rabbitmqctl set_user_tags zsx242030 administrator删除用户(安全起见删除默认用户)
$ rabbitmqctl delete_user guest4.6 镜像模式集群的搭建
4.6.1 停止RabbitMQ服务(所有机器)
$ rabbitmqctl stop4.6.2 拷贝.erlang.cookie(master机器)
官方在介绍集群的文档中提到过 .erlang.cookie 一般会存在这两个地址
第一个是 ~/.erlang.cookie
第二个地方就是 /var/lib/rabbitmq/.erlang.cookie
本文的地址在 ~/.erlang.cookie
$ scp /root/.erlang.cookie rootslave1:/root/
$ scp /root/.erlang.cookie rootslave2:/root/4.6.3 启动RabbitMQ服务
顺带启动 Erlang 虚拟机和 RabbitMQ 应用服务在 master、slave1、slave2 执行命令
$ rabbitmq-server -detached4.6.4 节点加入
RabbitMQ 集群的搭建需要选择其中任意一个节点为基准将其它节点逐步加入。这里我们以 master 为基准节
点将 slave1 和 slave2 加入集群。在 slave1 和 slave2 上执行以下命令
# 1.停止服务
rabbitmqctl stop_app
# rabbitmqctl stop会将Erlang虚拟机关闭,rabbitmqctl stop_app只关闭RabbitMQ服务# 2.重置状态
rabbitmqctl reset# 3.节点加入,在一个node加入cluster之前,必须先停止该node的rabbitmq应用,即先执行stop_app
# slave1加入master,slave2加入master
rabbitmqctl join_cluster rabbitmaster# 4.启动服务
rabbitmqctl start_app4.6.5 查看集群状态
此时可以在任意节点上使用 rabbitmqctl cluster_status 命令查看集群状态输出如下
[rootmaster ~]# rabbitmqctl cluster_status
Cluster status of node rabbitmaster ...
[{nodes,[{disc,[rabbitmaster,rabbitslave1,rabbitslave2]}]},{running_nodes,[rabbitslave2,rabbitslave1,rabbitmaster]},{cluster_name,rabbitmaster},{partitions,[]},{alarms,[{rabbitslave2,[]},{rabbitslave1,[]},{rabbitmaster,[]}]}][rootslave1 rabbitmq]# rabbitmqctl cluster_status
Cluster status of node rabbitslave1 ...
[{nodes,[{disc,[rabbitmaster,rabbitslave1,rabbitslave2]}]},{running_nodes,[rabbitslave2,rabbitmaster,rabbitslave1]},{cluster_name,rabbitmaster},{partitions,[]},{alarms,[{rabbitslave2,[]},{rabbitmaster,[]},{rabbitslave1,[]}]}][rootslave2 rabbitmq]# rabbitmqctl cluster_status
Cluster status of node rabbitslave2 ...
[{nodes,[{disc,[rabbitmaster,rabbitslave1,rabbitslave2]}]},{running_nodes,[rabbitmaster,rabbitslave1,rabbitslave2]},{cluster_name,rabbitmaster},{partitions,[]},{alarms,[{rabbitmaster,[]},{rabbitslave1,[]},{rabbitslave2,[]}]}]4.6.6 UI 界面查看 4.6.7 配置镜像模式
在任意节点执行即可
rabbitmqctl set_policy ha-all ^ {ha-mode:all}4.6.8 从集群中移除节点
1、在需要移除的节点上执行停止命令
rabbitmqctl stop_app2、在其他节点上执行移除节点命令
rabbitmqctl forget_cluster_node rabbitslave2–offline 参数它允许节点在自身没有启动的情况下将其他节点剔除。
4.6.9 解除集群
重置当前节点
# 1.停止服务
rabbitmqctl stop_app# 2.重置集群状态
rabbitmqctl reset# 3.重启服务
rabbitmqctl start_app重新加入集群
# 1.停止服务
rabbitmqctl stop_app# 2.重置状态
rabbitmqctl reset# 3.节点加入
rabbitmqctl join_cluster rabbitnode1# 4.重启服务
rabbitmqctl start_app4.6.10 变更节点类型
# 1.停止服务
rabbitmqctl stop_app# 2.变更类型,有两种类型ram和disc
# 我们可以将节点的类型从RAM更改为Disk
rabbitmqctl change_cluster_node_type disc# 3.重启服务
rabbitmqctl start_app