首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在kubernetes中停止neo4j社区版?

如何在kubernetes中停止neo4j社区版?
EN

Stack Overflow用户
提问于 2019-03-21 09:53:27
回答 2查看 392关注 0票数 1

我已经把neo4j社区版(v3.2.2)放到了kubernetes中。但是社区版不支持热备份,所以我不得不关闭它来备份/恢复数据。

我试过了:

代码语言:javascript
复制
kubectl exec neo4j-0 /var/lib/neo4j/bin/neo4j stop

但它显示:

代码语言:javascript
复制
Neo4j not running

还尝试了:

代码语言:javascript
复制
kubectl exec -it neo4j-0 bash
/var/lib/neo4j/bin/neo4j stop

但是仍然不能停止容器中的neo4j

代码语言:javascript
复制
Neo4j not running

有没有人有解决方案?

EN

回答 2

Stack Overflow用户

发布于 2019-03-22 18:46:10

您不能停止容器内的主进程,否则它将被视为已死,Kubernetes将终止此pod并调度一个新的健康pod。

另外,Kubernetes不支持挂起pods。停止/启动pod的成本更低。

因此,在您的情况下,我建议您在备份期间将部署缩减到零个副本

代码语言:javascript
复制
kubectl scale --replicas=0 deployment/neo4j

并在备份完成后向上扩展到所需的复制副本

代码语言:javascript
复制
kubectl scale --replicas=1 deployment/neo4j
票数 1
EN

Stack Overflow用户

发布于 2021-07-13 22:22:38

dump/load命令是严格意义上的离线操作,而backup/restore命令是在线操作。

我通过创建另一个具有相同映像的pod获得了另一个解决方案,然后我将statefulset副本缩小到neo4j的0,并挂载statefulset所包含的卷。

在我创建了转储文件后,我需要使用插件push-to-cloud,下载相同的版本来将其推送到极光neo4j,否则它将无法工作

这是我的yaml文件:

代码语言:javascript
复制
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-0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55272677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档