dmhs部署可参考官方文档:
https://eco.dameng.com/community/post/20221221162103LX655O1WTFKL93HLZ5
如果dmhs需要同步的数据过大且包含大字段,直接通过copy初始化可能需要数天才能完成。
可以通过dmrman物理备份数据库并同步到dmhs两个节点,然后再采集端执行:
COPY 0 "SCH.NAME='V3XUSER'" DICT
即可快速完成dmhs的初始化。
如果执行段启动exec报错:
lib libdmhs_exec.so can not found,error code 0, libdmoci.so: cannot open shared object file: No such file or directory
则需要将 libdmoci.so放到dmhs的bin目录。
cd /opt/dmhs/
cp ./bin/stat/libdmoci.so ./bin/
如果执行端遇到如下报错:
2023-10-19 14:41:57 EXE[ERROR]: SITEID:1 V3XUSER.JK_SCHEDULER_STATE(UPDATE): affect the number of rows (0) and the expected number of rows (1)! SEQID:10681224097 TRXID:5063332283 OP_ID:4
2023-10-19 14:41:57 EXE[ERROR]: SITEID:1 V3XUSER.JK_SCHEDULER_STATE(UPDATE) sync failed, fill rows 1, SEQID:10681224097 TRXID:5063332283 OP_ID:4
2023-10-19 14:41:57 EXE[WARN]: Transactions execution error, canceling and re execute...
2023-10-19 14:41:57 EXE[INFO]: DDL:SITEID:1 SEQID:10681226561 TRXID:445406056833092 V3XUSER.ZZZZ CREATE
2023-10-19 14:41:57 EXE[ERROR]: SITEID:1 V3XUSER.JK_SCHEDULER_STATE(UPDATE): affect the number of rows (0) and the expected number of rows (1)! SEQID:10681224087 TRXID:5063332282 OP_ID:4
2023-10-19 14:41:57 EXE[ERROR]: SITEID:1 V3XUSER.JK_SCHEDULER_STATE(UPDATE) sync failed, fill rows 1, SEQID:10681224087 TRXID:5063332282 OP_ID:4
2023-10-19 14:41:57 EXE[ERROR]: save error trx, SITEID:1 SEQID:10681224087 TRXID:5063332282 OP_ID:4(V3XUSER.JK_SCHEDULER_STATE)
2023-10-19 14:41:57 EXE[INFO]: siteid: 1, table (V3XUSER.CTP_USER_HISTORY_MESSAGE) start SEQID:0
2023-10-19 14:41:57 EXE[INFO]: siteid: 1, table (V3XUSER.ZZZZ) start SEQID:0
2023-10-19 14:41:57 EXE[INFO]: siteid: 1, table (V3XUSER.CTP_USER_MESSAGE) start SEQID:0
2023-10-19 14:41:57 PUB[ERROR]: exec transaction failed, DMHS exit
从报错可以看出是V3XUSER.JK_SCHEDULER_STATE这张表数据不同步了,可以用下面的方法解决:
在采集端执行:
stop cpt
COPY 0 "SCH.NAME='V3XUSER' AND TAB.NAME='JK_SCHEDULER_STATE'" TRUNCATE|INSERT|THREAD|8
start cpt
重新启动执行端exec,故障解除。
如果出现如下错误:
2023-10-19 14:36:15 CPT[INFO]: DM8 log format is RLOG_PKG, arch: /opt/dmdbms/arch/ARCHIVE_LOCAL1_0x320D63E6[0]_2023-10-19_14-16-46.log, db_magic: 839738342 - 839738342
2023-10-19 14:36:15 CPT[ERROR]: Database Magic is not consistent(839738342:866064215), maybe DB is restored or changed, please check connected DB or reload dictionary using CLEAR mask and delete checked file: dmhs_1_0.ini
2023-10-19 14:36:15 CPT[INFO]: DM8 CPT is free.
2023-10-19 14:36:15 MGR[ERROR]: initial log analysis module failure
2023-10-19 14:36:15 MGR[ERROR]: unable to start capture, ID no: 1
只需要删除采集端dmhs的bin目录中的dmhs_1_0.ini文件就可以了。
如果遇到错误如下:
2023-10-19 14:28:40 CPT[ERROR]: DDL_MASK is not empty, but some DDL auxiliary table is missed, please rebuild it or set DDL_MASK = 0.
2023-10-19 14:28:40 CPT[INFO]: DM8 CPT is free.
2023-10-19 14:28:40 MGR[ERROR]: initial log analysis module failure
2023-10-19 14:28:40 MGR[ERROR]: unable to start capture, ID no: 1
则是需要在采集端重新执行如下脚本:
/opt/dmhs/scripts/ddl_sql_dm8.sql
路径可能不通,搜索文件名即可。
如果遇到如下错误:
2023-10-19 14:25:51 CPT[ERROR]: DDL_MASK is not empty, but some DDL auxiliary table is missed, please rebuild it or set DDL_MASK = 0.
则是需要重新初始化:
COPY 0 "SCH.NAME='V3XUSER'" DICT
故障解除。