# 大数据集数据准备
以aws
的开源大数据仓库为基础数据,下载完成后使用filedrive-team
开源的go-graphsplit (opens new window)
进行切割成指定大小的piece
文件 (建议切成 16-32G),移动到venus-cluster
和venus-maket
共用的pieceStore
路径下。
# 下载大数据集
由于下载的目标数据集过于庞大,建议存放在存储服务器上,分批下载数据集;需要使用 aws 工具进行下载
1、下载 aws 命令行工具 centos 系统:
$ yum install -y awscli
ubuntu 系统:
$ apt install -y awscli
2、查看数据集大小,并下载文件
$ aws s3 ls s3://stpubdata/tess/public/ffi/s0006/2018 --recursive --human-readable --summarize --no-sign-request
Total Objects: 23568
Total Size: 1.2 TiB
开始下载文件到/mnt/nas/venus-data
目录下:
$ nohup aws s3 sync s3://stpubdata/tess/public/ffi/s0006/2018 /mnt/nas/venus-data/tess/public/ffi/s0006/2018 --no-sign-request > download.log 2>&1 &
下载速度根据用户自身的机房出口网络情况而定
# 大数据的选择
https://github.com/awslabs/open-data-registry/tree/main/datasets
里面包含aws
所有开源的大数据集,请与LDN申请人
确认所下载的大数据是否符合LDN
申请的数据类型。
例如:开普勒的光度测量数据,可以看到github上open-data-registry
仓库下有一个k2.yaml
的文件;
只需在aws
仓库后跟上大数据集名称,就可以在浏览器上得到下载的地址...
https://registry.opendata.aws/k2/
# go-graphsplit
编译go-graphsplit
用于切piece
工具
git clone https://github.com/filedrive-team/go-graphsplit.git
cd go-graphsplit
# get submodules
git submodule update --init --recursive
# build filecoin-ffi
make ffi
make
# 切 piece
在piece
过程中,通过TMPDIR
变量来指定切过程中临时文件存放的路径,默认是在/tmp
目录下,如果使用普通的系统盘做为临时数据目录,可能会因为系统盘的 IO 不足,导致进程报出Bus error错误后异常退出。
$ TMPDIR=/mnt/nvme01 /root/graphsplit chunk \
--car-dir=/mnt/nas/venus-data/16g-pice-data \
--slice-size=17179869184 \
--parallel=1 \
--graph-name=gs-test \
--calc-commp \
--rename \
--parent-path=/mnt/nas/venus-data/tess/ \
/mnt/nas/venus-data/tess/ >> /root/nas-nas-para15-30.log 2>&1 &
提示
--car-dir
: 指定切割完成后CAR
文件存储的路径;
--slice-size
: 指定切割后输出的的piece
文件大小,以byte
为基础单位;1024 * 1024 * 1024 = 1073741824 这个就表示是1G
的piece
文件,推荐大小为 16G
(17179869184
) 或 32G
(34359738368
);
--parallel
: 指定并发的数量,值越大消耗的 CPU 和内存会越高;
--calc-commp
: 计算commp
的值;
--rename
: 将CAR
文件自动转换成 piece 文件;
在切割完成后,在--car-dir
指定的目录下会有很多 pice 文件和一个manifest.csv
文件;
把piece
文件移到venus-market
和venus-sector-manager
共享的pieceStore
路径下。
提示
manifest.csv
包含了发单的必要信息。
提示
期望 DataCap 订单的生命周期,默认是生命周期是 530 天,订单需要在 7 天内封装完成PreCommitSector
消息上链,不然 DataCap 订单会直接过期。
# Venus 体系接收订单
# venus-market 查看收到订单状态
当订单的状态为undefine
,就表示此订单等待venus-sector-manager
将订单转换成扇区id
venus-market storage-deals list
/root/.venusmarket
ProposalCid DealId State PieceState Client Provider Size Price Duration
...hbgguc6a 172163 StorageDealWait Undefind t1yusfltophrl3z5zgemgr3pwgg3nzdjbjky t0xxxx 16GiB 0 FIL 1059840
...t2wycjiq 172164 StorageDealWait Undefind t1yusfltophrl3z5zgemgr3pwgg3nzdjbjky t0xxxx 16GiB 0 FIL 1059840
...5tkvirfe 172165 StorageDealWait Undefind t1yusfltophrl3z5zgemgr3pwgg3nzdjbjky t0xxxx 16GiB 0 FIL 1059840
...btsawgt2 172166 StorageDealWait Undefind t1yusfltophrl3z5zgemgr3pwgg3nzdjbjky t0xxxx 16GiB 0 FIL 1059840
...feczgggg 172167 StorageDealWait Undefind t1yusfltophrl3z5zgemgr3pwgg3nzdjbjky t0xxxx 16GiB 0 FIL 1059840
# venus-sector-manager 配置注意事项
确认配置文件.venus-sector-manager/sector-manager.cfg
中的Enabled 和 EnableDeals的值都为true,表示开启封装算力和开启接入封装订单任务。
[Miners.Sector]
InitNumber = 1000
MaxNumber = 1000000
Enabled = true
EnableDeals = true
LifetimeDays = 210
venus-worker
需要在连接venus-sector-manager
时需要携带token
,才可以获取到Piece
数据
[sector_manager]
# 构造 rpc 客户端时使用的连接地址,必填项,字符串类型
rpc_client.addr = "/ip4/192.168.100.1/tcp/1789"
rpc_client.headers = { User-Agent = "jsonrpc-core-client" }
piece_token = "eyJhbGciOiJIUzxxxxxxxx.eyJuYW1lIjoibGpoOG1xxx.gY3ymGxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
[[sealing_thread]]
sealing.enable_deals = true
sealing.max_retries = 5
← droplet 配置 迁移离线订单 →