我正在尝试设置Redis集群,并且在这里遵循了此指南:https://rancher.com/blog/2019/deploying-redis-cluster/
基本上,我将创建一个具有副本6的StatefulSet,以便可以拥有3个主节点和3个从属节点。在所有节点启动之后,我创建了集群,并且一切正常……但是,如果查看每个redis节点的文件“ nodes.conf”(应该保存所有节点的配置),可以看到它是空的。这是一个问题,因为每当重新启动redis节点时,它都会在该文件中搜索该节点的配置以更新其自身的IP地址,并与其他节点进行MEET,但是他什么也没找到,因此基本上可以在该节点上启动新集群他自己的,带有新的ID。
我的存储是一个NFS连接的共享文件夹。负责存储访问的YAML是这样的:
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: nfs-provisioner-raid5
spec:
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
app: nfs-provisioner-raid5
spec:
serviceAccountName: nfs-provisioner-raid5
containers:
- name: nfs-provisioner-raid5
image: quay.io/external_storage/nfs-client-provisioner:latest
volumeMounts:
- name: nfs-raid5-root
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: 'nfs.raid5'
- name: NFS_SERVER
value: 10.29.10.100
- name: NFS_PATH
value: /raid5
volumes:
- name: nfs-raid5-root
nfs:
server: 10.29.10.100
path: /raid5
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: nfs-provisioner-raid5
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: …Run Code Online (Sandbox Code Playgroud) 每次应用程序崩溃时,我都想显示一个带有类和方法名称的回溯.我设法在调试模式下使用此代码执行此操作(该printTrace函数只是在文件上打印字符串.):
void HandleException(NSException *exception)
{
[SILogManager printTrace:[NSString stringWithFormat:@"******************** CRASH *********************"]];
[SILogManager printTrace:[NSString stringWithFormat:@"-> Stack Trace: %@", [exception callStackSymbols]]];
}
Run Code Online (Sandbox Code Playgroud)
虽然这在应用程序发布时不起作用,因为它会产生类似这样的堆栈跟踪:
******************** CRASH *********************
-> Stack Trace: (
0 CoreFoundation 0x27b5f60f <redacted> + 150
1 libobjc.A.dylib 0x35613c77 objc_exception_throw + 38
2 CoreFoundation 0x27a733a7 <redacted> + 178
3 iSelz POS 0x000bf6c7 iSelz POS + 403143
4 iSelz POS 0x000bf099 iSelz POS + 401561
5 iSelz POS 0x000dda31 iSelz POS + 526897
6 CFNetwork 0x276b7eed <redacted> + 56
7 CFNetwork 0x276b7ea7 …Run Code Online (Sandbox Code Playgroud)