![](/img/trans.png)
[英]How do I load a neo4j backup into my new instance of neo4j on 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文件限制的更多信息,请参见:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.