Rabbitmq介绍
RabbitMQ的基础概念
RabbitMQ的特性
RabbitMQ 安装
$ cat /etc/yum.repos.d/rabbit.repo [rabbitmq-erlang] name=rabbitmq-erlang baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7 gpgcheck=1 gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc repo_gpgcheck=0 enabled=1
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.14/rabbitmq-server-3.7.14-1.el7.noarch.rpm && yum localinstall rabbitmq-server-3.7.14-1.el7.noarch.rpm
systemctl start rabbitmq-server
$ ps -ef |grep rabbitmq root 13397 16602 0 17:14 pts/0 00:00:00 grep --color=auto rabbitmq rabbitmq 26797 1 1 15:30 ? 00:01:58 /usr/lib64/erlang/erts-9.3.3.6/bin/beam.smp -W w -A 64 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -K true -- -root /usr/lib64/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.14/ebin -noshell -noinput -s rabbit boot -sname rabbit@k8s_node2 -boot start_sasl -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit lager_log_root "/var/log/rabbitmq" -rabbit lager_default_file "/var/log/rabbitmq/rabbit@k8s_node2.log" -rabbit lager_upgrade_file "/var/log/rabbitmq/rabbit@k8s_node2_upgrade.log" -rabbit enabled_plugins_file "/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/usr/lib/rabbitmq/plugins:/usr/lib/rabbitmq/lib/rabbitmq_server-3.7.14/plugins" -rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@k8s_node2-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@k8s_node2" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672 rabbitmq 27167 26797 0 15:30 ? 00:00:00 erl_child_setup 32768 rabbitmq 27191 27167 0 15:30 ? 00:00:00 inet_gethost 4 rabbitmq 27192 27191 0 15:30 ? 00:00:00 inet_gethost 4$ netstat -ntlp | grep 5672
$ systemctl status rabbitmq-server.service$ rabbitmqctl status
web管理插件 rabbitmq-plugins list #查看插件列表 rabbitmq-plugins enable rabbitmq_management 日志跟踪插件 rabbitmq-plugins enable rabbitmq_tracing #rabbitmq启用trace插件 rabbitmqctl trace_on #打开trace的开关 rabbitmqctl trace_on -p test #打开trace的开关(test为需要日志追踪的vhost) rabbitmqctl trace_off #关闭trace的开关 安装rabbitmq_delayed_message_exchange(延时队列) 默认插件目录: cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.14/plugins/ wget https://dl.bintray.com/rabbitmq/community-plugins/rabbitmq_delayed_message_exchange-0.0.1.ez rabbitmq-plugins enable rabbitmq_delayed_message_exchange The following plugins have been enabled: rabbitmq_delayed_message_exchange Applying plugin configuration to v01-app-rabbit@localhost... started 1 plugin.
Rabbitmq配置集群
systemctl restart rabbitmq-server.service
$ rabbitmqctl stop_app Stopping rabbit application on node rabbit@k8s_node3 ... $ rabbitmqctl join_cluster rabbit@k8s_node1 Clustering node rabbit@k8s_node3 with rabbit@k8s_node1 $ rabbitmqctl start_app Starting node rabbit@k8s_node3 ... completed with 3 plugins.
$ rabbitmqctl cluster_status Cluster status of node rabbit@k8s_node3 ... [{nodes,[{disc,[rabbit@k8s_node1,rabbit@k8s_node2,rabbit@k8s_node3]}]}, {running_nodes,[rabbit@k8s_node1,rabbit@k8s_node2,rabbit@k8s_node3]}, {cluster_name,<<"rabbit@k8s_node1">>}, {partitions,[]}, {alarms,[{rabbit@k8s_node1,[]},{rabbit@k8s_node2,[]},{rabbit@k8s_node3,[]}]}]
添加账号: $rabbitmqctl add_user admin admin 添加 权限tag $ rabbitmqctl set_user_tags admin administrator 删除用户(删除guest用户) $ rabbitmqctl delete_user guest Deleting user "guest" 修改用户的密码 $rabbitmqctl change_password Username Newpassword $ rabbitmqctl change_password admin 0GM1aol4z8GeSZY99 Changing password for user "admin" 查看当前用户列表 $ rabbitmqctl list_users Listing users admin [administrator]
ip:15672
$ rabbitmqctl stop_app Stopping rabbit application on node 'rabbit@k8s_node2'$ rabbitmqctl reset Resetting node 'rabbit@k8s_node2' $ rabbitmqctl start_app Starting node 'rabbit@v01-app-rabbitmq02'
rabbitmqctl stop_app rabbitmqctl join_cluster --ram rabbit@k8s_node2 rabbitmqctl start_app
rabbitmqctl stop_app rabbitmqctl change_cluster_node_type disc rabbitmqctl start_app