繁体   English   中英

Neo4j 3.0.5备份到Azure失败

[英]Neo4j 3.0.5 backup to Azure failing

在Neo4j ent 3.0.5上运行备份时,它将失败,并显示以下内容:

2017-11-03 14:52:43.512+0000 INFO [o.n.c.s.StoreCopyClient] Done, copied 114 
files
2017-11-03 14:52:43.923+0000 INFO [o.n.b.BackupService] Start recovering 
store
command failed: Backup failed: Unexpected Exception

当我检查/var/log/neo4j/debug.log时,似乎认为一切正常。

2017-11-03 14:52:07.423+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Check 
Pointing triggered by full backup [2012424]:  Starting check pointing...
2017-11-03 14:52:07.423+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Check 
Pointing triggered by full backup [2012424]:  Starting store flush...
2017-11-03 14:52:08.260+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Check 
Pointing triggered by full backup [2012424]:  Store flush completed
2017-11-03 14:52:08.260+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Check 
Pointing triggered by full backup [2012424]:  Starting appending check point 
entry into the tx log...
2017-11-03 14:52:08.303+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Check 
Pointing triggered by full backup [2012424]:  Appending check point entry 
into the tx log completed
2017-11-03 14:52:08.303+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Check 
Pointing triggered by full backup [2012424]:  Check pointing completed
2017-11-03 14:52:11.582+0000 INFO [o.n.b.BackupImpl] BackupServer:6362-6: 
Full backup finished.

我正在运行以下命令:

sudo mkdir -m +x -p /backuptoazure
sudo mount -t cifs //xxxx.file.core.windows.net/neo4jbackup /backuptoazure -o vers=3.0,username=xxxx,password=xxxx,dir_mode=0777,file_mode=0777,sec=ntlmssp
sudo neo4j-admin backup --backup-dir=/backuptoazure --name="graph.db-backup.$(date +%Y-%m-%d)"

/ backuptoazure是位于Azure文件上的安装点

注意事项;

-执行备份命令时,会将文件写入Azure到temp-copy文件(即具有访问权限)中,但是在失败后将文件删除

-如果我将备份命令运行到本地FS(/ tmp),它会顺利完成

-我可以将备份CP装载到安装点,以证明它可以访问

关于下一步去的任何建议将不胜感激。 特别是什么是Neo4j当它Start recovering store会很有趣

经过一番挖掘后,看来neo4j在备份过程中会在CIFS挂载点上启动一个备份数据库的实例,并且这样做是在尝试使用“字节范围锁”,我认为这是Azure上不支持的文件。

将选项“ nobrl”添加到安装选项中可以执行以下操作:

不要将字节范围锁定请求发送到服务器。 对于某些破坏了CIF样式强制性字节范围锁定的应用程序,这是必需的(并且大多数CIF服务器尚不支持请求咨询字节范围锁定)。

因此,最终的安装命令应为:

sudo mount -t cifs //xxxx.file.core.windows.net/neo4jbackup /backuptoazure -o vers=3.0,username=xxxx,password=xxxx,dir_mode=0777,file_mode=0777,sec=ntlmssp,nobrl

这应该工作。 虽然未明确列出,但有关Azure文件限制的更多信息,请参见:

https://docs.microsoft.com/zh-cn/rest/api/storageservices/features-not-supported-by-the-azure-file-service

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM