使用helm部署clickhouse

(作者:陈玓玏)


前置条件

  1. 已安装 Kubernetes 集群;
    在这里插入图片描述
  2. 已安装 Helm 包管理工具。
    在这里插入图片描述

部署

1 添加 RadonDB ClickHouse 的 Helm 仓库

helm repo add ck https://radondb.github.io/radondb-clickhouse-kubernetes/
helm repo update

2 部署 RadonDB ClickHouse Operator

helm install clickhouse-operator ck/clickhouse-operator

3 部署 RadonDB ClickHouse 集群

helm install clickhouse ck/clickhouse-cluster

完成这几步之后查看k8sdashboard,发现clickhouse的zk部署出现了问题,pv有问题,0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims.。
在这里插入图片描述

这里的原因是pvc创建之后没有申请到合适的pv,查看k8sdashboard发现没有available的pv,所以手动创建pv,需要注意spec中accessModes和storage等需要匹配pvc,yaml文件如下:

kind: PersistentVolume
apiVersion: v1
metadata:name: data-zk-clickhouse-0
spec:capacity:storage: 20GihostPath:path: /home/clickhouse/zk0type: ''accessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainvolumeMode: Filesystem

我是直接复制的现成的yaml文件改的,所以有些冗余的内容,但只要关键内容对就行了。一共有3个没有匹配上pv的pvc,所以我们创建3个pv就可以了。

修改后发现pvc都正常了。
在这里插入图片描述
会有几个pod起得慢些,如果再出现类似问题,继续创建pv即可解决,我一共建了5个pv。

但仍然有pod不正常的问题,显示Back-off restarting failed container,一直重启一直失败,查看日志发现报错是mkdir: cannot create directory ‘/var/lib/zookeeper/data’: Permission denied。
在这里插入图片描述
这个问题的解决方案,目前只找到一个修改权限,改为root权限的,可能不是最好的,但修改后确实pod可用了,具体是将zk-clickhouse的yaml文件中的spec部分修改securityContext,原来都是1000,没有创建文件的权限。

securityContext:runAsUser: 0fsGroup: 0

在这里插入图片描述
比较神奇的事情是,一开始不是root权限,修改为root权限后,文件夹创建成功,再修改为非ro
ot权限后,再重启pod依然是ok的,猜测可能是后续不需要再创建文件夹了,因为挂载目录下的文件夹已经存在,其他操作又都不需要root权限。所以觉得改为root权限不好的,pod启动成功后可以再改回去试试。

使用

apt install -y clickhouse-client

部署clickhouse客户端
连接clickhouse,需要从values.yaml里获取账号密码,所以需要用helm pull ck/clickhouse-cluster下载,然后用tar zxvf解压,再用账号密码登录。
clickhouse-client --user=clickhouse --host=10.43.234.214 --port=9000 --password="c1ickh0use0perator"在这里插入图片描述
连接成功。
在这里插入图片描述

参考链接:

https://github.com/strimzi/strimzi-kafka-operator/issues/1720
https://xie.infoq.cn/article/bb976ac9d5a540cc196921cbe

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/741579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法设计】实验四回溯算法(附源代码)

这里写目录标题 一、上机目的二、上机内容与要求三、上机步骤四、上机结果1、将课本5.2节算法改为程序,并输入数据及进行测试;2、自学5.4节,并完成符号三角形问题。 一、上机目的 1、通过回溯法的示例程序理解回溯法的基本思想; …

信号处理-探索相邻数据点之间的变化和关联性的操作方法

当前值减去前一个值,乘上当前值与前一个值差值的绝对值 当前值减去后一个值,乘上当前值与后一个值差值的绝对值。 意义何在? 当前值减去前一个值:表示当前数据点与前一个数据点之间的变化量。当前值与前一个值差值的绝对值&…

Pycharm的Project Structure (项目结构)

文章目录 一、Sources二、Tests三、Exeluded四、Namespace packages五、Templates六、Resources 一、Sources 源代码根目录:包含项目的主要源代码,它会在这个目录下搜索代码,然后自动补全和只能提示都通过这里的代码提供。若项目运行自定义代…

luatos框架中LVGL如何使用中文字体〈二〉编写脚本设置中文字体

本节内容,将和大家一同学习,在luatos环境中,使用lvgl库,一步步的编译固件、编写脚本,最终实现中文字体的显示。 芯片:AIR101 LCD屏:ST7789 上一节,我们一同学习了,硬件引…

使用vue动态在列表中添加或者删除某一行

** 使用vue动态在列表中添加或者删除某一行 ** 先看一下展示的效果&#xff1a; 好了上代码&#xff1a; 样式界面&#xff1a; <template><div class"container"><h4 style"margin-left: 20px;">线路停靠站站点</h4><el-b…

无缝集成 MongoDB Relational Migrator,Tapdata 提供关系型到 MongoDB 实时迁移优化方案

在去年的 MongoDB 用户大会纽约站上&#xff0c;MongoDB 正式宣布全面推出新工具 MongoDB Relational Migrator&#xff08;MongoDB RM&#xff09;&#xff0c;用以简化应用程序迁移和转换——即从传统关系型数据模型到现代的文档数据模型&#xff0c;助力组织快速提升运营效率…

数字图像处理 使用C#进行图像处理九 实现傅里叶变换

一、简述 傅立叶变换将图像分解为其正弦和余弦分量。换句话说,它将图像从空间域变换到频率域。这个想法是任何函数都可以用无限正弦函数和余弦函数之和来精确近似。傅里叶变换是实现此目的的一种方法。 网上有很多关于傅里叶变换的文章,这里就不进行赘述了,这里主要结合代码…

java中xml概述

1.xml 1.1概述【理解】 万维网联盟(W3C) 万维网联盟(W3C)创建于1994年&#xff0c;又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。 建立者&#xff1a; Tim Berners-Lee (蒂姆伯纳斯李)。 是Web技术领域最具权威和影响力的国际中立性技术标准机构。 到目前为…

element ui 中文离线文档(百度云盘下载)

一般内网开发上不了网&#xff0c;用离线版本比较方便&#xff0c;下载地址&#xff1a; https://download.csdn.net/download/li836779537/88355878?spm1001.2014.3001.5503 下载后里面有个 index.hrml 双击打开就可以用 效果如下&#xff1a;

Python程序设计基础——代码习题

1 __name__属性 import demodef main():if __name__ __main__:print(这个程序被直接运行。)elif __name__demo:print(这个程序作为模块被使用。) main()3.3 编写程序&#xff0c;生成包含1000个0~100之间的随机整数&#xff0c;并统计每个元素出现的次数。 import randomx[r…

助贷系统crm:帮助助贷机构实现高效的客户关系管理

助贷系统CRM&#xff08;客户关系管理系统&#xff09;是一种能够帮助助贷企业实现高效客户关系管理的工具&#xff0c;通过助贷系统CRM&#xff0c;助贷企业可以更好地管理企业客户信息&#xff0c;跟踪客户互动、提高客户满意度&#xff0c;从而促进业务增长。 1. 客户信息集…

vMware WorkStation创建虚拟机安装CentOS7,NAT模式配置网络

一、安装虚拟机 1、选择典型&#xff08;推荐&#xff09;配置 2、选择稍后安装操作系统 3、操作系统选择CentOS7 64位 4、虚拟机命名、选择安装位置 6、指定磁盘容量 7、指定磁盘容量 步骤&#xff1a; &#xff08;1&#xff09;、系统内存2GB &#xff08;2&#xff09;、…

linux-MDK can电机带导轨

确保接线正确&#xff0c;这个带导轨的电机需要24V的电压 $ ls /dev //查看端口是什么$ sudo slcand -o -s6 /dev/ttyACM0 can0 //将端口封装为can0 $ sudo ip link set can0 up //打开端口 按照电机说明书&#xff0c;按照需要的指令计算检验和&#xf…

FreeRTOS 的任务挂起和恢复

1. 任务挂起和恢复的 API 函数 API函数描述vTaskSuspend()挂起任务vTaskResume()恢复被挂起的任务xTaskResumeFromISR()在中断中恢复被挂起的任务 挂起&#xff1a;挂起任务类似暂停&#xff0c;可恢复&#xff1b; 删除任务&#xff0c;堆栈都给释放掉了&#xff0c;无法恢复…

计算机网络-第7章 网络安全(2)

7.5 密钥分配 7.6 互联网使用的安全协议 7.7 系统安全&#xff1a;防火墙与入侵检测

【故障电弧探测器 方案介绍】安科瑞电气火灾监控系统

什么是电弧&#xff1f; 电弧俗称‘电火花’ &#xff0c;又叫‘打火’ &#xff0c;本质是一种绝缘体被电压击穿后&#xff0c;由不导电变的导电&#xff0c;且发光发热的自然现象。 什么是故障电弧&#xff1f; 由于电气线路或设备中绝缘老化破损、电气连接松动、空气潮湿…

SpringCloud Hystrix 断路器

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅&#xff0c;从传统的模块之间调用&#xff0c;一步步的升级为 SpringCloud 模块之间的调用&#xff0c;此篇文章为第五篇&#xff0c;即介绍 Hystrix 断路器。 二、概述 2.1 分布式系统面临的问题 复杂分布式体系结构中…

TIOBE 3月编程排行榜出炉:遥遥领先,霸榜第一!

哈喽呀~又到了每个月的语言排行榜啦&#xff01; TIOBE 3月编程语言也已经公布&#xff0c;具体有啥新变化呢&#xff1f;快和我一起往下看~ Python遥遥领先&#xff0c;霸榜第一 先来看看本月排行榜top5的表现。毫无疑问&#xff0c;Python依然遥遥领先&#xff1a; Python 第…

RabbitMQ学习笔记——消息转化器

消息转化器的问题&#xff0c;如果我们发送方发送的数据为引用类型的对象&#xff0c;默认使用的是JDK内部自带的ObjectOutputStream进行对象序列化和反序列化&#xff0c;这样做比较复杂并且不安全。 我们可以引入Jackson来做对象的序列化&#xff0c;可将默认的JDK消息转化器…

Testng认识与配置-全网最简单

总结&#xff1a;testng支持注解&#xff0c;线程池&#xff0c;数据驱动&#xff0c;参数化&#xff0c;强大执行模式&#xff0c;也支持单元测试&#xff0c;功能测试&#xff0c;接口测试 TestNG is a testing framework inspired from JUnit and NUnit but introducing som…