当前位置:
首页 >
RabbitMQ部署安装
发布时间:2024/1/1
32
豆豆
生活随笔
收集整理的这篇文章主要介绍了
RabbitMQ部署安装
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
RabbitMQ消息发送过程
总结:生产者将消息发送给交换器,交换器和队列绑定 。当生产者发送消息时所携带的 RoutingKey与绑定时的BindingKey 相匹配时,消息会被存入相应的队列之中。消费者可以订阅相应的队列来获取消息。RabbitMQ软件部署
1.环境准备
#1)配置主机名(需要与hosts配置相同) hostnamectl set-hostname rabbitmq-1#软件包准备(有版本冲突,具体查看官方文档) rabbitmq-server-generic-unix-3.8.0 otp_src_22.3.tar.gz#创建用户 useradd yjp#修改hosts文件 10.0.0.30 rabbitmq-1-30 10.0.0.31 rabbitmq-1-31 10.0.0.32 rabbitmq-1-322.软件安装
依赖安装
yum -y install gcc gcc-c++ ncurses-devel openssl-devel perl5#创建相关目录并附权 mkdir -p /data/yjp/rabbitmq/mnesia mkdir -p /home/logs/yjp mkdir -p /usr/local/yjpchown -R yjp.yjp /data/yjp /home/logs/yjp /usr/local/yjp安装otp_src_22.3.tar.gz
cd /data/package tar -zxvf otp_src_22.3.tar.gz cd otp_src_22.3 ./configure --prefix=/usr/local/yjp/erlang --without-javac make && make installtouch /etc/profile.d/erl.sh cat <<EOF>/etc/profile.d/erl.sh export PATH=$PATH:/usr/local/yjp/erlang/bin EOFsource /etc/profile.d/erl.sh安装rabbimtq
cd /data/package tar -xvf rabbitmq-server-generic-unix-3.8.0.tar -C /usr/local/yjp/ cd /usr/local/yjp/ mv rabbitmq_server-3.8.0/ rabbitmqtouch /etc/profile.d/rabbitmq.sh cat <<EOF>/etc/profile.d/rabbitmq.sh export PATH=$PATH:/usr/local/yjp/rabbitmq/sbin EOF source /etc/profile.d/rabbitmq.sh配置文件
cat <<EOF>/usr/local/yjp/rabbitmq/etc/rabbitmq/rabbitmq-env.conf RABBITMQ_MNESIA_BASE=/data/yjp/rabbitmq/mnesia RABBITMQ_LOG_BASE=/home/logs/yjp/rabbitmq RABBITMQ_LOGS=\$RABBITMQ_LOG_BASE/rabbitmq.log RABBITMQ_SASL_LOGS=\$RABBITMQ_LOG_BASE/sasl.log vm_memory_high_watermark=0.6 NODE_PORT=6000 EOF在程序中添加环境变量
vi /usr/local/yjp/rabbitmq/sbin/rabbitmq-server ERLANG_HOME=/usr/local/yjp/erlang ERL_DIR=/usr/local/yjp/erlang/bin/ export PATH=$PATH:$ERLANG_HOME/bin#权限修复 cd /usr/local/yjp chown -R yjp.yjp rabbitmq erlang开机脚本及自启动
cat <<EOF> /usr/lib/systemd/system/rabbitmq-server.service [Unit] Description=RabbitMQ-Server After=syslog.target.network.target[Service] LimitNOFILE=100000 Environment=RABBITMQ_HOME=/usr/local/yjp/rabbitmq Environment=RABBITMQ_ENV=/usr/local/yjp/rabbitmq/sbin/rabbitmq-env Type=forking KillMode=control-group ExecStart=/usr/local/yjp/rabbitmq/sbin/rabbitmq-server -detached ExecStop=/usr/local/yjp/rabbitmq/sbin/rabbitmqctl shutdown User=yjp Group=yjp RestartSec=20 Restart=always StartLimitInterval=200 StartLimitBurst=5 StartLimitAction=none[Install] WantedBy=multi-user.target EOF#配置 日志轮转cat <<EOF> /etc/logrotate.d/rabbitmq /home/logs/yjp/rabbitmq/*.log { weekly missingokrotate 20compressdelaycompressnotifemptysharedscriptspostrotatesu yjp -c "/usr/local/yjp/rabbitmq/sbin/rabbitmqctl rotate_logs > /dev/null"endscriptsu yjp yjp } EOF#自启动服务 systemctl enable rabbitmq-server.service#启动服务 systemctl start rabbitmq-server.service#开启管理界面 su - yjp rabbitmq-plugins enable rabbitmq_management搭建集群与常用命令
#同步cookie文件cd /home/yjp/cat .erlang.cookie BBDWDRRSYIEYQRCKLEUP#这个文件内容写到另外两台服务器,这里10.0.0.30 作为参照 #将文件内容复制到另外两台服务器上,2台机器先要执行chmod a+w /home/yjp/.erlang.cookie 编辑完之后改回来chmod a-w /home/yjp/.erlang.cookie#然后另外两台服务器上 分别执行systemctl restart rabbitmq-server.service su - yjp rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@rabbitmq-1-30 #--disc rabbitmqctl start_app #结束#检查服务rabbitmqctl cluster_status#添加账号密码rabbitmqctl add_user admin ADXT3TLwkhsZJYfO rabbitmqctl set_user_tags admin administrator rabbitmqctl change_password admin ADXT3TLwkhsZJYfOrabbitmqctl add_user yjp yjp rabbitmqctl set_user_tags yjp impersonator#添加vhost rabbitmqctl add_vhost /production#vhost 授权 .* 匹配所有 ^$ 不匹配任何 rabbitmqctl [--node <node>] [--longnames] [--quiet] set_permissions [--vhost <vhost>] <username> <conf> <write> <read>rabbitmqctl set_permissions -p / admin '.*' '.*' '.*' rabbitmqctl set_permissions -p / yjp '.*' '.*' '.*'#配置策略rabbitmqctl set_policy -p /production ha-all-production "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'rabbitmqctl list_policies -p /#移除故障节点(在故障节点执行删除数据,在master节点执行移除操作)rm -rf /data/yjp/rabbitmq/*rabbitmqctl -n rabbit@rabbitmq-1-237 forget_cluster_node rabbit@rabbitmq-1-239#rabbitmqadmin插件添加参考文档https://blog.csdn.net/sifeimeng/article/details/84802111?ops_request_misc=&request_id=&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~all~es_rank~default-3-84802111.pc_search_all_es&utm_term=rabbitmqadmin%E4%B8%8B%E8%BD%BD&spm=1018.2226.3001.4187#清理队列消息 rabbitmqadmin -p ${vhostpath} purge_queue ${queue_name}#删除队列 rabbitmqadmin -p ${vhostpath} purge_queue ${queue_name}rabbitmqadmin delete user name={user_name}rabbitmqadmin delete queue name={queue_name}rabbitmqadmin delete exchange name={exchange_name}#查看队列rabbitmqadmin get queue=test requeue=true (不消费) rabbitmqadmin get queue=test requeue=false (并消费)Web的ui界面
总结
以上是生活随笔为你收集整理的RabbitMQ部署安装的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 大话IT第12期:揭密疯狂的lulzse
- 下一篇: AVR单片机及其开发环境