【rabbitMQ】rabbitMQ集群节点重新加入集群相关 *** 作

【rabbitMQ】rabbitMQ集群节点重新加入集群相关 *** 作,第1张

rabbitMQ 架构为  rabbitMQ + keepalived  镜像模式。

rabbitmq01  1921681101

rabbitmq01  1921681102

vip 1921681110  在rabbitmq02 上
现在 rabbitmq01 故障 ,起不来,队列数据同步rabbbit02 有问题。

解决方法是将rabbitmq01 这个故障节点从集群中剔除,然后重新加入。
在rabbitmq02  1921681102服务器上

剔除rabbitmq01节点

# rabbitmqctl cluster_status

# rabbitmqctl  forget_cluster_node  rabbit@192-168-1-101

# rabbitmqctl cluster_status
 

在rabbitmq01  1921681101服务器上
停止rabbitmq相关进程

# systemctl  stop rabbitmq-server

# ps aux | grep rabbit | grep -v grep | awk ‘{print $2}’| xargs kill -9
移除rabbitmq相关数据文件

# mkdir /kingdee/rabbitmqBackup

# mv  /var/lib/rabbitmq/  /kingdee/rabbitmqBackup/
重新启动rabbitmq

# systemctl  start  rabbitmq-server

# ps aux | grep rabbit
创建rabbitMQ用户

# rabbitmqctl  add_user   mquser    rabbitMQ@123

注:此密码为安装时设置的rabbitMQ密码
# rabbitmqctl  list_users

# rabbitmqctl  set_user_tags   mquser    administrator

# rabbitmqctl  set_permissions   -p  /   mquser    ''  ''  ''

# rabbitmqctl  stop_app
# rabbitmqctl  join_cluster   rabbit@192-168-1-102

# rabbitmqctl  cluster_status
# rabbitmqctl  start_app

# systemctl  start  keepalived
在rabbitmq02  1921681102服务器上

添加策略同步策略

# rabbitmqctl   set_policy ha-all  "^"   '{"ha-mode":"all","ha-sync-mode":"automatic"}'
RabbitMQ Cluster群集安装配置

>一、WebSphere MQ命令行命令1、停止队列管理器 endmqm [-z] [([-c -w -i -p] [-r] [-s]) -x] QMgrName endmqm mqm_name 使用默认选项停止队列管理器需要等待当前的应用连接完成并断开。 -i 立即停止队列管理器。 -w 需要等待所有的应用停止以后才会真正关闭队列管理器 -p 使用以上参数都无法正常停止队列管理器的情况下可以使用该参数 2、启动队列管理器 strmqm [-z] [-a -c -r -x] [-d noneminimalall] [-f] [-ns] QMgrName 队列管理器必须在完全停止时才能被启动。 3、创建队列管理器 crtmqm [-z] [-q] [-c Text] [-d DefXmitQ] [-h MaxHandles] [-md DataPath] [-g ApplicationGroup] [-t TrigInt] [-u DeadQ] [-x MaxUMsgs] [-lp LogPri] [-ls LogSec] [-lc -ll] [-lf LogFileSize] [-ld LogPath] QMgrName 队列管理器名大小写敏感且不支持空字符串,长度为48字节,同一网络中不能有重名。 创建队列管理器的时侯最好创建死信队列用于存放无法发送的信息,保证通道不会因为无法发送信息而被关闭。 crtmqm -u deadq_name mqm_name 4、删除队列管理器 dltmqm [-z] QMgrName 删除队列管理器会完全删除其所拥有的对象和相关信息,并且是不可恢复的。要删除一个队列管理器首先要保证他是停止的。二、WebSphere MQ Script (MQSC) commands WebSphere MQ Script (MQSC) commands是常常用来管理队列管理器对象的。这些对象包括队列管理器本身,队列,名称列表,通道,客户端通道,监听,服务等。使用runmqsc 队列管理名来启动,可以运行单个的命令,也可以通过命令集的脚本来运行。 本地队列管理器的作用是接收远程或本地的信息流,并将本地队列中的信息流取出以供应用程序使用。在做这些工作之前需要定义相关的队列管理器,队列和通道等,而这些工作是由WebSphere MQ Script (MQSC) commands来完整的。在Windows及Linux环境下也可以通过WebSphere MQ Explorer来完成。 启动WebSphere MQ Script (MQSC) :runmqsc [-e] [-v] [-w WaitTime [-x] [-m LocalQMgrName]] [QMgrName] runmqsc mqm_name。通过命令runmqsc启动队列管理器的命令服务器。WebSphere MQ Explorer也能完成相同的任务。runmqsc的相关命令有三种运行方式,Verify a command without running it,Run a command on a local queue manager,Run a command on a remote queue manager。runmqsc的相关命令在解释的时候都会以大写来解释,比如DEFINE,ALTER,RESET等。但是这些命令并不是大小写敏感的。每行runmqsc命令最长只能到8个字符,可以通过-或者+连接下一行,-是从下一行的第一个字符开始,+是从下一行的第一个非空字符开始。而且所有命令与平台无关。runmqsc的标准输入是键盘,标准输出时屏幕,我们可以通过<,>重定向。例如从脚本输入命令runmqsc </path/filenamein,将结果重定向到文件runmqsc>/path/filenameout。 1、显示队列管理器属性(DISPLAY QMGR): DISPLAY QMGR显示当前队列管理器的所有属性,也可以使用DISPLAY QMGR 属性名,单独查看当前队列管理器的某个特定属性。 2、 更改队列管理器属性(ALTER QMGR ): ALTER QMGR 用于更改队列管理器的相关属性,例如 ALTER QMGR MAXHANDS(255),这个命令将默认队列管理器的MAXHANDS由256更改为255。 3、创建本地队列(DEFINE QLOCAL ): DEFINE QLOCAL Q_LOCAL_NAME,在创建队列的时候可以定义相关属性的值,如果没有定义则使用默认值。也可以全部使用默认值,最后通过ALTER QLOCAL命令来修改相关属性。在同一个队列管理器中不能有同名的队列,可以使用REPLACE关键字重建已有的队列。 4、修改本地队列属性(ALTER QLOCAL): ALTER QLOCAL Q_LOCAL_NAME NEW_ATTRIBUTE。已经定义了的本地队列可以使用ALTER QLOCAL 命令对其属性进行修改。 5、显示本地队列属性(DISPLAY QLOCAL): DISPLAY QLOCAL Q_LOCAL_NAME ATTRIBUTE。此命令用于显示本地队列的属性,可以使用默认的显示全部属性,也可以显示指定的属性。 6、复制本地队列(DEFINE QLOCAL NEW LIKE OLD): DEFINE QLOCAL NEW LIKE OLD。此命令可以创建一个属性与OLD完全一样的本地队列。当然,我们也可以在语句后面指定属性的详细信息,没有指定的则继承OLD的对应属性,指定了的则使用新的属性。 7、清除本地队列中的消息(CLEAR QLOCAL): CLEAR QLOCAL Q_LOCAL_QUEUE。此命令用于清除本地队列中存储的信息。在清除信息的时候系统不会给出任何提示,而是直接把信息删除。在一下两种情况下不能使用CLEAR QLOCAL,本地队列中存储的有在最近一次队列同步以后未提交的信息,有应用程序打开使用本地此队列。 8、删除本地队列(DELETE QLOCAL): DELETE QLOCAL Q_LOCAL_QUEUE。此命令用于删除本地队列,当本地队列中存在有没有提交的数据此队列不能删除。如果队列中存在数据,且数据是提交了的,可以使用PURGE关键字删除本地队列。例如DELETE QLOCAL (Q_LOCAL_QUEUE) PURGE,在删除的时候可以指定NOPURGE关键字代替PURGE以保护删除的队列中可能存在的已提交数据。三、PCF commands PCF commands允许管理员通过编程的方式将MQ的日常管理任务集成在程序中。包括创建队列,预定义队列,更改队列管理器等, PCF commands与MQSC锁实现的功能是相同。

支持。查询rabbitmq的范围信息显示,使用范围都是固定的,都是有限制的,rabbitmq支持在国产服务器。服务器,也称伺服器,是提供计算服务的设备,由于服务器需要响应服务请求,并进行处理,因此通常来说服务器应具备承担服务并且保障服务的能力。

在linux服务器上查看rabbitmq当前安装的版本号,通过rabbitmqctl status就可以获得,命令如下:

sudo rabbitmqctl status | grep rabbit

得到结果:

{rabbit,"RabbitMQ","373"},

373即为rabbitmq版本号。


扩展资料

RabbitMQ的优点介绍:

除了Qpid,RabbitMQ是唯一一个实现了AMQP标准的消息服务器;

可靠性,RabbitMQ的持久化支持,保证了消息的稳定性;

高并发,RabbitMQ使用了Erlang开发语言,Erlang是为电话交换机开发的语言,天生自带高并发光环,和高可用特性

集群部署简单,正是应为Erlang使得RabbitMQ集群部署简单;

社区活跃度高,根据网上资料来看,RabbitMQ也是首选;


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13476329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-14
下一篇 2023-08-14

发表评论

登录后才能评论

评论列表(0条)

保存