用于 Managed File Transfer 的单队列管理器拓扑
步骤 1.1 单队列管理器拓扑
您应该已阅读过此链接中提供的信息。 我们将使用单个 MQ on Cloud 队列管理器,并将其配置为协调队列管理器、命令队列管理器和代理队列管理器。
配置详细信息:
我们将使用一个 MQ on Cloud 队列管理器,并将其命名为 QM_COORD。 在所有系统上,使用的都是具有管理特权的概要文件。
- QM_COORD 队列管理器:充当协调队列管理器、命令队列管理器、源代理队列管理器和目标代理队列管理器。
- SRC_AGENT:连接到 QM_COORD 队列管理器的源代理。
- DEST_AGENT:连接到 QM_COORD 队列管理器的目标代理。
先决条件:
您应该已经有一个 MQ on Cloud 队列管理器在运行:
-
创建新的 MQ on Cloud 队列管理器,并将其命名为 QM_COORD。 然后,下载“连接详细信息”(将此文件另存为 coordinationQMgrConnectionDetails.json)并存储私钥 API 密钥。 遵循相同的步骤 (如 PreRequisites 步骤 2 中所建议)。
-
执行以下记录的步骤以将 QM_COORD 配置为协调队列管理器、命令队列管理器和代理队列管理器。
-
创建文件传输
设置协调队列管理器
在此部分中,您将设置正在 IBM Cloud 中运行的协调队列管理器。 在配置协调队列管理器的过程中,将在该队列管理器中创建多个 MQ 资源,如队列、通道和主题。 此队列管理器会广播审计和文件传输信息。
-
切换到先前设置的管理终端。
-
运行以下命令
fteSetupCoordination -coordinationQMgr <queueManagerName> -coordinationQMgrHost <queueManagerHostname> -coordinationQMgrPort <queueManagerPort> -coordinationQMgrChannel <queueManagerChannel> -credentialsFile <filePath> -default -f
<queueManagerName>
-这是文件 coordinationQMgrConnectionDetails.json 中的 "queueManagerName"<queueManagerHostname>
-这是文件 coordinationQMgrConnectionDetails.json 中的 "hostname"<queueManagerPort>
-这是文件 coordinationQMgrConnectionDetails.json 中的 "listenerPort"<queueManagerChannel>
-这是文件 coordinationQMgrConnectionDetails.json 中的 "adminChannelName"<filePath>
-这是凭证文件所在的 "filePath"- 例如 -
- Windows:
C:\Users\Administrator\MQMFTCredentials.xml
- Linux:
/home/usr/MQMFTCredentials.xml
有关更多详细信息,请参阅 附录 4
- Windows:
- 例如 -
-default
- 可选。 将缺省配置选项更新为与此命令中指定的协调队列管理器相关联的选项-f
-可选。强制命令覆盖现有配置
- 例如 -
- for windows: fteSetup协调-coordinationQMgr QM_COORD-coordinationQMgrHost qm-coord-d8a2.qm.us-preprod.appdomain.cloud-coordinationQMgrPort 32246-coordinationQMgrChannel CLOUD.ADMIN.SVRCONN-credentialsFile "C:\Users\Administrator\MQMFTCredentials.xml" -default -f
- for linux: fteSetupCoordination-coordinationQMgr QM_COORD-coordinationQMgrHost qm-coord-d8a2.qm.us-preprod.appdomain.cloud-coordinationQMgrPort 32246-coordinationQMgrChannel CLOUD.ADMIN.SVRCONN-credentialsFile "/home/document/MQMFTCredentials.xml" -default -f
-
有关 fteSetupCoordination 的命令自变量的完整列表,请参阅以下链接:fteSetupCoordination KnowledgeCenter
-
运行
runmqsc
以连接到远程队列管理器runmqsc -c -u <ADMIN_MQ_USER> -w60 <QUEUE_MANAGER_NAME>
<ADMIN_MQ_USER>
-这是 coordinationQMgrConnectionDetails.json 文件中的 "mqUsername"<QUEUE_MANAGER_NAME>
-这是文件 coordinationQMgrConnectionDetails.json 中的 "queueManagerName"-c
使用 MQSERVER 变量通知 runmqsc 应该连接到远程队列管理器
- **例如 - ** runmqsc -c -u mamgainp -w60 QM_COORD
-
终端将提示您输入密码
- This is your <ADMIN_API_KEY> = 'apiKey' in the file platformApiKey.json
-
现在,终端在等待进行输入。 不要关闭此终端,因为还将使用此终端来创建 MQ 对象。
-
创建要用作协调队列管理器的队列管理器所需的 MQ 对象,此管理器将 MQ on Cloud 队列管理器设定为目标
- 在步骤 2 中运行 fteSetup协调时,将在位置
MQ_DATA_PATH\mqft\config\coordination_qmgr_name\<coordination_qmgr_name>.mqsc
创建 mqsc 文件。 将此文件的内容复制并粘贴到终端中。
- 在步骤 2 中运行 fteSetup协调时,将在位置
设置命令队列管理器
在此部分中,您将设置目标设定为 MQ on Cloud 队列管理器的命令队列管理器。 在配置命令队列管理器的过程中,必须执行以下命令:
- 切换到先前设置的管理终端。
- 运行以下命令
-
fteSetupCommands -connectionQMgr <queueManagerName> -connectionQMgrHost <queueManagerHostname> -connectionQMgrPort <queueManagerPort> -connectionQMgrChannel <queueManagerChannel> -credentialsFile <filePath> -p <configurationOptions> -f
<queueManagerName>
-这是文件 coordinationQMgrConnectionDetails.json 中的 "queueManagerName"<queueManagerHostname>
-这是文件 coordinationQMgrConnectionDetails.json 中的 "hostname"<queueManagerPort>
-这是文件 coordinationQMgrConnectionDetails.json 中的 "listenerPort"<queueManagerChannel>
-这是文件 coordinationQMgrConnectionDetails.json 中的 "adminChannelName"<filePath>
-这是凭证文件所在的 "filePath" 例如-C:\Users\Administrator\MQMFTCredentials.xml
请参阅 附录 4 以获取更多详细信息configurationOptions
- 根据约定,这是协调队列管理器的名称-f
-可选。强制命令覆盖现有配置
-
例如 - fteSetup命令-connectionQMgr QM_COORD-connectionQMgrHost qm-coord-d8a2.qm.us-preprod.appdomain.cloud-connectionQMgrPort 32246-connectionQMgrChannel CLOUD.ADMIN.SVRCONN-p QM_COORD -f
-
- 有关 fteSetupCommands 的命令自变量的完整列表,请参阅以下链接:fteSetupCommands KnowledgeCenter
设置代理队列管理器和代理
在此部分中,您将设置目标设定为 MQ on Cloud 队列管理器的代理队列管理器。 在配置代理队列管理器的过程中,应该执行以下命令。
配置步骤:
-
打开两个 admin_terminal,并将其命名为 Terminal 1 和 Terminal 2。
-
转至 Terminal 1 并创建 SRC_AGENT:
2.1. 在 Terminal 1 中,运行以下命令以创建 SRC_AGENT(源代理):
fteCreateAgent -agentName <agentName> -agentQMgr <agentQueueManager> -agentQMgrHost <agentQueueManagerHost> -agentQMgrPort <agentQueueManagerPort> -agentQMgrChannel <agentQueueManagerChannel> -p <configurationOptions> -f -credentialsFile <filePath>
agentName
- 必需。 要创建的代理的名称。agentQueueManager
- 必需。 代理的队列管理器的名称。这是 coordinationQMgrConnectionDetails.json 文件中的“queueManagerName”agentQueueManagerHost
-必需。这是文件 coordinationQMgrConnectionDetails.json 中的 "hostname"agentQueueManagerPort
-必需。这是文件 coordinationQMgrConnectionDetails.json 中的 "listenerPort"agentQueueManagerChannel
-必需。这是文件 coordinationQMgrConnectionDetails.json 中的 "adminChannelName"configurationOptions
- 根据约定,这是协调队列管理器的名称<filePath>
-这是凭证文件所在的 "filePath" 例如-- 在 Windows 中:
C:\Users\Administrator\MQMFTCredentials.xml
。有关更多详细信息,请参阅附录 4 - 在 linux 中 :
/home/document/MQMFTCredentials.xml
有关更多详细信息,请参阅 附录 4 -f
- 可选。 强制该命令覆盖现有配置。
- 例如 -
- 在 Windows 中- fteCreateAgent-agentName src_agent-agentQMgr QM_COORD-agentQMgrHost qm-coord-d8a2.qm.us-preprod.appdomain.cloud-agentQMgr端口 32246-agentQMgr通道 CLOUD.ADMIN.SVRCONN-p QM_COORD-credentialsFile "C:\Users\Administrator\MQMFTCredentials.xml" -f
- 在 linux 中- fteCreateAgent-agentName src_agent-agentQMgr QM_COORD-agentQMgrHost qm-coord-d8a2.qm.us-preprod.appdomain.cloud-agentQMgr端口 32246-agentQMgr通道 CLOUD.ADMIN.SVRCONN-p QM_COORD-credentialsFile "/home/document/MQMFTCredentials.xml" -f
2.2 运行
runmqsc
以连接到远程队列管理器runmqsc -c -u <ADMIN_MQ_USER> -w60 <QUEUE_MANAGER_NAME>
<ADMIN_MQ_USER>
-这是 coordinationQMgrConnectionDetails.json 文件中的 "mqUsername"<QUEUE_MANAGER_NAME>
-这是文件 coordinationQMgrConnectionDetails.json 中的 "queueManagerName"-c
使用 MQSERVER 变量通知 runmqsc 应该连接到远程队列管理器
- 例如 - runmqsc -c -u mamgainp -w60 QM_COORD
2.3 终端将提示您输入密码
- This is your <ADMIN_API_KEY> = 'apiKey' in the file platformApiKey.json
2.4 现在,终端在等待进行输入。
2.5 创建要用作代理队列管理器的队列管理器所需的 MQ 对象,此管理器将 MQOC 队列管理器设定为目标。
- mqsc 文件将在
MQ_DATA_PATH\mqft\config\coordination_qmgr_name\agents\agent_name\agent_name_create.mqsc
位置创建。 您应该将此文件的内容复制并粘贴到 Terminal 1 中。
2.6. 使用以下命令启动上面创建的代理:
fteStartAgent -p <configurationOptions> <agentName>
其中configurationOptions
- 根据约定,这是协调队列管理器的名称agentName
-必需。要启动的 IBM MQ Managed File Transfer 代理的名称。
- 例如 - fteStartAgent -p QM_COORD SRC_AGENT
-
转至 Terminal 2 以创建 DEST_AGENT:
3.1. 在 Terminal 2 中,运行以下命令以创建 DEST_AGENT(目标代理):
-
fteCreateAgent -agentName <agentName> -agentQMgr <agentQueueManager> -agentQMgrHost <agentQueueManagerHost> -agentQMgrPort <agentQueueManagerPort> -agentQMgrChannel <agentQueueManagerChannel> -p <configurationOptions> -f -credentialsFile <filePath>
agentName
- 必需。 要创建的代理的名称。agentQueueManager
- 必需。 代理的队列管理器的名称。这是 coordinationQMgrConnectionDetails.json 文件中的“queueManagerName”agentQueueManagerHost
-必需。这是文件 coordinationQMgrConnectionDetails.json 中的 "hostname"agentQueueManagerPort
-必需。这是文件 coordinationQMgrConnectionDetails.json 中的 "listenerPort"agentQueueManagerChannel
-必需。这是文件 coordinationQMgrConnectionDetails.json 中的 "adminChannelName"configurationOptions
- 根据约定,这是协调队列管理器的名称<filePath>
-这是凭证文件所在的 "filePath"。- 例如 -
- 在 Windows 中 -
C:\Users\Administrator\MQMFTCredentials.xml
- 在 Linux 中 -
/home/document/MQMFTCredentials.xml
- 在 Windows 中 -
- 例如 -
有关更多详细信息,请参阅附录 4
-f
- 可选。 强制该命令覆盖现有配置。
-
例如 -
- 在 Windows 中- fteCreateAgent-agentName dest_agent-agentQMgr QM_COORD-agentQMgrHost qm-coord-d8a2.qm.us-preprod.appdomain.cloud-agentQMgrPort 32246-agentQMgrChannel CLOUD.ADMIN.SVRCONN-p QM_COORD-credentialsFile "C:\Users\Administrator\MQMFTCredentials.xml" -f
- 在 linux 中- fteCreateAgent-agentName dest_agent-agentQMgr QM_COORD-agentQMgrHost qm-coord-d8a2.qm.us-preprod.appdomain.cloud-agentQMgr端口 32246-agentQMgr通道 CLOUD.ADMIN.SVRCONN-p QM_COORD-credentialsFile "/home/document/MQMFTCredentials.xml" -f
3.2. 运行
runmqsc
以连接到远程队列管理器runmqsc -c -u <ADMIN_MQ_USER> -w60 <QUEUE_MANAGER_NAME>
<ADMIN_MQ_USER>
-这是 coordinationQMgrConnectionDetails.json 文件中的 "mqUsername"<QUEUE_MANAGER_NAME>
-这是文件 coordinationQMgrConnectionDetails.json 中的 "queueManagerName"-c
使用 MQSERVER 变量通知 runmqsc 应该连接到远程队列管理器
- 例如 - runmqsc -c -u mamgainp -w60 QM_COORD
3.3. 终端将提示您输入密码
- This is your <ADMIN_API_KEY> = 'apiKey' in the file platformApiKey.json
3.4. 现在,终端在等待进行输入
3.5. 创建要用作代理队列管理器的队列管理器所需的 MQ 对象,此管理器将 MQ on Cloud 队列管理器设定为目标。
- mqsc 文件将在
MQ_DATA_PATH\mqft\config\coordination_qmgr_name\agents\agent_name\agent_name_create.mqsc
位置创建。 您应该将此文件的内容复制并粘贴到 Terminal 1 中。
3.6. 使用以下命令启动上面创建的代理
fteStartAgent -p <configurationOptions> <agentName>
其中configurationOptions
- 根据约定,这是协调队列管理器的名称agentName
-必需。要启动的 IBM MQ Managed File Transfer 代理的名称。
- 例如 - fteStartAgent -p QM_COORD DEST_AGENT
-
-
现在,新创建的两个代理都应该处于“活动/就绪”状态。 要检查其状态,请执行以下命令:
fteListAgents -p <configurationOptions>
configurationOptions
- 根据约定,这是协调队列管理器的名称
- 例如 - fteListAgents -p QM_COORD
现在,您已配置 IBM MQ Managed File Transfer 队列管理器来传输文件。
后续操作
转至步骤 2 以启动文件传输