【问题标题】:Error with using Neo4j-spark-connector使用 Neo4j-spark-connector 时出错
【发布时间】:2016-07-13 18:29:30
【问题描述】:

我一直在关注https://neo4j.com/blog/neo4j-3-0-apache-spark-connector/ 中的示例,在我尝试以下分配之前一切似乎都很好: val query = "cypher runtime=compiled MATCH (n) where id(n)

我收到错误“无法连接到端口 7687 上的 'localhost',请确保数据库正在运行并且有可用的网络连接。” 我对 Spark 相当陌生,不知道如何解决这个问题。当我运行这个时,我已经打开了我的 Neo4j 数据库。

【问题讨论】:

    标签: apache-spark neo4j


    【解决方案1】:

    端口 7687 是 BOLT 的端口,这是 Neo4j 的二进制协议,捆绑在 Neo4j Spark 连接器中的 Java 驱动程序用于从 Neo4j 中提取数据。所以这是 Neo4j 的连接错误。

    您使用的是哪个版本的 Neo4j?您是否使用 Neo4j 的默认配置设置?

    你是否按照here指定了neo4j的密码:

    spark.neo4j.bolt.password=<password>
    

    如果您按照博客文章中的示例,启动 spark shell 的命令将如下所示:

    $SPARK_HOME/bin/spark-shell \
    --conf spark.neo4j.bolt.password=YOUR_PASSWORD_FOR_NEO4J_HERE \
    --packages neo4j-contrib:neo4j-spark-connector:1.0.0-RC1,\
    graphframes:graphframes:0.1.0-spark1.6
    

    【讨论】:

    • 感谢您的回复!我目前使用的 Neo4j 版本是 2.3.3 Community 版本。我尝试的确切代码是:$SPARK_HOME/bin/spark-shell \ --conf spark.neo4j.bolt.password=MYPASSWORD\ --packages neo4j-contrib:neo4j-spark-connector:1.0.0-RC1,\ graphframes:graphframes:0.1.0-spark1.6 import org.neo4j.spark._ Neo4jTupleRDD(sc,"MATCH (n) return id(n)",Seq.empty).count 其中密码正是我的密码,我仍然得到相同的连接错误。
    • 您需要使用 Neo4j 3.0。 spark 连接器使用 Neo4j 3.0 版中引入的新的官方 java 驱动程序而不是 BOLT。它不适用于以前的版本。
    • @WilliamLyon Neo4j Spark 连接器有数据大小上限吗?例如,Mazerunner 将所有数据持久化到一个中间 HDFS 存储......所以理论上它可以在批处理模式下处理数百 GB 的数据。这个连接器将如何处理 100 GB 的数据?我们希望将大型 neo4j 数据库与 spark 集成。
    猜你喜欢
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    • 2015-08-26
    • 2017-05-05
    • 2014-09-20
    • 2017-08-06
    • 2021-08-06
    • 1970-01-01
    相关资源
    最近更新 更多