linux下启动mq命令的简单介绍

linux安装mq7.5

linux安装mq7.5

在苍梧等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、成都做网站 网站设计制作定制开发,公司网站建设,企业网站建设,成都品牌网站建设,成都营销网站建设,成都外贸网站制作,苍梧网站建设费用合理。

1.上传介质

WS_MQ_LINUX_ON_X86_64_7.5.0.2_IMG.tar.gz

2.安装MQ

tar  -zvxf  WS_MQ_LINUX_ON_X86_64_7.5.0.2_IMG.tar.gz

3.以 root 用户身份登录,执行mqlicense.sh

加载MQ的liscense

./mqlicense.sh -accept

4.安装系统上的软件包

rpm -ivh ./*.rpm

su mqm -c "/opt/mqm/bin/mqconfig"

5.修改系统内核

vim /etc/sysctl.conf

kernel.sem = 500 256000 250 1024

net.ipv4.tcp_keepalive_time = 300

fs.file-max = 524288

生效sysctl -p

修改后两个fail

vim /etc/security/limits.conf

添加两行

mqm              hard  nofile    10240

mqm              soft  nofile    10240

6.修改mqm用户

MQ安装完毕后,自动创建mqm的用户和组,mqm用户为系统用户,但是该用户没有默认的shell,需要通过usermod -s /bin/bash mqm命令将mqm用户的shell修改为bash,这样就可以使用mqm用户了。

usermod -s /bin/bash mqm

设置mqm用户密码

通过passwd mqm命令,设置密码

7.修改环境变量

由于mq默认安装在/opt/mqm目录,所以安装完成后会找不到mq相关命令,需要配置环境变量才能找到

vim /etc/profile    #添加下面一行

PATH=/opt/mqm/bin:/opt/mqm/samp/bin/:$PATH

立即生效

. /etc/profile

8.建立队列管理器

登录mqm用户

su - mqm

创建本地队列管理器QE

crtmqm -q QE

启动队列管理器:

strmqm QM_001_000000

查看mq状态

dspmq

linux下安装MQ mqlisence.sh-accept这个命令执行不了怎么办?

如果MQ的安装包是ISO,所以需要将ISO文件mount到Linux的一个目录下面,具体操作如下:

假如选定的mount目录为根目录下mnt/下面,或者下面新建一个目录可以mkdir一个目录。在此是直接放在mnt目录下面的:

ISO文件放在/home/afe/MQinstall/下面,名字为MQ_6.0_Linux_x86-64.iso 那么可以用命令:

mount -o loop /home/afe/MQinstall/MQ_6.0_Linux_x86-64.iso /mnt/cd1

这个时候,ISO文件中的rpm文件都出现在了/mnt下面。

备注:使用mount需要root权限。

如果你的安装包是.tar.gz文件,那就可以省略以上一个步骤:直接解压

tar -zxvf MQ_6.0_Linux_x86-64.tar.gz

接下来步骤如下:

1:创建WebSphere MQ 必需的文件系统,命令如下:

mkdir /opt/mqm # for product code

mkdir /var/mqm # for working data

MQ安装时候默认的目录就是这两个,意思可以没必要建,但是为了保险还是自己手工建立一下。

2:创造MQ用户和用户组,命令如下:

groupadd mqm

useradd -d /var/mqm -g mqm -G mqm mqm

passwd mqm # change password to "password"

只有把mqm密码改了,才能使以上生效。

3:为mqm用户组添加root组

cd /etc

vi group

修改 mqm:!:1007:mqm ? mqm:!:1007:mqm,root

这里的gid要依据各个系统的建立用户设定而为。此处是1007

4:调整系统参数(视需要而定)

修改最大共享内存,命令如下:

cat /proc/sys/kernel/shmmax

echo 268435456 /proc/sys/kernel/shmmax

修改最大文件句柄,命令如下:

cat /proc/sys/fs/file-max

echo 32768 /proc/sys/fs/file-max

如果自己系统比这个大,没必要改。

5:转到WebSphere MQ解压后的目录中,获得WebSphere MQ授权,命令如下:

./mqlicense.sh -text_only

阅读全文后,选择1接受授权。

6:安装WebSphere MQ客户端和服务端,命令如下:

rpm -ivh MQSeriesRuntime-6.0.0-0.i386.rpm

rpm -ivh MQSeriesSDK-6.0.0-0.i386.rpm

rpm -ivh MQSeriesJava-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 MQSeriesServer-6.0.0-0.i386.rpm(如果只装客户端,这个没必要安装)

7:安装校验

rpm -qa | grep MQSeries

结果如下则表明MQ 客户端的安装已成功。

MQSeriesRuntime-6.0.0-0

MQSeriesSDK-6.0.0-0

MQSeriesJava-6.0.0-0

MQSeriesClient-6.0.0-0

MQSeriesSamples-6.0.0-0

MQSeriesServer-6.0.0-0(只装客户端,是没有这一项的)

到这里MQ就已经安装完成了。

验证安装

1、mqm用户登录

创建队列venus.queue.manager

crtmqm -q venus.queue.manager

启动队列管理器

strmqm

启用MQSC命令

runmqsc

进入环境后,定义名为ORANGE.QUEUE的本地队列

define qlocal (orange.queue)

end (停止MQSC)

转到/opt/mqm/samp/bin目录下,使用amqsput样本程序来将消息放入队列,以且使用amqsget样本程序来从队列取回消息

dspmq 命令可显示MQM队列状态

./amqsput ORANGE.QUEUE

(注意,队列名称为大写 否则会找不到队列,报错MQOPEN ended with reason code 2085)

输入一行文字,然后以空行结束,退出

./amqsget ORANGE.QUEUE

可显示刚才放入队列的消息,成功提示即证明完成。

MQ的基本操作

创建队列管理器

crtmqm –q QMgrName

-q是指创建缺省的队列管理器

删除队列管理器

dltmqm QmgrName

启动队列管理器

strmqm QmgrName

如果是启动默认的队列管理器,可以不带其名字

停止队列管理器

endmqm QmgrName 受控停止

endmqm –i QmgrName 立即停止

endmqm –p QmgrName 强制停止

显示队列管理器

dspmq –m QmgrName

运行MQ命令

runmqsc QmgrName

如果是默认队列管理器,可以不带其名字

往队列中放消息

amqsput QName QmgrName

如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字

从队列中取出消息

amqsget QName QmgrName

如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字

启动通道

runmqchl –c ChlName –m QmgrName

服务器通道不用启动

启动侦听

runmqlsr –t TYPE –p PORT –m QMgrName

停止侦听

endmqlsr -m QmgrName

下面是在MQ环境中可以执行的MQ命令(即在runmqsc环境下可以敲的命令)

定义持久信队列

DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE

设定队列管理器的持久信队列

ALTER QMGR DEADQ(QNAME)

定义本地队列

DEFINE QL(QNAME) REPLACE

定义别名队列

DEFINE QALIAS(QALIASNAME) TARGQ(QNAME)

远程队列定义

DEFINE QREMOTE(QRNAME) +

RNAME(AAA) RQMNAME(QMGRNAME) +

XMITQ(QTNAME)

定义模型队列

DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN)

定义本地传输队列

DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) +

INITQ(SYSTEM.CHANNEL.INITQ)+

PROCESS(PROCESSNAME) REPLACE

创建进程定义

DEFINE PROCESS(PRONAME) +

DESCR(‘STRING’)+

APPLTYPE(WINDOWSNT)+

APPLICID(’ runmqchl -c SDR_TEST -m QM_ TEST’)

其中APPLTYPE的值可以是:CICS、UNIX、WINDOWS、WINDOWSNT等

创建发送方通道

DEFINE CHANNEL(SDRNAME) CHLTYPE(SDR)+

CONNAME(‘100.100.100.215(1418)’) XMITQ(QTNAME) REPLACE

其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。

创建接收方通道

DEFINE CHANNEL(SDR_ TEST) CHLTYPE(RCVR) REPLACE

创建服务器连接通道

DEFINE CHANNEL(SVRCONNNAME) CHLTYPE(SVRCONN) REPLACE

显示队列的所有属性

DISPLAY QUEUE(QNAME) [ALL]

显示队列的所选属性

DISPLAY QUEUE(QNAME) DESCR GET PUT

DISPLAY QUEUE(QNAME)MAXDEPTH CURDEPTH

显示队列管理器的所有属性

DISPLAY QMGR [ALL]

显示进程定义

DISPLAY PROCESS(PRONAME)

更改属性

ALTER QMGR DESCR(‘NEW DESCRIPTION’)

ALTER QLOCAL(QNAME) PUT(DISABLED)

ALTER QALIAS(QNAME) TARGQ(TARGQNAME)

删除队列

DELETE QLOCAL(QNAME)

DELETE QREMOTE(QRNAME)

清除队列中的所有消息

CLEAR QLOCAL(QNAME)

查看CCSID

DISPLAY QMGR CCSID

修改CCSID为1381

ALTER QMGR CCSID(1381)

以下是一些高级配置的命令:

amqmcert 配置SSL证书

amqmdain 配置windows上的MQ服务

crtmqcvx 转换数据

dmpmqaut 转储对象权限管理

dmpmqlog 转储日志管理

dspmq 显示队列管理器

dspmqaut 显示打开对象的权限

dmpmqcap 显示处理程序容量和处理程序数

dspmqcsv 显示命令服务器状态

dspmqfls 显示文件名

dspmqtrc 跟踪MQ输出(HP-UNIX LINUX Solaris)

dspmqrtn 显示事务的详细信息

endmqcsv 停止队列管理器上的命令服务器

strmqcsv 启动队列管理器上的命令服务器

endmqtrc 停止跟踪

rcdmqimg 向日志写对象的映像

rcmqobj 根据日志中的映像重新创建一个对象

rsvmqtrn 提交或逆序恢复事务

linux启动app命令

linux启动app命令:做 Linux 嵌入式开发,经常会遇到要设置自己的应用程序在系统开机的时候自动启动,并且一般情况我们不想安装一些额外的软件去实现此种需求。那么直接根据当前系统自带的默认的一些工具实现用户软件的开机自启动。

  本次测验的系统环境为 Ubuntu 16.04 LTS,测试内容均得到正确的验证,如果其他环境出现不一致的现象,请查阅相关的差异。

  比如先要实现下面的应用程序的开机自启动(实现的代码最下面给出,有需要的可以查看):

1. 应用程序的名称:app.bin

2. 应用程序的保存路径:/home/ubuntu/app/ 下

3. 应用程序的工作路径:/home/ubuntu/app/ 下

linux系统如何启动mq

开篇之前奉上几条黄金链接:

MQ参考文档

MQ下载地址:

安装的MQ软件包为WMQv600Trial-x86_linux_2.tar.gz. 将WMQv600Trial-x86_linux_2.tar.gz解压至某一目录。

(1)执行接受许可脚本: ./mqlicense.sh –accept 这个脚本是要安装WebSphere MQ 软件包的MQ许可程序. 至关重要,这个脚本没有正确配置的话将导致MQ安装失败.–accept是不启动图形直接接受许可。

(2) 安装 WebSphere MQ for Linux 服务器:

[root@localhost mq]# rpm-ivh MQSeriesRuntime-6.0.0-0.i386.rpm

[root@localhost mq]# rpm-ivh MQSeriesSDK-6.0.0-0.i386.rpm

[root@localhost mq]# rpm-ivh MQSeriesServer-6.0.0-0.i386.rpm

注:安装完成后,相关文件会被自动安装在/opt/mqm下,在安装

MQSeriesRuntime-6.0.0-0.i386.rpm时候,安装程序为系统自动创建了一个mqm用户和mqm组,安装完毕后,需要使用该用户来进行MQ的配置。

(3) 安装 WebSphere MQ for Linux 客户端:

[root@localhost mq]# rpm-ivh MQSeriesClient-6.0.0-0.i386.rpm

(4) 安装 WebSphere MQ 样本程序(其中包括amqsput、amqsget、amqsgbr和amqsbcg等)

[root@localhost mq]# rpm-ivh MQSeriesSamples-6.0.0-0.i386.rpm 样本程序安装在/opt/mqm/samp/bin 中。

(5)安装MQ其他软件包

[root@localhost mq]# rpm-ivh MQSeriesMan-6.0.0-0.i386.rpm

[root@localhost mq]# rpm-ivh MQSeriesJava-6.0.0-0.i386.rpm

[root@localhost mq]# rpm-ivh IBMJava2-SDK-1.4.2-0.0.i386.rpm

上面最后一步安装的是JDK运行环境,如果已经有相同或更高版本的JDK,不需要再安装。 (6) 安装过程创建了一个名为mqm 的用户和一个同样名为mqm 的组,此时,新用户是被锁定的,必须设置一个密码来解锁,这样才能正常使用该用户。用passwd 命令:

[root@localhost mq]# passwd mqm 以上操作均在root用户下操作,至此MQ6.0安装结束。MQ的配置相关命令操作均在mqm用户下。

注意:

如果执行crtmqm命令时提示

-bash-3.2$ crtmqm

-bash: crtmqm: command not found

则需要配置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$ . .bash_profile

3)再次尝试实行crtmqm或是dspmqm命令,即可发现已经生效。

第二种方法:

1、su root

2、vim /etc/profile

3、在最后面加上:PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin

4、关闭远程终端重新打开,无需重启服务器

5、ok了!!

了解更多开源相关,去LUPA社区看看吧。


当前文章:linux下启动mq命令的简单介绍
网站网址:http://ybzwz.com/article/dddphhp.html