安装单机版RabbitMQ

Kafka、ActiveMQ、RabbitMQ、RocketMQ 优缺点对比

特性 ActiveMQ RabbitMQ RocketMQ Kafka
单机吞吐量 万级,比 RocketMQ、Kafka 低一个数量级 同 ActiveMQ 10 万级,支撑高吞吐 10 万级,高吞吐,一般配合大数据类的系统来进行实时数据计算、日志采集等场景
topic 数量对吞吐量的影响 topic 可以达到几百/几千的级别,吞吐量会有较小幅度的下降,这是 RocketMQ 的一大优势,在同等机器下,可以支撑大量的 topic topic 从几十到几百个时候,吞吐量会大幅度下降,在同等机器下,Kafka 尽量保证 topic 数量不要过多,如果要支撑大规模的 topic,需要增加更多的机器资源
时效性 ms 级 微秒级,这是 RabbitMQ 的一大特点,延迟最低 ms 级 延迟在 ms 级以内
可用性 高,基于主从架构实现高可用 同 ActiveMQ 非常高,分布式架构 非常高,分布式,一个数据多个副本,少数机器宕机,不会丢失数据,不会导致不可用
消息可靠性 有较低的概率丢失数据 基本不丢 经过参数优化配置,可以做到 0 丢失 同 RocketMQ
功能支持 MQ 领域的功能极其完备 基于 erlang 开发,并发能力很强,性能极好,延时很低 MQ 功能较为完善,还是分布式的,扩展性好 功能较为简单,主要支持简单的 MQ 功能,在大数据领域的实时计算以及日志采集被大规模使用

下载erlang和rabbitmq安装包

[root@localhost ~]# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.5/rabbitmq-server-generic-unix-3.9.5.tar.xz
[root@localhost ~]# wget https://erlang.org/download/otp_src_24.0.tar.gz

安装erlang所需依赖

[root@localhost ~]# yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto

编译安装erlang

[root@localhost ~]# tar xf otp_src_24.0.tar.gz
[root@localhost ~]# cd otp_src_24.0
[root@localhost ~]# ./configure --prefix=/usr/local/erlang
[root@localhost ~]# make
[root@localhost ~]# make install

添加erlang环境变量

[root@localhost ~]# echo "export PATH=$PATH:/usr/local/erlang/bin" >> /etc/profile
[root@localhost ~]# source /etc/profile

测试erlang是否安装成功

[root@localhost ~]# erl
Erlang/OTP 24 [erts-12.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1]

Eshell V12.0  (abort with ^G)
1>
User switch command
 --> q

安装rabbitmq

[root@localhost ~]# tar xf rabbitmq-server-generic-unix-3.9.5.tar.xz -C /usr/local
[root@localhost ~]# ln -sv /usr/local/rabbitmq_server-3.9.5 /usr/local/rabbitmq

添加rabbitmq环境变量

[root@localhost ~]# echo "export PATH=$PATH:/usr/local/rabbitmq/sbin" >> /etc/profile
[root@localhost ~]# source /etc/profile

测试rabbitmq是否安装成功

# 开启rabbitmq服务
[root@localhost ~]# rabbitmq-server -detached
# 查看服务状态
[root@localhost ~]# rabbitmqctl status
Status of node rabbit@localhost ...
Runtime

OS PID: 3605559
OS: Linux
Uptime (seconds): 6994
Is under maintenance?: false
RabbitMQ version: 3.9.5
Node name: rabbit@test-fengtan-app-0-140
Erlang configuration: Erlang/OTP 24 [erts-12.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1]
Erlang processes: 412 used, 1048576 limit
Scheduler run queue: 1
Cluster heartbeat timeout (net_ticktime): 60

Plugins

Enabled plugin file: /usr/local/rabbitmq/etc/rabbitmq/enabled_plugins
Enabled plugins:

 * rabbitmq_management
 * amqp_client
 * rabbitmq_web_dispatch
 * cowboy
 * cowlib
 * rabbitmq_management_agent

Data directory
........
# 开启rabbitmq
[root@localhost ~]# rabbitmqctl start_app
# 查看rabbitmq启动端口
[root@localhost ~]# netstat -tnlp|grep 'beam|epmd'
tcp        0      0 0.0.0.0:25672         0.0.0.0:*         LISTEN    3605559/beam.smp
tcp        0      0 0.0.0.0:4369          0.0.0.0:*         LISTEN    3605592/epmd
tcp        0      0 0.0.0.0:15672         0.0.0.0:*         LISTEN    3605559/beam.smp
tcp6       0      0 :::5672               :::*              LISTEN    3605559/beam.smp
tcp6       0      0 :::4369               :::*              LISTEN    3605592/epmd
# 开启插件管理
[root@localhost ~]# rabbitmq-plugins enable rabbitmq_management
# 查看插件集合
[root@localhost ~]# rabbitmq-plugins list
# 关闭rabbitmq
[root@localhost ~]# rabbitmqctl stop_app

通过web界面访问http://localhost:15672即可管理rabbitmq

用户管理

# 查看所有用户
rabbitmqctl list_users
# 添加一个用户
rabbitmqctl add_user test 123456
# 配置权限
rabbitmqctl set_permissions -p "/" test ".*" ".*" ".*"
# 查看用户权限
rabbitmqctl list_user_permissions test
# 设置tag
rabbitmqctl set_user_tags test administrator
# 删除用户(安全起见,删除默认用户)
rabbitmqctl delete_user guest
原文地址:https://www.cnblogs.com/will-space/p/15219586.html