我已经把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有没有人有解决方案?
发布于 2019-03-22 18:46:10
您不能停止容器内的主进程,否则它将被视为已死,Kubernetes将终止此pod并调度一个新的健康pod。
另外,Kubernetes不支持挂起pods。停止/启动pod的成本更低。
因此,在您的情况下,我建议您在备份期间将部署缩减到零个副本
kubectl scale --replicas=0 deployment/neo4j并在备份完成后向上扩展到所需的复制副本
kubectl scale --replicas=1 deployment/neo4j发布于 2021-07-13 22:22:38
dump/load命令是严格意义上的离线操作,而backup/restore命令是在线操作。
我通过创建另一个具有相同映像的pod获得了另一个解决方案,然后我将statefulset副本缩小到neo4j的0,并挂载statefulset所包含的卷。
在我创建了转储文件后,我需要使用插件push-to-cloud,下载相同的版本来将其推送到极光neo4j,否则它将无法工作
这是我的yaml文件:
apiVersion: v1
kind: Pod
metadata:
name: neo4j-dumper
spec:
containers:
- name: neo4j-dumper
image: neo4j:3.5.23-enterprise
command:[
"sh",
"-c",
"mkdir /dump && neo4j-admin dump --to /dump/db.dump && chown -R neo4j /dump && sleep 30000;",
]
volumeMounts:
- name: datadir
mountPath: /data
volumes:
- name: datadir
persistentVolumeClaim:
claimName: datadir-neo4j-neo4j-core-0https://stackoverflow.com/questions/55272677
复制相似问题