CentOS 7.9 安装 ClickHouse 文档
1. 环境准备
确保系统为 CentOS 7.9,并已安装 Docker。如果未安装 Docker,请先安装 Docker。
安装 Docker
# 卸载旧版本 Docker(如果有) sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine# 安装依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2# 添加 Docker 官方仓库 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装 Docker sudo yum install -y docker-ce docker-ce-cli containerd.io# 启动 Docker 服务 sudo systemctl start docker sudo systemctl enable docker# 验证 Docker 是否安装成功 docker --version
2. 创建 ClickHouse 数据目录和配置文件目录
在宿主机上创建 ClickHouse 的数据目录和配置文件目录:
sudo mkdir -p /hskj/clickhouse/data sudo mkdir -p /hskj/clickhouse/config
3. 准备 ClickHouse 配置文件
ClickHouse 的配置文件包括 config.xml 和 users.xml。可以从容器中提取默认配置文件,或手动创建。
方法 1:从容器中提取默认配置文件
运行以下命令从 ClickHouse 官方镜像中提取默认配置文件:
docker run --rm clickhouse/clickhouse-server:24.9.3.128 \cat /etc/clickhouse-server/config.xml > /hskj/clickhouse/config/config.xmldocker run --rm clickhouse/clickhouse-server:24.9.3.128 \cat /etc/clickhouse-server/users.xml > /hskj/clickhouse/config/users.xml
方法 2:手动创建配置文件
如果不需要默认配置,可以手动创建配置文件。
-
/hskj/clickhouse/config/config.xml(基本配置):
<yandex><logger><level>trace</level><log>/var/log/clickhouse-server/clickhouse-server.log</log><errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog></logger><http_port>8123</http_port><tcp_port>9000</tcp_port><interserver_http_port>9009</interserver_http_port><path>/var/lib/clickhouse/</path><tmp_path>/var/lib/clickhouse/tmp/</tmp_path><user_files_path>/var/lib/clickhouse/user_files/</user_files_path> </yandex>
运行 HTML
-
/hskj/clickhouse/config/users.xml(用户配置):
<yandex><users><default><password></password><networks><ip>::/0</ip></networks><profile>default</profile><quota>default</quota></default></users> </yandex>
运行 HTML
4. 拉取 ClickHouse 镜像
从 Docker Hub 拉取指定版本的 ClickHouse 镜像:
docker pull docker.imgdb.de/clickhouse/clickhouse-server:24.9.3.128
5. 启动 ClickHouse 容器
使用以下命令启动 ClickHouse 容器,并将数据目录和配置文件目录映射到宿主机:
docker run -d \--name docker.imgdb.de/clickhouse-server \-p 8123:8123 \ # ClickHouse HTTP 接口-p 9000:9000 \ # ClickHouse TCP 接口-p 9009:9009 \ # ClickHouse 复制通信端口-v /hskj/clickhouse/data:/var/lib/clickhouse \ # 映射数据目录-v /hskj/clickhouse/config:/etc/clickhouse-server \ # 映射配置文件目录clickhouse/clickhouse-server:24.9.3.128
docker run -d --name clickhouse-server -p 8123:8123 -p 9000:9000 -p 9009:9009 -v /hskj/clickhouse/data:/var/lib/clickhouse -v /hskj/clickhouse/config:/etc/clickhouse-server clickhouse/clickhouse-server:24.9.3.128
6. 验证容器状态
检查容器是否正常运行:
docker ps -a | grep clickhouse-server
查看容器日志:
docker logs clickhouse-server
7. 连接到 ClickHouse
使用 clickhouse-client 连接到 ClickHouse 服务器:
docker exec -it clickhouse-server clickhouse-client
或者通过 HTTP 接口访问:
curl http://localhost:8123

8. 验证数据目录和配置文件
-
检查数据目录
/hskj/clickhouse/data,确认数据文件已生成。 -
检查配置文件目录
/hskj/clickhouse/config,确认配置文件已生效。
9. 停止和删除容器(可选)
如果需要停止或删除容器,可以使用以下命令:
# 停止容器 docker stop clickhouse-server# 删除容器 docker rm clickhouse-server
10. 注意事项
-
如果需要自定义配置,可以修改
/hskj/clickhouse/config目录中的配置文件,然后重启容器使配置生效:docker restart clickhouse-server
-
确保宿主机的目录权限正确,避免容器无法访问映射的目录。
通过以上步骤,你可以在 CentOS 7.9 上成功安装并运行 ClickHouse,同时将数据目录和配置文件目录映射到宿主机,确保数据的持久化和配置的灵活性。
相关文章:
CentOS 7.9 安装 ClickHouse 文档
1. 环境准备 确保系统为 CentOS 7.9,并已安装 Docker。如果未安装 Docker,请先安装 Docker。 安装 Docker # 卸载旧版本 Docker(如果有) sudo yum remove -y docker docker-client docker-client-latest docker-common docker-…...
高考數學。。。
2024上 具体来说,直线的参数方程可以写为: x1t y−t z1t 二、简答题(本大题共5小题,每小题7分,共35分。) 12.数学学习评价不仅要关注结果评价,也要关注过程评价。简要说明过程评价应关注哪几个方面。…...
使用GitLink个人建站服务部署Allure在线测试报告
更多技术文章,访问软件测试社区 文章目录 🚀前言🔑开通GitLink个人建站服务1. 前提条件2. 登录GitLink平台(https://www.gitlink.org.cn/login)3. 进入设置>个人建站>我的站点4. 新建站点5. 去仓部进行部署6. 安…...
Linux 上离线安装 python3
在Linux系统上进行离线安装 Python3,通常是因为目标机器没有网络连接。以下是一个通用的步骤指南,帮助你在这种情况下成功安装Python 3: 下载安装包 选择一台有网络连接的机器:这台机器的操作系统应该尽可能与目标机器相同或相似…...
js操作字符串的常用方法
1. 查找和截取 1.1 indexOf 作用:查找子字符串在字符串中首次出现的位置。 是否改变原字符串:不会改变原字符串。 返回值:如果找到子字符串,返回其起始索引(从 0 开始);如果未…...
自动化学习-使用git进行版本管理
目录 一、为什么要学习git 二、git是什么 三、git如何使用 1、git的下载安装和配置 2、git常用的命令 3、gitee远程仓库的使用 (1)注册 (2)创建仓库 (3)配置公钥(建立电脑和git…...
GCC RISCV 后端 -- GCC Passes 注释
在前面文章提到,当GCC 前端完成对C源代码解析完成后,就会使用 处理过程(Passes)机制,通过一系列的处理过程,将 GENERIC IR 表示的C程序 转步转换成 目标机器的汇编语言。过程描述如下图所示: 此…...
Ollama存在安全风险的情况通报及解决方案
据清华大学网络空间测绘联合研究中心分析,开源跨平台大模型工具Ollama默认配置存在未授权访问与模型窃取等安全隐患。鉴于目前DeepSeek等大模型的研究部署和应用非常广泛,多数用户使用Ollama私有化部署且未修改默认配置,存在数据泄露、算力盗…...
IDEA Generate POJOs.groovy 踩坑小计 | 生成实体 |groovy报错
一、无法生成注释或生成的注释是null 问题可能的原因: 1.没有从表里提取注释信息,修改def calcFields(table)方法即可 def calcFields(table) {DasUtil.getColumns(table).reduce([]) { fields, col ->def spec Case.LOWER.apply(col.getDataType().…...
阿里云云监控资源告警常用模板
阿里云云监控资源告警常用模板 {"HostAvailabilityTemplate": [],"Description": "","SystemEventTemplates": [],"AlertTemplatesJson": {"kvstore_standard": [{"displayName": "Connection usa…...
Tailwind CSS 问题:npm error could not determine executable to run
问题与处理策略 问题描述 npx tailwindcss init -p在使用 Tailwind CSS 的前端项目中,执行上述指令,即初始化 Tailwind CSS 时,报如下错误 npm error could not determine executable to run# 报错npm 错误无法确定要运行的可执行文件问题…...
vue基本功
watchEffect和watch watchEffect默认 immdiate 是 true,而且自动收集依赖 watch需要手动写依赖,immdiate 默认是 false toRef和toRefs toRef: 复制 reactive 里的单个属性并转成 ref toRefs: 复制 reactive 里的所有属性并转成 ref vue3中使用vuex import { useStore } f…...
.NET10 - 预览版1新功能体验(一)
.NET 10 首个预览版已经在前两天发布,该版本在 .NET Runtime、SDK、libraries、C#、ASP.NET Core、Blazor 和 .NET MAUI 等多个方面都有重大改进和增强。其中C# 14 预览版也伴随着.NET 10预览版一起发布了,今天就和大家一起体验一下.NET 10 和 C# 14 。 …...
java下载多个网络文件并压缩成压缩包保存到本地
背景 开发票的时候远程会返回发票的url,现在客户端需要下载发票;因为一个订单可能不止一张发票,因此需要通过网络把远程的文件下载回来并压缩成压缩文件进行返回。 实现 本文的例子直接基于java.net包下面的类实现。(因为是基于…...
23种设计模式之单例模式(Singleton Pattern)【设计模式】
文章目录 一、简介二、关键点三、实现单例模式的步骤四、C#示例4.1 简单的单例模式4.2 线程安全的单例模式(双重检查锁定)4.3 静态初始化单例模式 五、单例模式优缺点5.1 优点5.2 缺点 六、适用场景七、示例的现实应用 一、简介 单例模式(Si…...
[项目]基于FreeRTOS的STM32四轴飞行器: 四.LED控制
基于FreeRTOS的STM32四轴飞行器: 四.LED控制 一.配置Com层二.编写驱动 一.配置Com层 先在Com_Config.h中定义灯位置的枚举类型: 之后定义Led的结构体: 定义飞行器状态: 在Com_Config.c中初始化四个灯: 在Com_Config.h外部声明…...
使用 dynamic-datasource-spring-boot-starter 实现多数据源动态切换
目录 在实际开发中,我们经常会遇到需要在一个项目中连接多个数据源的场景。例如,一个应用可能需要同时访问多个数据库,或者根据业务需求动态切换数据源。dynamic-datasource-spring-boot-starter 是一个基于 Spring Boot 的轻量级多数据源动态…...
springboot中注解有什么用
注解(Annotation)是 Java 的一个重要特性,我用几个具体例子来解释: 1、标记功能 Service // 告诉Spring这是一个服务类 public class UserService { }Data // 告诉Lombok自动生成getter/setter public class User {private…...
Spring Boot 缓存最佳实践:从基础到生产的完整指南
Spring Boot 缓存最佳实践:从基础到生产的完整指南 引言 在现代分布式系统中,缓存是提升系统性能的银弹。Spring Boot 通过 spring-boot-starter-cache 模块提供了开箱即用的缓存抽象,但如何根据业务需求实现灵活、可靠的缓存方案…...
Linux网络相关内容与端口
网络相关命令 ping命令测试连接状态 wget命令:非交互式文件下载器,可以在命令行内下载网络文件 使用ctrlc可以中止下载 curl命令:可以发送http网络请求,用于文件下载、获取信息等 其实和浏览器打开网站一样,cu…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
