我们有一个生产设置,我们的高可用neo4j实例在专用网络中运行。在这个网络中也是一个防火墙机器,它有一个公共IP地址,它使用NAT将某些端口重定向回neo集群机器。
我想要完成的是使用一些防火墙规则从该网络外部运行neo4j-backup。
我们的端口是ha.cluster_server(5001),ha.server(6001)和online_backup_server(6362)的标准端口,我们已经确定在运行telnet时它会转到集群中的第一台服务器。
但是当我尝试备份时,我会暂停:
./neo4j-backup -from ha://<public ip> -to /data/prod-neo
Could not find backup server in cluster neo4j.ha at <public ip>, operation timed out
我已经在私有网络中的计算机上安装了neo4j企业,并且运行良好:
./neo4j-backup -from ha://192.168.0.1 -to /tmp
Performing incremental backup from 'backup://192.168.0.1:6362'
[0 Transactions applied]
Done
我的猜测是,从外部机器它将尝试连接到192.168.0.1而不是公共IP地址,但我不知道如何验证,更不用说修复它以便neo4j-backup使用公共ip用于进行实际备份。任何想法?
答案 0 :(得分:1)
将NAT端口中的端口6362映射到其中一个群集实例。在执行备份运行的外部计算机上:
./neo4j-backup -from single://<public_ip>:6362 -to /tmp
在“-from”中使用“ha://”URL要求机器具有完全的网络访问权限,因为涉及多个端口。使用“single://”只需要这个端口。