rabbitmq-安装部署及基础操作
rabbitmq
yum 安装 rabbitmq # centos7
# In /etc/yum.repos.d/rabbitmq.repo
##
## Zero dependency Erlang
##
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
##
## RabbitMQ server
##
[rabbitmq_server]
name=rabbitmq_server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_server-source]
name=rabbitmq_server-source
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
yum update -y
yum install socat logrotate -y
yum install erlang rabbitmq-server -y
编译安装rabbitmq
https://github.com/rabbitmq/rabbitmq-server/tags #历史版本
在安装RabbitMQ中需要注意:
1、RabbitMQ依赖于Erlang,需要先安装Erlang
2、Erlang和RabbitMQ版本有对应关系
https://www.rabbitmq.com/which-erlang.html
安装Erlang
1.先安装一些需要的依赖:
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget
2.下载对应版本的Erlang
wget http://erlang.org/download/otp_src_24.0.tar.gz
3.解压编译安装配置环境变量
tar -zxvf otp_src_24.0.tar.gz
cd otp_src_24.0/
./configure --prefix=/usr/local/erlang
make && make install
vim /etc/profile
export PATH=$PATH:/usr/local/erlang/bin #注意路径的改变
source /etc/profile
下载rabbitmq二进制包
https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.16
解压
tar -xvf rabbitmq-server-generic-unix-3.8.16.tar.xz
.配置环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/rabbitmq_server-3.8.16/sbin #注意路径的改变
source /etc/profile
启动RabbitMQ
进入/usr/local/rabbitmq_server-3.8.16/sbin目录 #注意路径
cd /usr/local/rabbitmq_server-3.8.16/sbin
./rabbitmq-server start
启动成功了如下:
或者 后台启动rabbitmq服务
./rabbitmq-server -detached
添加其他用户
因为guest用户只能在本机访问,添加一个admin用户,密码也是admin
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
启用管理插件
./rabbitmq-plugins enable rabbitmq_management
访问:http://虚拟机IP:15672 (记得配置防火墙开通端口 或者 关掉防火墙)
用户权限操作
创建用户
rabbitmqctl add_user {用户名} {密码}
// 设置权限
rabbitmqctl set_user_tags {用户名} {权限}
例:创建一个超级用户
rabbitmqctl add_user admin1 admin1
rabbitmqctl set_user_tags admin1 administrator
查看用户列表
rabbitmqctl list_users
为用户赋权
// 使用户user1具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
rabbitmqctl set_permissions -p vhost1 user1 '.*' '.*' '.*'
// 查看权限
rabbitmqctl list_user_permissions user1
rabbitmqctl list_permissions -p vhost1
// 清除权限
rabbitmqctl clear_permissions [-p VHostPath] User
删除用户
rabbitmqctl delete_user Username
修改用户的密码
rabbitmqctl change_password Username Newpassword
修改内存,硬盘限制
rabbitmqctl set_vm_memory_high_watermark 0.6 命令临时修改,重启失效
rabbitmqctl set_disk_free_limit 5GB
写在配置文件里边,/etc/rabbitmq/rabbitmq.conf 文件默认不存在,需要手动创建 ps:二进制安装在目录里边的 /etc/ 下
vm_memory_high_watermark.relative = 0.6
vm_memory_high_watermark.absolute = 2GB
rabbitmq集群
集群角色:
内存节点:只将数据保存到内存
磁盘节点:保存数据到内存和磁盘
内存节点虽然不写入磁盘,但是它执行比磁盘节点要好,集群中,只需要一个磁盘节点来保存数据就足够了,如果集群中只有内存结点,那么不能全部停止他们,否则所有数据消息在服务器全部停机之后都会丢失
推荐设计架构:
在一个rabbitmq集群里,有三台或以上机器,其中1台使用磁盘模式,其他节点使用内存模式,内存节点访问速度更快,由于磁盘IO相对较慢,因此可作为数据备份使用
配置主机名解析
安装rabbitmq-server
关闭rabbitmq-server
在其中一台服务器同步 拷贝 .erlang.cookie 至其他两台服务器 要记得授权,查看权限 yum 安装的一般在 /var/lib/rabbitmq/.erlang.cookie 源码安装的 一般在 $HOME/.erlang.cookie
启动rabbitmq-server
~# rabbitmqctl stop_app #停止app服务
~# rabbitmqctl reset #清空元数据
~# rabbitmqctl join_cluster rabbit@mq-server3 --ram #以内存角色加入集群,不写默认是磁盘,可能会有报错正常 ps:要注意版本
~# rabbitmqctl start_app #启动app服务
~# rabbitmqctl set_policy ha-all "#" '{"ha-mode":"all"}' #将集群设置为镜像模式
~# rabbitmqctl cluster_status #验证集群状态
rabbitmq-安装部署及基础操作的更多相关文章
- Gitlab安装部署及基础操作
环境说明 系统版本 CentOS 7.2 x86_64(较新版本的gitlab集成了更多功能,顺利运行起来的硬件要求较高,这里给了3G内存) 软件版本 gitlab-ce-10.8.4 GitLa ...
- CentOS7安装部署zabbix3.4操作记录
CentOS7安装部署zabbix3.4操作记录 1.安装前准备 1.1 查看centos的系统版本 [root@zabbix ~]# cat /etc/redhat-release CentOS L ...
- 10分钟学会RabbitMQ安装部署
一.单机版的 RabbitMQ 的安装部署 1.安装 Erlang 环境 wget http://erlang.org/download/otp_src_19.3.tar.gz tar -zxvf o ...
- rabbitmq安装部署
本文主要介绍rabbitmq-server-3.6.12的安装部署 # 检查是否已经安装旧版本的软件 rpm -qa|grep erlang rpm -qa|grep rabbitmq # 如果之前 ...
- CentOS7安装MongoDB及基础操作
安装环境说明 系统环境说明 [root@master ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@ma ...
- [MongoDB]------windos下的安装部署与基础使用
1.安装 首先前往官网进行下载,这里贴个地址https://www.mongodb.com/download-center#community 点击大大的原谅色的DOWNLOAD(msi)按钮进行下载 ...
- K8S的安装部署以及基础知识
Kubernetes(K8S)概述 Kubernetes又称作k8s,是Google在2014年发布的一个开源项目. 最初Google开发了一个叫Borg的系统(现在命名为Omega),来调度近20多 ...
- 一、WINDOWS下 RabbitMQ安装部署
安装需要用管理员权限,全部右键管理员身份运行.建议安装到虚拟机里面,免得影响日常使用. 1.下载 https://dl.bintray.com/rabbitmq/all/rabbitmq-serv ...
- Linux安装postgresql及基础操作
安装环境说明 系统环境说明 [root@slave1 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@sl ...
随机推荐
- 数仓day03-----日志预处理
1. 为什么要构建一个地理位置维表(字典) 在埋点日志中,有用户的地理位置信息,但是原始数据形式是GPS坐标,而GPS坐标在后续(地理位置维度分析)的分析中不好使用.gps坐标的匹配,不应该做这种精确 ...
- Linux—禁止用户SSH登录方法总结
Linux-禁止用户SSH登录方法总结 一.禁止用户登录 1.修改用户配置文件/etc/shadow 将第二栏设置为"*",如下.那么该用户就无法登录.但是使用这种方式 ...
- SpringBoot让测试类飞起来的方法
单元测试是项目开发中必不可少的一环,在 SpringBoot 的项目中,我们用 @SpringBootTest 注解来标注一个测试类,在测试类中注入这个接口的实现类之后对每个方法进行单独测试. 比如下 ...
- Java Bean 与Spring Bean 的区别
什么是JavaBean: JavaBean是一种JAVA语言写的可重用组件.JavaBean符合一定规范写的Java类,是一种规范.它的方法命名,构造以及行为必须符合特定的要求: 1.所有属性 ...
- Linux下部署Java项目(jetty作为容器)常用脚本命令
startup.sh #!/bin/bash echo $(basename $(pwd)) "jetty started" cd jetty nohup java -Xmx8g ...
- Declarative Pipeline 基础语法
Declarative Pipeline(声明式)核心概念 核心概念用来组织pipeline的运行流程 1.pipeline :声明其内容为一个声明式的pipeline脚本 2.agent:执行节点( ...
- cmd窗口连接mongodb服务端
1----->配置环境变量,将mongodb\bin目录配置到path 2----->打开cmd窗口,进入到bin目录,测试mongodb服务端是否在运行:net start mongod ...
- Mac 下安装Phonegap开发环境
Mac 下安装Phonegap开发环境 2014.09.11 星期四 评论 0 条 阅读 5,613 次 作者:野草 标签:phonegap ios mac 什么是Phonegap呢?Phon ...
- UNCTF2020 pwn题目
YLBNB 用pwntools直接连接,然后接受就行. 1 from pwn import * 2 3 p = remote('45.158.33.12',8000) 4 context.log_le ...
- 成本计算?(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 成本各种输入以后就该计算了是吗? 其实,计算有我什么事啊,不都是些四则运算吗?Project要是连这都搞不定,他还在地球上 ...