本文介绍了 TiFlash 的命令行启动参数。
server --config-file
dttool migrate
迁移 DTFile 的文件格式 (用于测试和原地降级)。数据迁移的单位为单个 DTFile。如果想进行整表迁移,通常需要定位到所有形如 <data dir>/t_<table id>/stable/dmf_<file id>
的路径,逐一进行迁移。可以结合脚本来自动进行这一操作。
使用场景:
storage.format_version
>= 3) 的 TiFlash v5.4 及以上版本降级回以前的版本时,可以使用此工具完成数据格式降级。参数:
--imitative
:当不使用 DTFile 的加密功能时,可以使用本选项避免使用配置文件和连接 PD。--version
:DTFile 的版本,可选值为 1 和 2,默认为 2。1 为传统格式,2 为新版 checksum 对应的 DTFile 格式。--algorithm
:检验哈希算法,可选值为 xxh3,city128,crc32,crc64,none,默认为 xxh3,仅在 version=2 时有用。--frame
:校验帧大小,默认为 1048576,仅在 version=2 时有用。--compression
:目标压缩算法,可选值为 LZ4(默认)、LZ4HC、zstd 和 none。--level
:目标压缩等级,不指定则根据压缩算法默认使用推荐的压缩级别。如果 compression
设置为 LZ4
或 zstd
,则默认设置为 1;如果 compression
设置为 LZ4HC
,则默认设置为 9。--config-file
:dttool migrate 的配置文件应当与 server 模式下的配置文件保持一致;使用配置文件时,需要退出本地的 TiFlash 服务器实例。见 --imitative
选项。--file-id
:对应 DTFile 的 ID,如 dmf_123
对应的 ID 是 123。--workdir
:指向 dmf_xxx
的父级目录。--dry
:空跑模式,只输出迁移过程。--nokeep
:不保留原数据。不开启该选项时,会产生 dmf_xxx.old
文件。警告
虽然 TiFlash 可以读取自定义压缩算法和压缩等级的 DTFile,但目前正式支持的只有默认压缩等级的 LZ4 算法。自定义压缩参数并未经过大量测试,仅作实验。
注意
为保证安全 DTTool 在迁移模式下会尝试对工作目录进行加锁,因此同一工作目录下同一时间只能有一个 DTTool 执行迁移工作。如果您在中途强制停止 DTTool,可能会因锁未释放导致后面在运行 DTTool 时工具拒绝进行迁移工作。 如果您遇到这种情况,在保证安全的前提下,可以手动删除工作目录下的 LOCK 文件来释放锁。
dttool bench
--version
:DTFile 的版本,见 dttool migrate 对应参数。--algorithm
:检验哈希算法,见 dttool migrate 对应参数。--frame
:校验帧大小,见 dttool migrate 对应参数。--column
:测试表宽度,默认为 100。--size
:测试表长度,默认为 1000。--field
:测试表字段长度上限,默认为 1024。--random
:随机数种子。如未提供,该值从系统熵池抽取。--encryption
:启用加密功能。--repeat
:性能测试采样次数,默认为 5。--workdir
:临时数据文件夹,应指向需要测试的文件系统下的路径,默认为 /tmp/test。dttool inspect
检查 DTFile 的完整性。数据校验的单位为单个 DTFile。如果想进行整表校验,通常需要定位到所有形如 <data dir>/t_<table id>/stable/dmf_<file id>
的路径,逐一进行校验。可以结合脚本来自动进行这一操作。
使用场景:
参数:
--config-file
:dttool bench 的配置文件,见 dttool migrate 对应参数。--check
:进行哈希校验。--file-id
:对应 DTFile 的 ID,见 dttool migrate 对应参数。--imitative
:模拟数据库上下文,见 dttool migrate 对应参数。--workdir
:数据文件夹,见 dttool migrate 对应参数。