我在Google Kubernetes引擎中部署了一个Gridgain服务器,并启用了持久性。服务器使用默认配置启动。我需要将walMode更改为FSYNC。但这是不可能的,因为WAL目录给出了访问被拒绝的异常。然后我删除了wal和walArchive PersistenceVolumeClaim对象,并尝试重新启动它。但它给出了错误。
有没有办法用我现有的数据启动GridGain服务器?现在,wal和walArchive目录被删除,并创建了一个新目录。
除此之外,如果任何原因wal和walArchive数据损坏,任何原因都可以安全地启动Gridgain服务器,而不会丢失任何数据。
发布于 2021-07-13 16:14:07
参考1和2找到了解决方案。
作为答案1/1
必须清理位于$IGNITE_HOME/work/db/$NODE_UUID/cp的文件夹。在此之后,节点应该以正常的方式启动。
如果wal和walArchive文件夹被删除,则需要删除"cp“文件夹。如果在Kubernetes中运行的应用程序和服务器节点不能启动,请使用挂载数据文件夹创建新的pod。然后执行到它并删除"cp“文件夹。
apiVersion: v1
kind: Pod
metadata:
name: task-pv-pod
namespace: gridgain
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: work-vol-gridgain-cluster-2 # persistent volume claim
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/gridgain/" # Mount to data folder
name: task-pv-storage然后服务器启动,没有错误。
1. http://apache-ignite-users.70518.x6.nabble.com/Is-there-any-way-to-force-recover-the-cluster-copying-running-cluster-datastore-td28399.html
2. https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/
https://stackoverflow.com/questions/68357862
复制相似问题