RNeoj:RStudio 无法连接到 neo4j 数据库错误 503

RNeoj: RStudio cannot connect to neo4j Database error 503 indicated

提问人:KK. 提问时间:5/12/2016 最后编辑:KK. 更新时间:5/18/2016 访问量:474

问:

如何让 RStudio 连接到 Neo4j 数据库?

问题:

当我尝试时,会显示以下错误 使用 startGraph 通过 RStudio 连接到 neo4j 数据库:

错误:服务器错误: (503) 服务不可用

#load library
library(RNeo4j)

#connect to graphdb
graph = startGraph("http://localhost:7474/db/data/")

(禁用 dbm 身份验证 [dbms.security.auth_enabled=false]) (也尝试启用身份验证(通过将数据库用户名和密码传递给 startGraph),但指出了相同的错误)

graph = startGraph("http://localhost:7474/db/data", 
         username="xxxx", password="xxxx")

初始设置检查:

已确认 Neo4j 安装和运行成功。

1.Database is started and running successfully via neo4j (3.0.1) console

2.Confirmed able to connect successfully via Chrome Browser

3.Confirmed able to create graph and conduct queries via Chrome Browser interface.

环境信息

    proxy is configured on system
    RNeo4j version 1.6.4
    RStudio V. 0.99.892
    R version 3.2.4 (2016-03-10)
    Platform: x86_64-w64-mingw32/x64 (64-bit)
    Running under: Windows 7 x64 (build 7601) Service Pack 1

其他详细信息

我在代理和 RStudio 创建和运行 Shiny Apps 或在系统上安装任何 R 包时没有任何问题。

我执行了 netstat 来检查 localhost 端口上的连接,只有连接的应用程序是 Neo4j 和 Web 浏览器,而不是 RStudio。(一次打开这么多连接正常吗?

d:\Windows\System32\drivers\etc>netstat -a -o -n  |grep :7474
  TCP    127.0.0.1:7474         0.0.0.0:0              LISTENING       15528
  TCP    127.0.0.1:7474         127.0.0.1:50884        TIME_WAIT       0
  TCP    127.0.0.1:7474         127.0.0.1:50885        TIME_WAIT       0
  TCP    127.0.0.1:7474         127.0.0.1:50886        TIME_WAIT       0
  TCP    127.0.0.1:7474         127.0.0.1:50888        TIME_WAIT       0
  TCP    127.0.0.1:7474         127.0.0.1:50889        TIME_WAIT       0
  TCP    127.0.0.1:7474         127.0.0.1:50898        TIME_WAIT       0
  TCP    127.0.0.1:7474         127.0.0.1:50899        TIME_WAIT       0
  TCP    127.0.0.1:7474         127.0.0.1:50913        ESTABLISHED     15528
  TCP    127.0.0.1:7474         127.0.0.1:50914        ESTABLISHED     15528
  TCP    127.0.0.1:7474         127.0.0.1:50915        ESTABLISHED     15528
  TCP    127.0.0.1:7474         127.0.0.1:50916        ESTABLISHED     15528
  TCP    127.0.0.1:7474         127.0.0.1:50917        ESTABLISHED     15528
  TCP    127.0.0.1:7474         127.0.0.1:50918        ESTABLISHED     15528
  TCP    127.0.0.1:50887        127.0.0.1:7474         TIME_WAIT       0
  TCP    127.0.0.1:50900        127.0.0.1:7474         TIME_WAIT       0
  TCP    127.0.0.1:50901        127.0.0.1:7474         TIME_WAIT       0
  TCP    127.0.0.1:50902        127.0.0.1:7474         TIME_WAIT       0
  TCP    127.0.0.1:50913        127.0.0.1:7474         ESTABLISHED     12356
  TCP    127.0.0.1:50914        127.0.0.1:7474         ESTABLISHED     12356
  TCP    127.0.0.1:50915        127.0.0.1:7474         ESTABLISHED     12356
  TCP    127.0.0.1:50916        127.0.0.1:7474         ESTABLISHED     12356
  TCP    127.0.0.1:50917        127.0.0.1:7474         ESTABLISHED     12356
  TCP    127.0.0.1:50918        127.0.0.1:7474         ESTABLISHED     12356
Rstudio R-Neo4J

评论


答:

0赞 KK. 5/18/2016 #1

我能够通过绕过localhost的代理来成功执行startGraph。

步骤

1.我首先在 Windows 命令提示符下使用 curl outside 使用 [noproxy] 选项成功得出结论(验证这是否正确):

curl -v --noproxy localhost, http://localhost:7474/db/data/

2.然后在 RStudio 控制台上,我通过执行以下操作将我的 httr 配置(因为它是相同的底层 curl 接口)设置为使用 [noproxy] 选项:

rstudio_console>set_config(config(noproxy = "localhost"))  #set noproxy option

rstudio_console>set_config(config(verbose()))      #set verbose to view http messages

3.然后不带任何选项执行 startGraph:

rstudio_console>> graph = startGraph("http://localhost:7474/db/data")

4.瞧,成功:

rstudio_console> graph 

< Graph > 

$version
[1] "3.0.1"

评论

0赞 KK. 5/19/2016
有关更多详细信息,请参阅 Github 上报告的参考问题:rneo4j_github