rabbitmq

官网: https://www.rabbitmq.com/

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-安装部署及基础操作的更多相关文章

  1. Gitlab安装部署及基础操作

      环境说明 系统版本 CentOS 7.2 x86_64(较新版本的gitlab集成了更多功能,顺利运行起来的硬件要求较高,这里给了3G内存) 软件版本 gitlab-ce-10.8.4 GitLa ...

  2. CentOS7安装部署zabbix3.4操作记录

    CentOS7安装部署zabbix3.4操作记录 1.安装前准备 1.1 查看centos的系统版本 [root@zabbix ~]# cat /etc/redhat-release CentOS L ...

  3. 10分钟学会RabbitMQ安装部署

    一.单机版的 RabbitMQ 的安装部署 1.安装 Erlang 环境 wget http://erlang.org/download/otp_src_19.3.tar.gz tar -zxvf o ...

  4. rabbitmq安装部署

    本文主要介绍rabbitmq-server-3.6.12的安装部署 #  检查是否已经安装旧版本的软件 rpm -qa|grep erlang rpm -qa|grep rabbitmq # 如果之前 ...

  5. CentOS7安装MongoDB及基础操作

    安装环境说明 系统环境说明 [root@master ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@ma ...

  6. [MongoDB]------windos下的安装部署与基础使用

    1.安装 首先前往官网进行下载,这里贴个地址https://www.mongodb.com/download-center#community 点击大大的原谅色的DOWNLOAD(msi)按钮进行下载 ...

  7. K8S的安装部署以及基础知识

    Kubernetes(K8S)概述 Kubernetes又称作k8s,是Google在2014年发布的一个开源项目. 最初Google开发了一个叫Borg的系统(现在命名为Omega),来调度近20多 ...

  8. 一、WINDOWS下 RabbitMQ安装部署

    安装需要用管理员权限,全部右键管理员身份运行.建议安装到虚拟机里面,免得影响日常使用. 1.下载   https://dl.bintray.com/rabbitmq/all/rabbitmq-serv ...

  9. Linux安装postgresql及基础操作

    安装环境说明 系统环境说明 [root@slave1 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@sl ...

随机推荐

  1. Java程序逻辑控制

    程序逻辑控制 1.Java程序结构与逻辑控制 在Java中程序有三种结构:顺序结构.分支结构.循环结构 1.1 Java分支结构 分支结构:进行逻辑判断,当满足某些条件时才会执行某些语句. 1.if语 ...

  2. DOM解析xml学习笔记

    一.dom解析xml的优缺点 由于DOM的解析方式是将整个xml文件加载到内存中,转化为DOM树,因此程序可以访问DOM树的任何数据. 优点:灵活性强,速度快. 缺点:如果xml文件比较大比较复杂会占 ...

  3. spring-cloud-alibaba-dependencies版本问题

    org.springframework.cloud的spring-cloud-alibaba-dependencies管理的nacos最新版本是0.9.0.RELEASE,已经不再维护了,用起来有版本 ...

  4. Nginx+ uWSGI +django进行部署

    一:uWSGI的安装 sudo pip install uwsgi 如果安装报错: conda install -c conda-forge uwsgi conda install -c conda- ...

  5. 使用jdbc,查询数据库数据,并将其封装为对象输出

    package cn.itcast.jdbc;import cn.itcast.domain.User;import java.sql.*;import java.util.ArrayList;imp ...

  6. Web系统与自控系统数据通讯架构 之 OPC DA DataChangeEventHandler 非热点数据更新策略 ,

    在使用OPC 采集 工控数据时,在DA模式下.采集数据通常用到 DataChangeEventHandler这个事件.但有时会遇到一些问题,就是当数据不变化时时不会触发 DataChange 这个事件 ...

  7. Excel如何使用vlookup

    一.vlookup的语法 VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup]) ①Lookup_value为需要在数据表 ...

  8. bcloud_bctf_2016

    目录 bcloud_bctf_2016 总结 题目分析 checksec 函数分析 main welcome get_name get_org_host menu new_note show_note ...

  9. axb_2019_fmt32

    一道格式字符串的题目,拿到题目例行检查一下 32位的程序开机了nx的保护,将程序放入ida中 发现没有system函数于是进入main主函数进行代码审计 可以看到printf存在明显的格式字符串漏洞 ...

  10. LuoguP5139 z小f的函数 题解

    Content 给定 \(T\) 个二次函数 \(y=ax^2+bx+c\),有若干次操作,有一个操作编号 \(p\),保证仅为以下这五种: 操作 \(1\):给定 \(k\),将函数图像向上移动 \ ...