Rdf 无法将批量加载的数据加载到Dgraph中

Rdf 无法将批量加载的数据加载到Dgraph中,rdf,graph-databases,dgraph,Rdf,Graph Databases,Dgraph,我使用——reduce_shards=2从bulkloader生成数据,方法是在 这将生成2个p目录,我在其上运行alphas 我使用的命令 dgraph zero--my=IPADDR:5080位于顶部目录 然后我cd到out目录,使用dgraph alpha--lru_mb=4096--my=IPADDR:7080--zero=localhost:5080在/0/p上运行一个alpha 如果我在这一点上检查ratel,一切都好 然后我cd到out目录,使用dgraph alpha--lru_

我使用
——reduce_shards=2
从bulkloader生成数据,方法是在

这将生成2个
p
目录,我在其上运行
alphas

我使用的命令
dgraph zero--my=IPADDR:5080
位于顶部目录

然后我cd到
out
目录,使用
dgraph alpha--lru_mb=4096--my=IPADDR:7080--zero=localhost:5080在
/0/p
上运行一个alpha

如果我在这一点上检查ratel,一切都好

然后我cd到
out
目录,使用
dgraph alpha--lru_mb=4096--my=IPADDR:7081--zero=localhost:5080-o=1在
/p
上运行第二个alpha

这运行正常,但未加载此
/1/p
目录中的数据,ratel开始在架构中显示错误

我试过的另外两个选择

  • 我使用
    ——reduce_shards=1
    进行批量加载,只运行一个alpha,一切正常

  • 我停止了第一个alpha,在
    /1/p
    上运行alpha,其他谓词开始显示,运行正常,但现在
    /0/p
    数据消失了


  • 多组大容量加载存在一个已知的错误,即应该由其他Alpha组提供的数据不会出现在查询中。这将在第二天左右发布的v1.0.12版本中修复

    目前,可以对多组群集执行批量加载的一种方法是执行以下操作:

  • 为单个组运行Dgraph批量加载程序(
    --reduce_shards=1
    ,该组在
    /out/0/p
    处输出单个数据目录)
  • 使用批量加载的数据目录启动第一个Alpha,然后
  • 启动作为不同组成员加入集群的其他Alpha
  • 8分钟后(或在
    --rebalance_interval
    中设置的持续时间之后),Dgraph Zero将在不同组之间重新平衡谓词:

    $ dgraph zero --help
    ...
          --rebalance_interval duration   Interval for trying a predicate move. (default 8m0s)
    

    是的,这就是我现在正在做的,但这不是一个很好的方法,对于数百万条记录来说,第一次重新平衡是缓慢的,另一件事,如果我正在进行插入,而Alpha正在重新平衡,它只是失败了。你可以暂时禁用重新平衡,然后再启用它。