第6.1章:StarRocks tablet巡检工具(拓展篇)

规范使用StarRocks非常重要的一个环节就是合理分桶,在集群中数据量非常大时,不恰当的分桶带来的负面影响尤为明显。比如,分桶过多会导致BE元数据占用内存过高且影响查询效率,分桶过少可能会引起Compaction压力过大、影响查询并行度,甚至某些情况下还会导致查询报错。

在当前设计下,衡量分桶是否规范的唯一标准就是数据量,将每个tablet的数据量控制在100M-1G左右(2.4及以后版本,每个分桶的数据量建议控制在压缩前10G左右),是比较推荐的。这里说的数据量是指压缩后的数据量,StarRocks是列存,使用LZ4压缩,压缩率根据数据类型和数据情况的不同可能有2-8倍不等。

当集群中数据库和数据表都比较多时,使用show data或者show tablet语句来巡检就不那么方便了。这里就给大家提供一个巡检工具(点前面蓝色字体下载分享中的:starrocks-tablet-tool.tar.gz),可以用来统计集群中的表大小、replica个数(tablet数*副本数)、表tablet体积最大、最小、平均值以及标准差,也能方便我们定位是否有数据倾斜问题。此外,工具也支持将统计的结果导出为标准的CSV文件,方便我们后续使用Excel等工具再进行分析。

1、工具用途
统计和导出StarRocks集群中的Tablet体积信息,方便DBA评估OLAP数据表分桶是否合理。
工具使用Java语言编写,运行前请确认当前系统具备JAVA运行环境。

2、使用语法

java -jar starrocks-tablet-tool.jar 参数1 参数2

参数1:配置文件路径及名称。默认为当前路径下的config.properties,默认情况下可以省略;
参数2:需要生成的csv文件路径及文件名。参数2不写时不会生成文件,只写文件名不写路径时默认在当前路径生成。当需要生成文件时,参数1不能省略,并且参数2需以.csv结尾。

3、用法示例

[root@node01 ~]# java -jar starrocks-tablet-tool.jar config.properties demo.csv

4、配置文件说明
config.properties中需提前配置StarRocks的集群信息,包括:

host=127.0.0.1:9030      //集群中任意一个FE的IP和查询端口
username=root            //StarRocks用户名
password=                //StarRocks密码
database=tpcds_1t        //数据库名称,支持配置单个数据库或以英文逗号分割的多个数据库以及留空,当为空时将扫描所有数据库
tablename=ship_mode,item //表名称,当为空时将扫描数据库下所有表,配置多个表时需以英文逗号分隔

你可能感兴趣的:(StarRocks,数据库,大数据,DBA,运维)