十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、WebSphere MQ命令行命令
安图网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
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 none|minimal|all] [-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/filename.in,将结果重定向到文件runmqsc/path/filename.out。
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锁实现的功能是相同。
一、创建linux维护用户
登录root用户
创建新用户
useradd 新用户名
设置用户密码
passwd 新用户密码
二、安装jdk和配置环境变量
建议在root用户下直接安装jdk,并直接配置环境变量,同时给非root用户设置读和执行权限
解压包
tar xvf jdk包名.tar
配置全局变量
编辑/etc/profile文件
vi /etc/profile
按I键,切换成编辑模式。
在文件未加入一下配置
export JAVA_HOME=jdk的解压文件目录
export JRE_HOME=jdk的解压文件目录/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${ JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${ JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
保存并退出
Esc
:wq
重载配置文件使其生效
source /etc/profile
检查是否安装成功
Javac
Java version
权限修改
读4写2执行1,顺序所有者、组成员、其他用户
Chomd 755 jdk的解压文件目录
三、安装tomcat
安装tomcat和放入war包使用非root的维护用户
如果使用root安装的话记得设置权限。( chomd -r 外层文件目录 )
su - 用户名
1、解压包
tar xvf tomcat包名.tar
2、将war包放入tomcat/webapps目录下
3、Tomcat启动服务和停止服务
查看进程
ps -ef | grep java
启动应用
Tomcat bin目录下.startup.sh
停止应用
建议使用
Kill -9 进程号
注:解压出应用文件后,注意配置信息的修改
四、IBM MQ部署 (7.5之后的版本)
(以下是使用9.0版本的正确部署命令)
一、 卸载旧版本IBM MQ (可选)
因为部署环境没有安装过mq,卸载这部分命令我没有亲自测试过
设置环境
以用户身份登录到组mqm,找到mq的安装位置 /opt/mqm
source ./setmqenv -s
查看队列管理器的状态
dspmq -o installation
停止与要卸载的安装关联的所有正在运行的队列管理器
endmqm SXRECV
停止与队列管理器关联的所有侦听器。
endmqlsr -m SXRECV
查看系统上当前安装的软件包(组件)
sudo rpm -qa | grep MQSeries
列出软件包并一次性卸载
sudo rpm -qa | grep MQSeries | xargs rpm -ev
再将对应的用户及安装目录给删除
rm -rf /opt/mqm
userdel -r mqm
检查MQ license
license文件在安装目录中 /opt/mqm/lib 可以找到
amqtcert.lic - is a trial license
amqbcert.lic - is a beta license
amqpcert.lic - is the production license
——————————————————————————————————————
二、安装新版本ibm mq
解压,解压文件都在MQServer中
tar –xzvf IBM_MQ_9.1.5_LINUX_X86-64.tar.gz
进入MQServer文件夹中:
cd MQServer/
运行MQ许可证程序
./mqlicense.sh
安装WebSphere MQ for Linux服务器(Runtime、SDK 和 Server 软件包):
rpm -U MQSeriesRuntime-9.1.5-0.x86_64.rpm
rpm -U MQSeriesSDK-9.1.5-0.x86_64.rpm
rpm -U MQSeriesServer-9.1.5-0.x86_64.rpm
安装WebSphere MQ for Linux客户机:
rpm -U MQSeriesClient-9.0.0-0.x86_64.rpm
安装WebSphere MQ样本程序:
rpm -U MQSeriesSamples-9.0.0-0.x86_64.rpm
创建组和用户
安装过程创建了一个名为mqm的用户和一个同样名为 mqm 的组。设置一个密码来解锁。
passwd mqm
——————————————————————————————————————
三、 配置
(这部分队列管理器、通道、队列等根据实际情况自行配置)
切换用户:
su mqm
创建队列管理器
使用crtmqm命令来创建一个名为 SXRECV
的队列管理器。我们把它作为缺省队列,并且将不在创建时指定死信队列。然后使用strmqm命令启动队列管理器。
crtmqm -q SXRECV
strmqm SXRECV
——————
如果执行crtmqm命令时提示
-bash-3.2$ crtmqm
-bash: crtmqm: command not found
find / -name crtmqm
则需要配置mqm用户的环境变量,编辑如下文件,并添加下面的内容,如下:
第一种方法:相对第二种较安全仅对mqm用户有效
方法一:
(1) -bash-3.2$ vi /var/mqm/.bash_profile --有可能会在文件夹下看不到这个文件,通过编辑即可看到
PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
(2)执行“.”命令,使这个文件生效
-bash-3.2$ source .bash_profile
(3)再次尝试实行crtmqm或是dspmqm命令,即可发现已经生效。
方法二:
( 1)
su root
[if !supportLists](2)[endif]
vim /etc/profile
[if !supportLists](3)[endif] 在最后面加上:
PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/bin
( 4)关闭远程终端重新打开,无需重启服务器
——————
运行队列管理器
runmqsc SXRECV
创建通道和队列
DEFINE QLOCAL (XYDATA) REPLACE USAGE (NORMAL) DEFPSIST (YES) MAXDEPTH (300000) DESCR('兴业银行')
DEFINE QLOCAL (XYTRANS) REPLACE USAGE (XMITQ) DEFPSIST (YES) MAXDEPTH (300000) DESCR('兴业银行')
DEFINE QREMOTE (XYACK) REPLACE DEFPSIST (YES) RQMNAME (SXSEND) RNAME (XYACK) XMITQ (XYTRANS) DESCR('XXXX')
DEFINE CHANNEL (XYDATA) CHLTYPE (RCVR) TRPTYPE (TCP) REPLACE DESCR('XXXX')
DEFINE CHANNEL (XYACK) CHLTYPE (SDR) CONNAME ('166.1.1.8(2214)') XMITQ (XYTRANS) TRPTYPE (TCP) DISCINT (0) CONVERT (NO) SHORTRTY (30) SHORTTMR (10) LONGRTY (999999999) LONGTMR (20) REPLACE DESCR('XXXX')
DEFINE CHANNEL (SVRCONN) CHLTYPE (SVRCONN) MCAUSER('mqm')
创建监听
DEFINE LISTENER (RECLISTENER) TRPTYPE (TCP) CONTROL(QMGR) PORT (2214)
启动监听
start LISTENER(RECLISTENER)
启动通道
start channel(SVRCONN)
start channel(XYDATA)
start channel(XYACK)
———————————————————————————————————————————————————
四、2035错误码 说明
如果程序连接mq报错2035,则需要对权限认证做设置,则进行以此操作
1、
ALTER QMGR CHLAUTH(DISABLED)
2、
ALTER CHL(通道名) CHLTYPE(SVRCONN) MCAUSER('mqm')
3、
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
或者直接将连接认证选项置为空,将其完全关闭,指令如下:
ALTER QMGR CONNAUTH('')
在执行完上述两条命令中的任一条后,都需要刷新连接认证的缓存,指令如下:
REFRESH SECURITY TYPE(CONNAUTH)
五、mq操作命令
一、MQ的启动与停止
1、MQ的启动
strmqm QMgrName
如果启动默认队列管理器,strmqm后可以忽略队列管理器名称。
2、MQ的关闭
endmqm -i QMgrName
停止mq
二、MQ运行状态查看与常用操作
1、 查看队列管理器运行状态
su mqm
执行如下命令检查队列管理器运行状态:dspmq显示结果中QMNAME表示MQ队列管理器的名称,STATUS表示当前运行状态。运行状态有如下几种:Starting正在启动Running正在运行Ending正在停止Ended normally已经正常终止Ended immediately已经立即终止Ended preemtively已经强制终止Ended unexpectively异常终止
注意:停止MQ后必须使用dspmq命令进行状态检查
2、查看通道运行状态与启停通道
runmqsc
dis chl(*);查看所有通道定义
dis chs(*);查看所有通道状态,如果没有查询到通道状态,或报错AMQ8420: Channel Status not found,请启动通道
dis chs(ChannelName); 查看通道ChannelName的状态
通道状态有如下几种:
STARTING正在启动BINDING正在绑定INITIALIZING正在初始化RUNNING正常STOPPING 正在停止RETRYING重试PAUSED等待STOPPED已停止REQUESTING请求
start chl(ChannelName);启动通道
stop chl(ChannelName);停止通道
* 重置通道
reset channel(ChannelName); 重置通道序号。当本地与其他MQ队列管理器的通道无法正常启动的情况,检查日志发现是通道序号不一致,此时就需要先停止发送方通道,清空队列深度并在发送方和接收方进行通道计数的重置,重置后启动通道即可恢复通讯。
注意:重置成功mq序列号一般相同或相差1
3、查看通道监听状态与启停监听
runmqsc
dis listner(*);查看通道监听定义
dis lsstatu(listnerName);查看监听状态
start lstr(listnerName); 启动监听
stop lstr(listnerName); 停止监听
4、查看队列深度
runmqsc
dis q(*);查看所有各类队列的属性
dis qlocal(QName);查看所有本地队列的属性
队列深度属性为:CURDEPTH
查看队列深度display ql('队列名') curdepth
*清空队列深度
清空队列深度
clear ql(‘队列名’)
三、MQ发送和接收消息
su mqm
发送消息
amqsput 队列名 队列管理器
获取消息
amqsget 队列名 队列管理器
可通过配合查看队列深度命令,完成mq的联调
六、其他维护中常用linux命令
1、测试端口连接
telnet ip port
2、查看已启动的端口
netstat -an | grep 端口号
3、查看应用进程
ps -ef |grep java
4、修改权限
chomd XXX(对应的权限) 文件目录
5、修改文件或目录下所有文件所有者和组
Chomd -R 用户名:组名 文件目录
6、查看目录内容
ls 或者ls -l (简写ll)
7、查看文件输出
cat 目录/文件名
或者
Vi 目录/文件名 按i可进入编辑
按 G 到文档末尾
按 gg 到文件首行
不保存退出
Esc :q!
保存退出
Esc :wq
vi 进入文档文档后查找关键字
Esc 进入命令行
/关键字
按n向下继续查找
按N向上继续查找
8、杀进程
Kill -9 进程号
9、复制
cp -r 源目录 目标目录
10、移动
mv -i 源文件或目录 目标文件或目录
11、删除
rm -R 文件目录
12、 切换工作目录
cd 相对路径或绝对路径
~也表示为 home 目录 的意思, . 则是表示目前所在的目录, .. 则表示目前目录位置的上一层目录。
1,就是你在安装这个软件以后,这个软件就自己带有一个卸载的程序,你只要点击:开始---程序---找到这个程序----上面就会有这个程序的卸载程序。
2,就是通过“添加与删除”来卸载,这个程序一般的WINDOS,自己都会带这个程序,你点:开始--控制面板---添加与删除----找到这个要卸载的程序---点删除就OK了。
3,就是利用第三方软件。我用腾讯电脑管家举例(免费安全软件,杀毒+管理2合1)。打开腾讯电脑管家——工具箱——软件卸载。电脑管家是直接把软件卸载同时把注册列表也就清理了。(有的软件重启后会自动删除)卸载完之后,会有残留,在实行【强力卸载】
MQ 6.0
for linux安装与卸载
一、安装步骤:
Mq 的安装流程
安装前准备:将32位的mq安装程序和补丁文件上传到服务器
软件: C8472ML.WebSphere MQ for Linux (x86-32)
V6.0.tar.gz ----- mq的安装程序
6.0.2-WS-MQ-LinuxIA32-FP0003.ta ---mq的补丁文件
安装过程:
1、安装mq程序
解压 C8472ML.WebSphere MQ for Linux
(x86-32) V6.0.tar.gz 命令如下:
tar –zxvf
C8472ML.WebSphere MQ for Linux (x86-32) V6.0.tar.gz
然后执行下面命令
./mqlicense.sh -text_only 阅读全文后,
选择1接受授权,接下来按照顺序执行
rpm
-ivh MQSeriesRuntime-6.0.0-0.i386.rpm
rpm
-ivh MQSeriesSDK-6.0.0-0.i386.rpm
rpm
-ivh MQSeriesServer-6.0.0-0.i386.rpm
rpm
-ivh MQSeriesClient-6.0.0-0.i386.rpm
rpm
-ivh MQSeriesSamples-6.0.0-0.i386.rpm
rpm
-ivh MQSeriesJava-6.0.0-0.i386.rpm
rpm
-ivh MQSeriesMan-6.0.0-0.i386.rpm
rpm
-ivh MQSeriesMsg_es-6.0.0-0.i386.rpm
rpm
-ivh MQSeriesMsg_Zh_CN-6.0.0-0.i386.rpm
2、安装完成后还要安装补丁程序:
解压
6.0.2-WS-MQ-LinuxIA32-FP0003.tar,命令如下:
tar -xvf
6.0.2-WS-MQ-LinuxIA32-FP0003.tar 完成后依序执行
rpm
-ivh MQSeriesRuntime-U811634-6.0.2-3.i386.rpm
rpm
-ivh MQSeriesSDK-U811634-6.0.2-3.i386.rpm
rpm
-ivh MQSeriesServer-U811634-6.0.2-3.i386.rpm
rpm
-ivh MQSeriesClient-U811634-6.0.2-3.i386.rpm
rpm
-ivh MQSeriesSamples-U811634-6.0.2-3.i386.rpm
rpm
-ivh MQSeriesJava-U811634-6.0.2-3.i386.rpm
3、修改
/etc/group 文件:
vi group 将mqm:!:1000:mqm改为mqm:!:1000:mqm,root
二、安装完毕以后,验证安装是否成功:
按顺序执行以下步骤:
1. 用mqm帐号登录系统
2. 创建测试用队列管理器和队列
crtmqm -q
venus.queue.manager --创建缺省队列
strmqm
--后面不跟队列管理器的名称则启动缺省队列管理器
runmqsc
--后面不跟队列管理器的名称则进入缺省队列管理器的控制台
define qlocal (orange.queue)
end
3.
用测试程序向队列orange.queue发送消息
切换到/opt/mqm/samp/bin目录下
./amqsput
ORANGE.QUEUE --后面不跟队列管理器的名称则表示针对缺省队列管理器中的队列操作
屏幕输出“Sample AMQSPUT0
start target queue is ORANGE.QUEUE”,手工输入测试消息:this is a test,
//输入完毕,连续按两次回车键, 消息输入完毕。屏幕输出“Sample AMQSPUT0 end”表示成功发送消息。
4. 从队列中读取消息
切换到/opt/mqm/samp/bin目录下
./amqsget
ORANGE.QUEUE --后面不跟队列管理器的名称则表示针对缺省队列管理器中的队列操作
屏幕输出“Sample AMQSGET0
start message ”,停顿数秒屏幕继续输出“no more messages
Sample AMQSGET0
end”,读取消息成功。
三、卸载
1. 用root帐号登录系统
2.
停止所有队列管理器
查看正在运行的队列管理器
dspmq
停止所有跟队列管理器相关的监听程序,注意:QueueManagerName是队列队列管理器名称,具体名称用命令dspmq查询
endmqlsr
-m QueueManagerName
停止所有正在运行的队列管理器
endmqm
QueueManagerName
确认所有跟MQ有关的进程都已经停止
ps -ef | grep mq
3.
删除安装包
查看安装了那些相关的包
rpm -q -a | grep
MQSeries
一次性删除所有安装的包,以下命令只是一个示例,命令后面的包名称是命令“rpm -q -a | grep MQSeries”
--查询所得的所有包名称,包名之间用空格分隔,
rpm -ev MQSeriesRuntime-U811634-6.0.2-3
MQSeriesSDK-6.0.0-0 MQSeriesJava-U811634-6.0.2-3 MQSeriesMan-6.0.0-0
MQSeriesServer-U811634-6.0.2-3 MQSeriesClient-6.0.0-0
MQSeriesClient-U811634-6.0.2-3 MQSeriesMsg_Zh_CN-6.0.0-0 MQSeriesSamples-6.0.0-0
MQSeriesRuntime-6.0.0-0 MQSeriesSamples-U811634-6.0.2-3 MQSeriesJava-6.0.0-0
MQSeriesSDK-U811634-6.0.2-3 MQSeriesServer-6.0.0-0
MQSeriesMsg_es-6.0.0-0