nebula 版本:2.5.0
部署方式单机
是否为线上版本:Y
有几个问题请教大神:
1.最终生成SST文件数达到4000个,这个数量是通过哪几个值来决定数量的,是否可以通过减少SST文件数量减少ingest对meta的影响,或者分批次下载然后ingest?
2.执行SST导入目前需要下载HDFS的SST文件,有没有方法将SST导入时不执行下载?
Space:
CREATE SPACE IF NOT EXISTS gan_test17(partition_num=200, replica_factor=3, vid_type=fixed_string(60));
指定Spark分片数量:
partition: 50
spark-submit:
spark.sql.shuffle.partitions=20
Meta端异常信息:
E1102 14:17:42.171231 86140 Balancer.cpp:733] 21 partiton failed to transfer leader
E1102 14:17:42.171231 86140 Balancer.cpp:733] 21 partiton failed to transfer leader
大神好,针对上述场景还有两个问题需要请教:
1.当Nebula partition_num数比较大,且sql.shuffle.partitions数也较大,那么执行任务最终生成的SST文件就很大了,且下载数据,导入数据时间比较长,且出现Leader报错。
2.当我在客户端增量导入数据时,怎么通过shell命令知道当前space是哪个spaceid(通过如下命令?),否则增量download无法下载已有的重名SST文件。eg:/data1/apps/nebula/data/storage/nebula/3033/download。
/data1/apps/nebula/tools/nebula-console-linux-amd64-v2.5.0 -P 8069 -addr ip -u root -p pass -e "describe space gan_test24" |grep gan_test24 |awk -F"|" '{print $2}'|sed '/^$/d'
1.有可能有这种场景导致大而数量多。同一个space下patitions已经固定,而我们场景会有多个tag,每个tag情况可能不一样。
3.download操作前能否删除,因为这个导数极有可能有手动或者全自动化命令操作等混合处理模式。
谢谢大神答疑。
download 操作没有对应的配置来控制是否先清空, 你可以来这里提一个issue Issues · vesoft-inc/nebula · GitHub 描述下需求。
你可以用脚本控制下,每次下载前根据获取的space id 先把该space id 目录下的download删除。
更正一下 move_file 不是删除download 目录 而是将SST文件移动到data 目录下 默认操作时 copy的
2 个赞
好的,如果ingest失败 看来还是需要手动删除download目录?