在一个Trafodion正常运行的环境中,通过sqps命令,我们可以查看到Trafodion主要的进程,以下输出是一个3个Trafodion节点的集群环境,
[trafodion@n12 esgynDB-2.2.0]$ sqps
Processing cluster.conf on local host n12
[$Z001GYK] Shell/shell Version 1.0.1 EsgynDB_Enterprise Release 2.2.0 (Build release [EsgynDB-2.2.0-0-ge85e9c1_Bld32], date 20161202_0201)
[$Z001GYK] %ps
[$Z001GYK] NID,PID(os) PRI TYPE STATES NAME PARENT PROGRAM
[$Z001GYK] ------------ --- ---- ------- ----------- ----------- ---------------
[$Z001GYK] 000,00051424 000 WDG ES--A-- $WDG000 NONE sqwatchdog
[$Z001GYK] 000,00051425 000 PSD ES--A-- $PSD000 NONE pstartd
[$Z001GYK] 000,00051443 001 GEN ES--A-- $TSID0 NONE idtmsrv
[$Z001GYK] 000,00051450 001 GEN ES--A-- $CMON NONE service_monitor
[$Z001GYK] 000,00051621 001 GEN ES--A-- $NMON0 NONE service_monitor
[$Z001GYK] 000,00051710 001 DTM ES--A-- $TM0 NONE tm
[$Z001GYK] 000,00054286 001 GEN ES--A-- $ZSC000 NONE mxsscp
[$Z001GYK] 000,00054344 001 SSMP ES--A-- $ZSM000 NONE mxssmp
[$Z001GYK] 000,00017427 001 GEN ES--A-- $Z000E7X NONE mxosrvr
[$Z001GYK] 000,00017439 001 GEN ES--A-- $Z000E89 NONE mxosrvr
[$Z001GYK] 000,00017452 001 GEN ES--A-- $Z000E8M NONE mxosrvr
[$Z001GYK] 000,00017547 001 GEN ES--A-- $Z000EBC NONE mxosrvr
[$Z001GYK] 000,00013513 001 GEN ES--A-- $Z000B13 NONE java
[$Z001GYK] 000,00063650 001 GEN ES--A-- $Z001GYK NONE shell
[$Z001GYK] 001,00058932 000 WDG ES--A-- $WDG001 NONE sqwatchdog
[$Z001GYK] 001,00058933 000 PSD ES--A-- $PSD001 NONE pstartd
[$Z001GYK] 001,00058944 001 GEN ES--A-- $NMON1 NONE service_monitor
[$Z001GYK] 001,00059548 001 DTM ES--A-- $TM1 NONE tm
[$Z001GYK] 001,00060802 001 GEN ES--A-- $ZSC001 NONE mxsscp
[$Z001GYK] 001,00060896 001 SSMP ES--A-- $ZSM001 NONE mxssmp
[$Z001GYK] 001,00047686 001 GEN ES--A-- $Z0113XG NONE mxosrvr
[$Z001GYK] 001,00047692 001 GEN ES--A-- $Z0113XM NONE mxosrvr
[$Z001GYK] 001,00047727 001 GEN ES--A-- $Z0113YM NONE mxosrvr
[$Z001GYK] 001,00047760 001 GEN ES--A-- $Z0113ZK NONE mxosrvr
[$Z001GYK] 002,00035630 000 PSD ES--A-- $PSD002 NONE pstartd
[$Z001GYK] 002,00035629 000 WDG ES--A-- $WDG002 NONE sqwatchdog
[$Z001GYK] 002,00035640 001 GEN ES--A-- $NMON2 NONE service_monitor
[$Z001GYK] 002,00036211 001 DTM ES--A-- $TM2 NONE tm
[$Z001GYK] 002,00037344 001 GEN ES--A-- $ZSC002 NONE mxsscp
[$Z001GYK] 002,00037469 001 SSMP ES--A-- $ZSM002 NONE mxssmp
[$Z001GYK] 002,00059799 001 GEN ES--A-- $Z021DTJ NONE mxosrvr
[$Z001GYK] 002,00059814 001 GEN ES--A-- $Z021DTZ NONE mxosrvr
[$Z001GYK] 002,00059911 001 GEN ES--A-- $Z021DWR NONE mxosrvr
[$Z001GYK] 002,00059878 001 GEN ES--A-- $Z021DVT NONE mxosrvr
通过以上输出,我们能看到有这样一些进程:sqwatchdog、pstartd、idtmsrv、service_monitor、tm等,这些进程分别有什么作用呢,下面这个表格可以帮助我们了解每个进程的含义及用途。
组件 | 进程名 | 分布 | 目的 |
---|---|---|---|
monitor | monitor | 每节点一个 | 提供一个模拟的由多个Hadoop节点构成的单一集群系统 |
sqwatchdog | $WDG[nnn] | 每节点一个 | Watchdog守护进程发现异常时会触发让一个虚拟节点下线的动作 |
mpirun | mpirun | 每个Trafodion实例一个 | 实现集群内部信息沟通的中间层 |
dtm | $TM[nn] | 每节点一个 | Trafodion分布式事务管理系统 |
tdm_arkesp | $<进程名> | 每节点按需分配 | SQL运行时进程 |
tdm_arkcmp | $<进程名> | 每节点按需分配 | SQL编译进程 |
mxlobsrvr | $ZLOBSRV[n] | 每节点一个 | 支持LOBs的基础架构进程 |
mxsscp | $ZSC[nnn] | 每节点一个 | SQL统计信息控制进程-响应SSMP获取查询统计信息的请求 |
mxssmp | $ZSM[nnn] | 每节点一个 | SQL统计信息合并进程-与单个SSCP进程交互并响应用户获取查询统计信息的请求 |
mxosrvr | $<进程名> | 每节点根据并行度可以多个 | Trafodion ODBC/JDBC客户端通过DcsMaster进程连接的另外一端 |
idtmsrv | $TDID0 | 每个Trafodion实例一个 | 为事务管理进程提供一个唯一的ID |
dcs | DcsMaster DcsServer | 一个实例一个Master,可以有多个备份Masters, DcsServer每节点一个 | Master监听客户端连接请求,并监控所有DcsServer实例,任何一个DcsServer所以失败并负责重启。DcsServer启动并保持mxosrvr进程运行 |