一年又一年,字节跳动 Lark(飞书) 研发团队又双叒叕开始招新生啦!
【内推码】:GTPUVBA
【内推链接】:https://job.toutiao.com/s/JRupWVj
【招生对象】:20年9月后~21年8月前 毕业的同学
【报名时间】:6.16-7.16(提前批简历投递只有一个月抓住机会哦!)
【画重点】:提前批和正式秋招不矛盾!面试成功,提前锁定Offer;若有失利,额外获得一次面试机会,正式秋招开启后还可再次投递。
1 Mac下安装RabbitMQ
通过Homebrew安装
brew install rabbitmq
Homebrew
Homebrew是Mac的软件包管理器,如果电脑上没有Homebrew可以通过下面的指令安装,官网地址Homebrew。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果遇到sbin目录不能写入的问题
- 通过
l /usr/local
看该目录下有没有sbin的目录,如果没有sbin目录,则sudo mkdir /usr/local/sbin
- 为sbin目录添加相关的操作权限
sudo chmod 777 /usr/local/sbin
- 在你的shell对应的配置文件(如.zshrc或.bash_profile)中的把/usr/local/sbin添加到PATH中
-
source .zshrc
或source .bash_profile
- 把rabbitmq的指令链接到sbin目录下:
brew link rabbitmq
安装完成后配置文件位置
/usr/local/etc/rabbitmq
启动RabbitMQ服务
前台启动:rabbitmq-server
后台启动:rabbitmq-server -detached
# 启动成功
zhengzhaoxi@zhengzhaoxideMacBook-Pro ~ rabbitmq-server
## ##
## ## RabbitMQ 3.7.11. Copyright (C) 2007-2019 Pivotal Software, Inc.
########## Licensed under the MPL. See http://www.rabbitmq.com/
###### ##
########## Logs: /usr/local/var/log/rabbitmq/rabbit@localhost.log
/usr/local/var/log/rabbitmq/rabbit@localhost_upgrade.log
Starting broker...
completed with 6 plugins.
查看RabbitMQ是否启动成功
rabbitmqctl status
关闭RabbitMQ服务
前台关闭:control c
后台关闭:rabbitmqctl stop
2 RabbitMQ用户管理
可以通过rabbitmqctl命令来进行创建、删除、查看用户、分配用户权限等操作,更详细的操作列表可以查阅官方文档rabbitmqctl官方文档,或通过rabbitmqctl --help
来查看。
2.1 RabbitMQ用户角色
RabbitMQ为了控制用户的权限,一共为用户分配了五种角色,如下所示
- 超级管理员(administrator): 可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
- 监控者(monitoring):可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等))
- 策略制定者(policymaker):可登陆管理控制台,同时可以对policy进行管理。
- 普通管理者(management):仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
- 其他的
2.2 用户管理
- 查看用户列表:
rabbitmqctl list_users
。RabbitMQ默认创建了一个账号密码均为guest的administrator用户,可以用该用户登陆管理控制台。 - 添加用户:
rabbitmqctl add_user username password
- 删除用户:
rabbitmqctl delete_user username
- 修改密码:
rabbitmqctl change_password username new_password
- 清除密码:
rabbitmqctl clear_password username
- 设置用户角色(标签):
rabbitmqctl set_user_tags username administrator|monitoring|policymaker|else…
2.3 用户权限管理
RabbitMQ的权限控制是以vhost为单元的,可以把vhost暂时理解为一个权限控制组,后面会进行详细解释,详细的权限管理可以查阅官方文档Access Control in RabbitMQ。
- 创建vhost:
rabbitmqctl add_vhost my-vhost
- 删除vhost:
rabbitmqctl delete_vhost my-vhost
- 查看vhost:
rabbitmqctl list_vhosts name tracing
- 分配用户权限:
rabbitmqctl set_permissions [-p <vhost>] <username> <conf> <write> <read>
,-p <vhost>
可以选择指定的vhost,conf、write、read分别指定该用户拥有配置、写、读的权限。 - 清除用户权限:
rabbitmqctl clear_permissions -p my-vhost username
- 查看权限列表:
rabbitmqctl list_permissions -p my-vhost
- 精确到topic的权限管理:可以以下子命令设置用户对于某个topic的操作权限:set_topic_permissions、clear_topic_permissions、list_topic_permissions、list_topic_user_permissions
3 管理控制台
- 为了方便管理RabbitMQ,官方还提供了一个浏览器页面来查看和控制RabbitMQ。在浏览器中打开:
http://localhost:15672
即可。 - 如果打不开此页面,可以通过
rabbitmq-plugins list
或者rabbitmq-plugins is_enabled rabbitmq_management
查看rabbitmq_management插件是否开启,如果该插件未开启,则可以通过rabbitmq-plugins enable rabbitmq_management
,即可使用管理控制台