我已经把 neo4j 社区版(v3.2.2)放到了Kubernetes中。但是社区版不支持热备份,所以我不得不关闭它来备份/恢复数据。
我试过:
kubectl exec neo4j-0 /var/lib/neo4j/bin/neo4j stop
但它表明:
Neo4j not running
还尝试了:
kubectl exec -it neo4j-0 bash
/var/lib/neo4j/bin/neo4j stop
但还是挡不住集装箱里的 neo4j
Neo4j not running
有没有人有解决办法?
3条答案
按热度按时间ssm49v7z1#
容器内的主进程不能停止,否则会被认为是死的,Kubernetes会终止这个示例,并调度一个新的健康示例。
此外,Kubernetes不支持悬挂吊舱。停止/启动豆荚的成本更低。
因此,在您的情况下,我建议您在备份期间将部署缩减到零个副本
并在备份完成后纵向扩展至所需的复制副本
zte4gxcn2#
目前,
offlineMaintenanceModeEnabled
可用于Neo4j的 Helm 图。Https://neo4j.com/docs/operations-manual/current/kubernetes/maintenance/#put-offline-mode
您可以通过将Helm的
values.yaml
中的neo4j.offlineMaintenanceModeEnabled
设置为true
和false
来控制离线维护模式。iih3973s3#
转储/加载命令是严格意义上的离线操作,而备份/恢复命令是在线操作。
我通过创建另一个具有相同映像的pod获得了另一个解决方案,然后我将状态集副本缩减到了 neo4j 的0,并挂载了状态集所涉及的卷。
在我创建了转储文件后,我需要使用插件推送到云端将其推送到aurora neo4j,下载相同的版本,否则无法工作
这是我的YAML文件: