优化 Cassandra 性能:定制 Docker 镜像解决 k8s 部署中的配置挑战
在这个方案中,为了调优Cassandra并解决配置未生效的问题,我们采用了通过Kubernetes、ArgoCD以及Bitnami的Helm Chart部署Cassandra的方式。由于直接在Helm Chart中修改Cassandra配置没有生效,我们选择了重新制作Docker镜像的方法来修改配置。通过创建一个新的Dockerfile,我们使用sed命令直接修改了Cassandra的默认配置文件
·
背景
- 我们部署 Cassandra 是通过 k8s + argocd + helm 部署的
- 我们需要修改 cassandra helm chart 中的相关配置以实现 cassandra 调优的目的,但是这种方式修改的 cassandra 配置都没有生效,让调优无法进行,通过各种尝试后我们找到如下解决方案
解决方案(通过重新制作 Docker 镜像修改配置)
重新制作 Docker 镜像并修改配置
FROM docker-registry-vpc.xxx.com/mirror/cassandra:4.0.11-debian-11-r7
USER root
RUN sed -i -e 's/# native_transport_max_threads: .*/native_transport_max_threads: 4096/g' \
-e 's/concurrent_reads: .*/concurrent_reads: 256/g' \
-e 's/concurrent_writes: .*/concurrent_writes: 192/g' \
-e 's/#concurrent_compactors: .*/concurrent_compactors: 8/g' \
/opt/bitnami/cassandra/conf.default/cassandra.yaml
构建镜像
docker build -t docker-registry-vpc.xxx.com/world/cassandra:4.0.11-debian-11-r7-20240105a .
推送镜像到远程仓库
# 标记您的镜像
docker tag docker-registry-vpc.xxx.com/world/cassandra:4.0.11-debian-11-r7-20240105a docker-registry-vpc.xxx.com/world/cassandra:4.0.11-debian-11-r7-20240105a
# 推送镜像
docker push docker-registry-vpc.xxx.com/world/cassandra:4.0.11-debian-11-r7-20240105a
使用最新的镜像部署即可,最终配置全部都能生效
更多推荐
已为社区贡献1条内容
所有评论(0)