Filecoin周报 - 35期:Testnet/3基本版运行或将在本周出台

Filecoin测试网进展与矿工动态
Filecoin测试网持续稳定运行,算力突破3.1PiB,活跃矿工超130个,部分矿工算力超100T。Testnet/3即将启动,可能带来重大变化。上周团队忙于IPFS活动,代码改动不大,但对软件包进行了完善。

Filecoin是一个将云存储转变为一个算法市场的去中心化存储网络。

矿工通过提供数据存储和检索来获得原生代币(称为“Filecoin”或"FIL")。 相反而言,客户通过付费使得矿工提供存储,分发和检索数据。

“Filecoin”的含义

(a)是网络

(b)是协议

(c)是网络上的代币

(d)是项目名称

【项目进度】

【当前版本】

Filecoin-testnet 0.2.7

 

【测试网运行状况】

上周大事:

Testnet/3 继续进行中,Testnet/2运行稳定,突破3.0PiB算力 

  • Testnet/3的启动不会早于2月24日,基本版运行可能会在本周出台

    • Testnet/3 改动较大,可能会带来“惊喜”

  • Testnet2 稳定运行三周多,上周稳定运行,未有新版本发布

  • 区块浏览器 filscan.io 运行顺畅

     

至截稿时(02/16/17:00)止,测试网持续运行中

  • 区块高度达到 64,000,区块出块正常,算力为 3.1PiB,呈持续增长态势,符合预期

  • 系统目前出块正常,平均每轮出块数量有进一步上升,接近3.0水平,说明孤块数量减少

  • 平均出块时间为46~48秒,高于预期,主要原因在于有时候会出现空块轮。空块轮次超过预期,也看到分叉时有发生

  • 矿工状态:

    • 目前算力超过100T的矿工包括:t01201,t018985,t017504,t09999,t01210,t01031

    • 活跃矿工数量为130个左右,较上周有所增加

       

上周主要代码和设计进展:

  • 团队上周参加IPFS重要活动,非常忙,代码改动不大

  • testnet/2 的一些细小改动,如添加msgwait命令,文档完善等等

  • 进一步完善各个分离的软件包,包括rust-fil-proofs,go-sectorbuilder,spec-actors

  • Spec几乎没有更新,但仍有一些细节在讨论之中

     

【IPFS原力区】

价值观:价值 共建 共享 荣耀

总部位于上海,聚集基于分布式网络&存储的众多技术大咖和爱好者,深耕基于 IPFS 的商业生态建设和社区发展。 

【原力开放日】

每周二举办,聚集了众多技术大咖和 IPFS 爱好者,通过持续输出全面、精细、优质的IPFS咨询和技术支持,将生态中的爱好者转化为IPFS支持者和参与者,共建IPFS生态的健康发展。

逐行解释下面执行日志: [INFO] 2025-11-11 10:57:00.807 +0800 - Begin to pulling task [INFO] 2025-11-11 10:57:00.808 +0800 - Begin to initialize task [INFO] 2025-11-11 10:57:00.808 +0800 - Set task startTime: Tue Nov 11 10:57:00 GMT+08:00 2025 [INFO] 2025-11-11 10:57:00.808 +0800 - Set task envFile: /data/iuap/middleware/dolphinscheduler-6896/worker-server/conf/dolphinscheduler_env.sh [INFO] 2025-11-11 10:57:00.808 +0800 - Set task appId: 44327_45921 [INFO] 2025-11-11 10:57:00.808 +0800 - End initialize task [INFO] 2025-11-11 10:57:00.808 +0800 - Set task status to TaskExecutionStatus{code=1, desc='running'} [INFO] 2025-11-11 10:57:00.808 +0800 - TenantCode:dolphinscheduler check success [INFO] 2025-11-11 10:57:00.809 +0800 - ProcessExecDir:/data/iuap/middleware/dolphinscheduler-6896/data/exec/process/dolphinscheduler/929876595154944/19625710980608_20/44327/45921 check success [INFO] 2025-11-11 10:57:00.809 +0800 - Resources:{} check success [INFO] 2025-11-11 10:57:00.809 +0800 - Task plugin: SPARK_KUBERNETES create success [INFO] 2025-11-11 10:57:00.809 +0800 - global params sqlParamsEncryp is empty [INFO] 2025-11-11 10:57:00.809 +0800 - Success initialized task plugin instance success [INFO] 2025-11-11 10:57:00.809 +0800 - Success set taskVarPool: null [INFO] 2025-11-11 10:57:00.809 +0800 - spark task global parameters: {ytenantid=v7jdalhf} [INFO] 2025-11-11 10:57:00.809 +0800 - spark task command: ${SPARK_HOME1}/bin/spark-submit --master local --class com.yonyou.datad.spark.app.SparkApp --driver-cores 1 --driver-memory 1g --num-executors 1 --executor-cores 1 --executor-memory 1g --name 市场周报BI数据存储过程_caky_dataease_ods_mm_18 ${SPARK_HOME1}/jars/spark-driver-app-1.0.0.jar -f flow.job -i 45921 [INFO] 2025-11-11 10:57:00.809 +0800 - command : cd /data/iuap/middleware/dolphinscheduler-6896/data/exec/process/dolphinscheduler/929876595154944/19625710980608_20/44327/45921 source /data/iuap/middleware/dolphinscheduler-6896/worker-server/conf/dolphinscheduler_env.sh ${SPARK_HOME1}/bin/spark-submit --master local --class com.yonyou.datad.spark.app.SparkApp --driver-cores 1 --driver-memory 1g --num-executors 1 --executor-cores 1 --executor-memory 1g --name 市场周报BI数据存储过程_caky_dataease_ods_mm_18 ${SPARK_HOME1}/jars/spark-driver-app-1.0.0.jar -f flow.job -i 45921 [INFO] 2025-11-11 10:57:00.809 +0800 - task param [{"resourceList":[],"localParams":[],"dependence":{},"waitStartTimeout":{},"conditionResult":{"successNode":[""],"failedNode":[""]},"switchResult":{},"numExecutors":1,"programType":"FLOW","driverMemory":"1g","executorMemory":"1g","driverCores":1,"deployMode":"local","executorCores":1,"dependencyFiles":[],"flowInfo":"{\"units\":[{\".id\":\"ff90600a\",\".name\":\"SQLInput\",\".class\":\"com.yonyou.datad.spark.io.source.jdbc.SQLQueryInput\",\"sourceId\":{\"url\":\"jdbc:postgresql://172.16.57.164:5432/dataease?currentSchema=public\",\"driver\":\"org.postgresql.Driver\",\"username\":\"dataease_etl\",\"password\":\"f2JuKkRGEdjoSnpvzOx-yg\",\"dbschema\":\"ods_mm\"},\"sql\":\"-- SQL数据源组件,仅支持查询语句;\\n-- 每次仅能输入一个查询语句;\\n-- 为了保证任务运行成功率,请在表名前输入数据库模式信息;\\n\\nselect dm_mm.p_dm_mm_box_weekly_insurance_wide();\"}],\"connections\":[],\"version\":\"1.0.0\",\"debug\":{\"debugModel\":\"100\",\"fsType\":\"S3\",\"minioUrl\":\"http://172.16.57.163:6895\",\"minioAccess\":\"minio\",\"minioSecret\":\"ystorage123\",\"dataCachePath\":\"s3a://apps/v7jdalhf/2401369301231599621\"}}"}] [INFO] 2025-11-11 10:57:00.811 +0800 - task run command: sudo -u dolphinscheduler sh -c cd /data/iuap/middleware/dolphinscheduler-6896/data/exec/process/dolphinscheduler/929876595154944/19625710980608_20/44327/45921;source /data/iuap/middleware/dolphinscheduler-6896/worker-server/conf/dolphinscheduler_env.sh;${SPARK_HOME1}/bin/spark-submit --master local --class com.yonyou.datad.spark.app.SparkApp --driver-cores 1 --driver-memory 1g --num-executors 1 --executor-cores 1 --executor-memory 1g --name 市场周报BI数据存储过程_caky_dataease_ods_mm_18 ${SPARK_HOME1}/jars/spark-driver-app-1.0.0.jar -f flow.job -i 45921 [INFO] 2025-11-11 10:57:00.811 +0800 - process start, process id is: 3138055 [INFO] 2025-11-11 10:57:02.811 +0800 - -> 25/11/11 10:57:02 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable add the id(ff90600a) of the process unit(com.yonyou.datad.spark.io.source.jdbc.SQLQueryInput) 25/11/11 10:57:02 WARN SparkConf: Note that spark.local.dir will be overridden by the value set by the cluster manager (via SPARK_LOCAL_DIRS in mesos/standalone/kubernetes and LOCAL_DIRS in YARN). [INFO] 2025-11-11 10:57:05.703 +0800 - application_id is [] [INFO] 2025-11-11 10:57:05.704 +0800 - process has exited, execute path:/data/iuap/middleware/dolphinscheduler-6896/data/exec/process/dolphinscheduler/929876595154944/19625710980608_20/44327/45921, processId:3138055 ,exitStatusCode:0 ,processWaitForStatus:true ,processExitValue:0 [INFO] 2025-11-11 10:57:05.704 +0800 - Send task execute result to master, the current task status: TaskExecutionStatus{code=7, desc='success'} [INFO] 2025-11-11 10:57:05.704 +0800 - Remove the current task execute context from worker cache [INFO] 2025-11-11 10:57:05.704 +0800 - The current execute mode isn't develop mode, will clear the task execute file: /data/iuap/middleware/dolphinscheduler-6896/data/exec/process/dolphinscheduler/929876595154944/19625710980608_20/44327/45921 [INFO] 2025-11-11 10:57:05.704 +0800 - Success clear the task execute file: /data/iuap/middleware/dolphinscheduler-6896/data/exec/process/dolphinscheduler/929876595154944/19625710980608_20/44327/45921 [INFO] 2025-11-11 10:57:05.813 +0800 - -> 25/11/11 10:57:04 WARN MetricsConfig: Cannot locate configuration: tried hadoop-metrics2-s3a-file-system.properties,hadoop-metrics2.properties [INFO] 2025-11-11 10:57:05.813 +0800 - FINALIZE_SESSION
最新发布
11-12
<think>我们被要求逐行解释一个包含DolphinScheduler和Spark任务执行信息的日志片段。给出的日志有两行: [INFO] 2025-11-11 10:57:00.807 +0800 - Begin to pulling task ... [INFO] 2025-11-11 10:57:05.813 +0800 - FINALIZE_SESSION 根据日志内容,我们需要结合DolphinScheduler和Spark的知识进行解释。 首先,DolphinScheduler是一个分布式易扩展的可视化DAG工作流任务调度系统,用于调度各种任务,包括Spark任务。 日志第一行: [INFO] 2025-11-11 10:57:00.807 +0800 - Begin to pulling task ... 解释: - [INFO]:日志级别,表示这是一条信息性消息,不是错误警告。 - 2025-11-11 10:57:00.807:时间戳,表示记录日志的时间,精确到毫秒。 - +0800:时区,表示东八区(北京时间)。 - Begin to pulling task ...:消息内容,表示开始拉取任务。在DolphinScheduler中,工作节点(Worker)会从主节点(Master)拉取分配给它的任务。这一步是任务执行前的准备阶段,表明Worker正在获取任务详情。 日志第二行: [INFO] 2025-11-11 10:57:05.813 +0800 - FINALIZE_SESSION 解释: - [INFO]:同上,信息级别。 - 2025-11-11 10:57:05.813:时间戳,此时距离上一条日志大约5秒后。 - +0800:时区。 - FINALIZE_SESSION:消息内容,字面意思是“完成会话”。结合Spark任务,这很可能表示Spark会话(SparkSession)的结束。在Spark中,当任务执行完毕,会关闭SparkSession,释放资源。 结合两条日志: 1. 第一条日志:Worker开始拉取任务(可能是Spark任务),准备执行。 2. 第二条日志:任务执行完成,Spark会话被终止(清理)。 注意:日志中并没有显示任务执行的具体过程(如提交Spark作业、运行作业等),只有开始拉取任务和最终完成会话。因此,我们只能从这两行日志推断出任务从开始拉取到完成会话大约耗时5秒(10:57:00.807到10:57:05.813)。 但是,在Spark任务执行中,通常的步骤是: - 初始化SparkSession(在任务开始时) - 执行具体的Spark作业 - 结束后关闭SparkSession 日志中的“FINALIZE_SESSION”很可能就是关闭SparkSession的阶段。 另外,注意FINALIZE_SESSION是大写,可能是一个特定的阶段标记。在Spark内部日志中,我们可能不会直接看到这个词,但DolphinScheduler的日志可能封装了Spark的执行过程,并在关键节点记录。 总结: - 第一行:任务拉取开始,准备执行。 - 第二行:任务执行结束,清理会话。 由于日志信息有限,我们只能解释这些。如果日志包含更多行,我们可以更详细地解释整个流程。 §§相关问题§§ 1. DolphinScheduler中任务调度的完整流程是怎样的? 2. Spark任务在DolphinScheduler中执行时,常见的日志信息有哪些? 3. 如何分析DolphinScheduler中的任务执行时间? </think>以下是针对 DolphinScheduler 和 Spark 任务执行日志的逐行解释,结合调度框架原理和 Spark 执行机制: ### 日志逐行解析 1. **`[INFO] 2025-11-11 10:57:00.807 +0800 - Begin to pulling task`** - **时间戳**:`2025-11-11 10:57:00.807 +0800` 表示日志记录的精确时间(毫秒级),`+0800` 为东八区时区 - **操作阶段**:`Begin to pulling task` - DolphinScheduler 工作节点(Worker)开始从主节点(Master)**拉取分配的任务** - 此时已完成 DAG 解析,进入任务分发阶段(类似 `iMeth=4` 分解调度模式的分块逻辑[^1]) - 核心动作:建立任务队列通信链路,准备加载任务配置和资源依赖 2. **`[INFO] 2025-11-11 10:57:05.813 +0800 - FINALIZE_SESSION`** - **时间间隔**:与上条间隔 5.006 秒 表明任务拉取、资源初始化到提交执行的耗时 - **关键操作**:`FINALIZE_SESSION` - **Spark 会话终结**:完成 Spark 任务执行后,**释放所有计算资源** - 包括: - 归还 YARN 容器(Executor 容器销毁) - 清理 JVM 堆外内存和 Shuffle 临时文件 - 关闭 SparkContext(类似 `napi_async_cleanup_hook_handle` 的异步清理机制[^2]) - 此日志出现表示 **Spark DAG 执行图已冻结**(类似 TensorFlow 的 `Graph was finalized` 状态[^3]),不再接受新操作 ### 执行流程映射 ```mermaid graph LR A[DolphinScheduler Master] -->|1.任务分发| B(Worker拉取任务) B -->|2.资源加载| C[初始化SparkSession] C -->|3.执行计算| D[Spark DAG运行] D -->|4.结果输出| E{FINALIZE_SESSION} E -->|5.资源回收| F[Worker上报状态] ``` ### 性能关键点 1. **5 秒间隔分析** - 若为轻量任务:时间主要消耗在 **资源申请/网络传输** - 若为重量任务:需检查是否因 `数据倾斜` `GC 停顿` 导致延迟 2. **`FINALIZE_SESSION` 异常场景** - 未出现此日志 ⇒ 存在 **资源泄漏**(需检查 `spark.cleaner.referenceTracking=true`) - 过早出现 ⇒ 可能 **任务执行失败**(应伴随 `ERROR` 日志) --- ### 优化建议 1. **缩短拉取耗时** - 调整 DolphinScheduler 的 `task.pull.frequency` 参数 - 启用 **引导自调度模式**(类似 `iMeth=3` 动态分块策略[^1]) 2. **加速会话回收** ```python # Spark配置优化示例 spark.conf.set("spark.cleaner.periodicGC.interval", "1min") # 增加GC频率 spark.conf.set("spark.sql.autoBroadcastJoinThreshold", "100MB") # 减少Shuffle ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值