nebula-algorithm 最新版本使用找不到space异常

提问参考模版:

  • nebula 版本:2.6.0

  • 部署方式:分布式

  • 安装方式:RPM

  • 是否为线上版本:Y

  • 硬件信息

    • 磁盘( 推荐使用 SSD)
    • CPU、内存信息
  • 问题的具体描述
    spark-2.4.5-bin-hadoop2.6/bin/spark-submit --master yarn --class com.vesoft.nebula.algorithm.Main /opt/nebula/nebula-algorithm-2.5.1.jar -p /opt/nebula/s_user_algo.conf
    报错信息如下:
    s_user does not exist

    如果用nebula-algorithm-2.0.0.jar和nebula-algorithm-2.1.0.jar
    报错:
    Exception in thread “main” com.facebook.thrift.protocol.TProtocolException: The field ‘code’ has been assigned the invalid value -4
    at com.vesoft.nebula.meta.GetSpaceResp.validate(GetSpaceResp.java:488)

  • 相关的 meta / storage / graph info 日志信息(尽量使用文本形式方便检索)

nebula-algorithm-2.5.1.jar 报错日志如下:

1/11/06 20:57:16 INFO scheduler.TaskSetManager: Starting task 0.0 in stage 1.0 (TID 22, hadoop38.vcredit.idc, executor 2, partition 0, PROCESS_LOCAL, 9963 bytes)
21/11/06 20:57:16 INFO scheduler.TaskSetManager: Lost task 1.3 in stage 0.0 (TID 18) on hadoop38, executor 2: java.lang.Exception (Space:s_user does not exist.) [duplicate 18]
21/11/06 20:57:16 INFO scheduler.DAGScheduler: ShuffleMapStage 0 (mapPartitions at GraphImpl.scala:208) failed in 2.783 s due to Job aborted due to stage failure: Task 0 in stage 0.0 failed 4 times, most recent failure: Lost task 0.3 in stage 0.0 (TID 17, hadoop38.vcredit.idc, executor 1): java.lang.Exception: Space:s_user does not exist.
        at com.vesoft.nebula.connector.reader.NebulaEdgePartitionReader.next(NebulaEdgePartitionReader.scala:57)
        at org.apache.spark.sql.execution.datasources.v2.DataSourceRDD$$anon$1.hasNext(DataSourceRDD.scala:49)
        at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37)
        at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.processNext(Unknown Source)
        at org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
        at org.apache.spark.sql.execution.WholeStageCodegenExec$$anonfun$13$$anon$1.hasNext(WholeStageCodegenExec.scala:636)
        at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:409)
        at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:409)
        at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:409)
        at scala.collection.Iterator$class.foreach(Iterator.scala:891)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
        at org.apache.spark.graphx.EdgeRDD$$anonfun$1.apply(EdgeRDD.scala:107)
        at org.apache.spark.graphx.EdgeRDD$$anonfun$1.apply(EdgeRDD.scala:105)
        at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsWithIndex$1$$anonfun$apply$25.apply(RDD.scala:875)
        at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsWithIndex$1$$anonfun$apply$25.apply(RDD.scala:875)
        at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
        at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:346)
        at org.apache.spark.rdd.RDD$$anonfun$7.apply(RDD.scala:359)
        at org.apache.spark.rdd.RDD$$anonfun$7.apply(RDD.scala:357)
        at org.apache.spark.storage.BlockManager$$anonfun$doPutIterator$1.apply(BlockManager.scala:1165)
        at org.apache.spark.storage.BlockManager$$anonfun$doPutIterator$1.apply(BlockManager.scala:1156)
        at org.apache.spark.storage.BlockManager.doPut(BlockManager.scala:1091)
        at org.apache.spark.storage.BlockManager.doPutIterator(BlockManager.scala:1156)
        at org.apache.spark.storage.BlockManager.getOrElseUpdate(BlockManager.scala:882)
        at org.apache.spark.rdd.RDD.getOrCompute(RDD.scala:357)

config配置如下:

{
    spark: {
    app: {
        name: LPA
        partitionNum:100
    }
    master:yarn
    }

    data: {
    source: nebula
    sink: nebula
    hasWeight: false
    }

    nebula: {
        read: {
            metaAddress: "100.11.11.2:9559,1100.11.11.3:9559,100.11.11.4:9559"
            space: s_user
            labels: ["e_user"]
            weightCols: ["name"]
        }

        write:{
 
            graphAddress: "100.11.11.2:9669,100.11.11.3:9669,100.11.11.4:9669"
            metaAddress: "100.11.11.2:9559,1100.11.11.3:9559,100.11.11.4:9559"
            user:root
            pswd:nebula
             space:test
            # PageRank:pagerank
            Louvain:louvain
            # ConnectedComponent:cc
            # StronglyConnectedComponent:scc
            # LabelPropagation:lpa
            # ShortestPath:shortestpath
            # DegreeStatic:degree、inDegree、outDegree
            # KCore:kcore
            # TriangleCount:tranglecpunt
            # BetweennessCentrality:betweennedss
            tag:louvain
        }
    }  


    algorithm: {
        executeAlgo: pagerank

        pagerank: {
            maxIter: 10
            resetProb: 0.15  
        }

        louvain: {
            maxIter: 20
            internalIter: 10
            tol: 0.5
        }

       connectedcomponent: {
           maxIter: 20
       }

       labelpropagation: {
           maxIter: 20
       }

        shortestpaths: {
            landmarks: "1"
        }

        degreestatic: {}

        kcore:{
            maxIter:10
            degree:1
        }

        trianglecount:{}

        betweenness:{
            maxIter:5
        }
    }
}

能用一下 2.5-snapshot 的 nightly 版本么?

将pom改成2.6版本可以了

2 个赞

如果你觉得你自己的改版本方法解决了问题,可以勾选为【解决方案】方便后续遇到相似问题的小伙伴可以找到对应的方法哈~ 谢谢 rusonding

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。