我是想保留之前的数据的,要不kafka的topic之类的都需要重新创建了。
也没关系,你把version-2
的删除了,就会好的。
最后把data和log下面的version-2都删除才恢复,等于重新初始化了zk了,里面其他组件的节点信息都没有了。
我是先改了IP和主机名,然后才改的配置,是不是这个顺序不太对。
在普通的Linux系统中,分配的内存通常是实际使用内存的10倍或更多。大多数页面从未被访问过(堆栈),但有些页面确实被触及过,然后就不再使用。如果系统不能swap这些页面,它就会有更少的空间来加载代码和缓存文件,这将损害性能。即使是pods也不应该真的被固定在内存中。也许可以设计成一个较低的swappiness(交换率)。
BlockSize=26,也就是说一个IPBlock包含64个IP,而目前每台节点的Pod数量限制是默认的110,所以会生成2个Block。
如果你想每台node只存在一个段:
BlockSize=25
,128个ip。BlockSize=24
,256个ip。默认每台节点pod数量限制是110
,将BlockSize
调整25
就涵盖了。如果改过每台节点的Pod数量限制,改为24
,256
个ip,该C类地址都给你用。
//设置提交偏移量的方式, MANUAL_IMMEDIATE 表示消费一条提交一次;MANUAL表示批量提交一次
factory.getContainerProperties().setAckMode((ContainerProperties.AckMode.MANUAL_IMMEDIATE));
MANUAL_IMMEDIATE 这个提交的方式虽然是消费一次提交一次 但是kafka每一批都会拉取max.poll.records(默认500条数据) 比如说在消费第300条数据是手动提交的时候 (1-300条数据)消费的总时长超过了max.poll.interval.ms 就会被踢出消费者组
你使用的非官方的CSI镜像,该镜像未实现自动扩容接口,修改的PVC只是针对k8s进行了修改操作,但未对ceph和本地挂载进行扩容操作。
通过查询pv获取ceph的pool和镜像内容:
kubectl get pv pvc-ef145c0b-d9ee-4a99-9821-8ca69ea12515 -o yaml
...
rbd:
fsType: xfs
image: kubernetes-dynamic-pvc-ef145c0b-d9ee-4a99-9821-8ca69ea12515
...
pool: k8s-rbd
...
进入ceph的管理节点。
查看
rbd info k8s-rbd/kubernetes-dynamic-pvc-ef145c0b-d9ee-4a99-9821-8ca69ea12515
手动扩容ceph的镜像大小:
rbd resize k8s-rbd/kubernetes-dynamic-pvc-ef145c0b-d9ee-4a99-9821-8ca69ea12515 --size 5G
查看Pod所在的宿主机,找到对应挂的磁盘 /dev/rbd6 根据不同的文件类型执行下列命令。
# 类型为:xfs
xfs_growfs /dev/rbd6
# 其它类型使用
resize2fs /dev/rbd6
在查看pod内的大小,已经生效了。
问题解决了。但是原因具体原因不能确定。如果有相同情况,可以按照这个思路排查看看。
我们服务器是arm架构,但是jdk没有使用arm架构的,替换了jdk版本后文件正常删除了。
改了之后:虽然钉钉还会在网络波动的时候报警,因为数据从生产到目标topic大概会用1分钟时间。但是再也没有重复消费情况了。感谢!
啊,不知道理解的对不对?:
第一个代码是:病人是对象,注射类型、是否注射、病人都是其属性。显然这些东西作为病人的属性是不“面向对象的”。就比如我们不能说猫是狗的对象,只能说狗有个属性是玩,把对象猫给它,它就能玩了。
第二个代码是:病人是对象,他有个方法是注射疫苗,直接调方法就能实现功能。但是细节未知。
第三个代码是:病人、护士、疫苗都是不同对象,先选出疫苗类型,护士可以做的事是打标准疫苗,只要将疫苗和病人给护士,护士就能完成这个事情。
消费者是批量拉取消息,也就是说在你停止项目的时候,如果此时刚拉取了消息,提交offsr,但程序只处理一部分,那剩下的消息就会漏掉。