当前位置: 首页 > news >正文

clickhouse-v24.1-离线部署

部署版本

数据库版本:24.1.1.2048

jdk版本:jdk8

4个文件(三个ck的包):

OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar

clickhouse-client-24.1.1.2048.x86_64.rpm

clickhouse-common-static-24.1.1.2048.x86_64.rpm

clickhouse-server-24.1.1.2048.x86_64.rpm

文件下载地址

百度云个人下载地址(可能失效):

链接: 百度网盘 请输入提取码 提取码: 2xy6

官网地址:

packages.clickhouse.com/rpm/stable/

阿里云地址:

clickhouse-rpm安装包下载_开源镜像站-阿里云

本次部署集群情况

三个节点的集群

副本设置了一分片三副本

检查环境

官方预构建的二进制文件通常针对 x86_64 进行编译,并利用 SSE 4.2 指令集,因此,除非另有说明,支持它的 CPU 使用将成为额外的系统需求。下面是检查当前 CPU 是否支持 SSE 4.2 的命令:

$ grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"

部署过程

网络配置

如果你部署的环境有端口访问限制,需要提前开通这些端口的访问权限

端口:8123 9000 9009(内部互相访问) 9181 9234 

cat > /etc/hosts <<EOF
10.1.1.5 bigdata01
10.1.1.6 bigdata02
10.1.1.7 bigdata03
EOF

修改本地的主机名,每个节点执行的主机名根据上面的网络设置进行修改

hostnamectl set-hostname 新主机名

eg:

hostnamectl set-hostname bigdata01

jdk安装

#上传到对应的目录,然后解压
tar -xf OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar.gz -C /usr/local# 配置环境变量
cat > /etc/profile.d/jdk.sh <<EOF
JAVA_HOME=/usr/local/jdk8u382-b05
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
EOF#配置生效
source /etc/profile.d/jdk.sh

ck安装

每个节点都要执行操作

#提前把这三个文件放到同一目录下面
#clickhouse-client-24.1.1.2048.x86_64.rpm
#clickhouse-common-static-24.1.1.2048.x86_64.rpm
#clickhouse-server-24.1.1.2048.x86_64.rpm
# 安装ck的三个包 (去掉keeper的组件,否则提示冲突)
yum -y install clickhouse-*# 修改配置# 修改数据、缓存存储位置
sed -i 's#var/lib/clickhouse#data/clickhouse#g' /etc/clickhouse-server/config.xml# 创建存储目录
mkdir /data/clickhouse && chown -R clickhouse.clickhouse /data/clickhouse#日志目录(非必须,如果启动提示文件不存在,再创建)
vim /var/log/clickhouse-server/clickhouse-server.log
vim /var/log/clickhouse-server/clickhouse-server.err.log# 设置权限
chown clickhouse:clickhouse /var/log/clickhouse-server/clickhouse-server.log
chown clickhouse:clickhouse /var/log/clickhouse-server/clickhouse-server.err.log
chown clickhouse:clickhouse /usr/bin/clickhouse# 配置文件的权限
chmod 644 /etc/clickhouse-server/config.xml# 修改监听地址使远程可访问
cat > /etc/clickhouse-server/config.d/listen.xml <<EOF
<clickhouse><listen_try>1</listen_try><listen_host>0.0.0.0</listen_host>
</clickhouse>
EOF#修改时区
cat > /etc/clickhouse-server/config.d/timezone.xml <<EOF
<clickhouse><timezone>Asia/Shanghai</timezone>
</clickhouse>
EOF

修改keeper

注:每个节点server_id的值不一样,根据实际修改。该参数不能重复,每个节点唯一

注:单节点的raft_configuration参数也需要配置

修改 /etc/clickhouse-server/config.xml 主配置文件,在根节点 <clickhouse> 下添加配置。server_id 字段需要每个节点唯一。

#打开配置文件

vim /etc/clickhouse-server/config.xml

#根节点 <clickhouse> 标签下添加以下内容

<!-- 添加以下条目以允许通过网络接口进行外部通信。 -->
<listen_host>0.0.0.0</listen_host><!-- 指定实例启用 ClickHouse Keeper。更新每台服务器的<server_id>设置,node1为1、node2为2、node3为3。-->
<keeper_server><tcp_port>9181</tcp_port><server_id>1</server_id><log_storage_path>/data/clickhouse/coordination/log</log_storage_path><snapshot_storage_path>/data/clickhouse/coordination/snapshots</snapshot_storage_path><coordination_settings><operation_timeout_ms>10000</operation_timeout_ms><session_timeout_ms>30000</session_timeout_ms><raft_logs_level>warning</raft_logs_level><force_sync>false</force_sync></coordination_settings><raft_configuration><server><id>1</id><hostname>bigdata01</hostname><port>9234</port></server><server><id>2</id><hostname>bigdata02</hostname><port>9234</port></server><server><id>3</id><hostname>bigdata03</hostname><port>9234</port></server></raft_configuration>
</keeper_server><!-- 指定实例所使用的 ClickHouse Keeper -->
<zookeeper><node><host>bigdata01</host><port>9181</port></node><node><host>bigdata02</host><port>9181</port></node><node><host>bigdata03</host><port>9181</port></node>
</zookeeper>

配置项目的作用:

coordination_settings 配置下的force_sync的作用:

force_sync 选项用于决定 ClickHouse Keeper 是否强制将数据同步到磁盘。在 ClickHouse Keeper 中,当客户端请求更新 ZooKeeper 的数据节点时,ClickHouse Keeper 会将这些更新写入内存缓冲区,并最终写入磁盘。force_sync 控制着这些更新何时被强制同步到磁盘。

修改宏变量

注:每个节点的shard、replica值不一样,根据实际修改

三个节点的副本值replica不同

本次的配置是1分片,3副本(一个数据块,在三个服务器上面存储分别存一份)

bigdata01


vim /etc/clickhouse-server/config.d/macros.xml<clickhouse><macros><installation>ck_cluster</installation><cluster>ck_cluster</cluster><shard>1</shard><replica>1</replica></macros>
</clickhouse>

bigdata02


vim /etc/clickhouse-server/config.d/macros.xml<clickhouse><macros><installation>ck_cluster</installation><cluster>ck_cluster</cluster><shard>1</shard><replica>2</replica></macros>
</clickhouse>

bigdata03


vim /etc/clickhouse-server/config.d/macros.xml<clickhouse><macros><installation>ck_cluster</installation><cluster>ck_cluster</cluster><shard>1</shard><replica>3</replica></macros>
</clickhouse>

修改集群的分片、副本

三个节点操作一致

vim /etc/clickhouse-server/config.d/remote-servers.xml

<clickhouse><default_on_cluster_name>ck_cluster</default_on_cluster_name><default_replica_path>/clickhouse/tables/{cluster}/{shard}/{database}/{table}</default_replica_path><default_replica_name>{replica}</default_replica_name><remote_servers><!-- User-specified clusters --><ck_cluster replace="false"><shard><internal_replication>true</internal_replication><replica><host>bigdata01</host><port>9000</port><user>default</user><password>jM80NNij</password></replica><replica><host>bigdata02</host><port>9000</port><user>default</user><password>jM80NNij</password></replica><replica><host>bigdata03</host><port>9000</port><user>default</user><password>jM80NNij</password></replica></shard></ck_cluster></remote_servers>
</clickhouse>

用户密码

# 生成密码
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'#生成结果
jM80NNij
e377b4470304eadc7342f33ff6cfccc26f7888d46646d6956b7209d33a5f2fb1

#内容 - 建议放在某个配置文件中做留存,防止遗忘

<!--password  jM80NNij     e377b4470304eadc7342f33ff6cfccc26f7888d46646d6956b7209d33a5f2fb1 -->#解释 
# 正常用来登录的密码
jM80NNij
# 配置文件中配置的密码
e377b4470304eadc7342f33ff6cfccc26f7888d46646d6956b7209d33a5f2fb1

打开sql管理能力

vim /etc/clickhouse-server/users.xml
# 编辑该配置项目,打开sql管理能力 
<access_management>1</access_management>

添加用户

adminuser帐号配置:

vim /etc/clickhouse-server/users.d/adminuser.xml<clickhouse><users><adminuser><!--password  jM80NNij     e377b4470304eadc7342f33ff6cfccc26f7888d46646d6956b7209d33a5f2fb1 --><password_sha256_hex>e377b4470304eadc7342f33ff6cfccc26f7888d46646d6956b7209d33a5f2fb1</password_sha256_hex><!-- 打开 adminuser 用户远程连接 --><networks><ip>::/0</ip></networks><quota>default</quota><profile>default</profile></adminuser></users>
</clickhouse>

用户名:adminuser

密码:jM80NNij

default帐号配置:

# 添加密码
sed -i 's#<password></password>#<password_sha256_hex>e377b4470304eadc7342f33ff6cfccc26f7888d46646d6956b7209d33a5f2fb1</password_sha256_hex>#' /etc/clickhouse-server/users.xml

用户名:default

密码:jM80NNij

启动服务

systemctl start clickhouse-server.service
systemctl status clickhouse-server.service
systemctl enable clickhouse-server.service

查看实时日志

journalctl -u clickhouse-server.service -f

验证

启动 ClickHouse 并验证每个 Keeper 实例是否正在运行。在每台服务器上执行以下命令。如果 Keeper

正在运行且运行正常,则该命令将返回: ruok``imok

# echo ruok | nc localhost 9181; echo
imok

如果没有nc 命令

telnet bigdata0x 9181
# eg  telnet bigdata01 9181

数据库有一个名为zookeeper的表,其中包含 ClickHouse Keeper 实例的详细信息。让我们看一下表格:system.zookeeper

先登录:

clickhouse-client --password="jM80NNij"

SELECT *
FROM system.zookeeper
WHERE path IN ('/', '/clickhouse');# 查看集群
SHOW CLUSTERS;#  查看集群
SELECTcluster,shard_num,replica_num,host_name,is_local,user,database_shard_name,database_replica_name
FROM system.clusters

查看ClickhouseKeeper的日志

clickhouse-keeper dump /path/to/changelog_1_100000.bin

补充系统日志表的保留时间

查看所有表以及相关的信息

SELECT sum(rows) AS `总行数`,formatReadableSize(sum(data_uncompressed_bytes)) AS `原始大小`,formatReadableSize(sum(data_compressed_bytes)) AS `压缩大小`,round((sum(data_compressed_bytes) / sum(data_uncompressed_bytes)) * 100, 0) AS `压缩率`,`table` AS `表名`
FROM system.parts where database = 'system' group by `table`;

修改的语句

ALTER TABLE `system`.metric_log MODIFY TTL event_date + toIntervalDay(15);
ALTER TABLE `system`.trace_log MODIFY TTL event_date + toIntervalDay(15);
ALTER TABLE `system`.query_log MODIFY TTL event_date + toIntervalDay(15);
ALTER TABLE `system`.asynchronous_metric_log MODIFY TTL event_date + toIntervalDay(15);# 查看创建语句是否成功
SHOW CREATE  `system`.metric_log;

B站视频

【clickhouse-v24.1-离线集群部署】 https://www.bilibili.com/video/BV1yNpieREL2/?share_source=copy_web&vd_source=54b8e98ca037df7d40df4e66e8fae702

相关文章:

clickhouse-v24.1-离线部署

部署版本 数据库版本&#xff1a;24.1.1.2048 jdk版本&#xff1a;jdk8 4个文件&#xff08;三个ck的包&#xff09;&#xff1a; OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar clickhouse-client-24.1.1.2048.x86_64.rpm clickhouse-common-static-24.1.1.2048.x86_64.…...

安卓13删除app 链接库警告弹窗Detected problems with app native

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码修改彩蛋1.前言 有些客户的APP,打开首次会弹窗提示窗口, Detected problems with app native libraries (please consult log for detail):,需要删除这个窗口,避免挡住用户APP。而且这个提示有些app是以t…...

第四次北漂----挣个独立游戏的素材钱

第四次北漂&#xff0c;在智联招聘上&#xff0c;有个小公司主动和我联系。面试了下&#xff0c;决定入职了&#xff0c;osg/osgearth的。月薪两万一。 大跌眼镜的是&#xff0c;我入职后&#xff0c;第一天的工作内容就是接手他的工作&#xff0c;三天后他就离职了。 我之所以…...

漫谈设计模式 [12]:模板方法模式

引导性开场 菜鸟&#xff1a;老大&#xff0c;我最近在做一个项目&#xff0c;遇到了点麻烦。我们有很多相似的操作流程&#xff0c;但每个流程的细节又有些不同。我写了很多重复的代码&#xff0c;感觉很乱。你有啥好办法吗&#xff1f; 老鸟&#xff1a;嗯&#xff0c;听起…...

CSS学习10[重点]--浮动、浮动的效果以及内幕特性

CSS布局——浮动 前言一、普通流二、浮动三、什么是浮动?四、浮动的内幕特性总结 前言 CSS盒子布具的三种机制&#xff1a;普通流&#xff08;标准流&#xff09;、定位、浮动。 一、普通流 普通流&#xff1a;网页内元素自上而下&#xff0c;从左到右排序。 二、浮动 浮动…...

matlab基本语法

基本语法 变量命名规则 区分大小写长度不超过63位字母开头&#xff0c;可以有字母、下划线和数字组成&#xff0c;但不能使用标点应该简洁明了 命令行窗口 >>>clc 清楚命令窗口 >>> claer all 清理工作区内容 注释 %% 注释符 数据类型 1.数字 11 2…...

【Leetcode152】乘积最大子数组(动态规划)

文章目录 一、题目二、思路三、代码 一、题目 二、思路 &#xff08;0&#xff09;读懂题意&#xff1a;题目的“连续”是指位置的连续&#xff0c;而不是说数字的连续&#xff0c;这是个大坑。 &#xff08;1&#xff09;确定状态&#xff1a;定义两个状态来记录当前子数组的…...

STM32(十二):DMA直接存储器存取

DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输&#xff0c;无须CPU干预&#xff0c;节省了CPU的资源。&#xff08;运行内存SRAM、程序存储器Flash、寄存器&#xff09; 12个独立可配置的通道&…...

关于我2020年7月至今(2024.9)的“炒股”经历和感受

声明&#xff1a;我远不是一个成熟的投资者(这个名词太大了&#xff0c;我那三瓜两枣似乎完全配不上投资者这三个字&#xff0c;或者“小小散”更加贴切)。本文不构成任何入(股)市的引导或者买卖股票的建议。 “炒股”这个词&#xff0c;相信绝大多数人看来都-是一个贬义词&…...

【Tools】Prompt Engineering简介

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样 &#x1f3b5; 方芳《摇太阳》 大模型中的Prompt Engineering是指为了提高大模型在特定任…...

多路转接之select(fd_set介绍,参数详细介绍),实现非阻塞式网络通信

目录 多路转接之select 引入 介绍 fd_set 函数原型 nfds readfds / writefds / exceptfds readfds 总结 fd_set操作接口 timeout timevalue 结构体 传入值 返回值 代码 注意点 -- 调用函数 select的参数填充 获取新连接 注意点 -- 通信时的调用函数 添…...

乐鑫安全制造全流程

主要参考资料&#xff1a; 【乐鑫全球开发者大会】DevCon24 #10 &#xff5c;乐鑫安全制造全流程 乐鑫官方文档Flash加密: https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/security/flash-encryption.html 【ESP32S3】使用 Flash 下载工具完成 Flash 加密功能…...

〖open-mmlab: MMDetection〗解析文件:configs/_base_/schedules

详细解析三个训练调度文件&#xff1a;schedule_1x.py、schedule_2x.py、schedule_20e.py 在深度学习模型训练过程中&#xff0c;训练调度&#xff08;Training Schedule&#xff09;是至关重要的&#xff0c;它决定了模型训练过程中学习率&#xff08;Learning Rate, LR&…...

Android之Handler是如何保证延迟发送的

目录 核心组件延迟发送消息的工作原理具体步骤1. 创建 Handler:2.发送延迟消息3.消息入队列4.消息出队和处理: 关键点总结 在 Android 中&#xff0c;Handler 是用于在不同线程之间传递和处理消息的工具。它可以用于定时任务、延迟执行任务等。Handler 如何保证延迟发送消息的核…...

定位信标、基站、标签,定位信标是什么

定位信标、基站、标签&#xff0c;定位信标是什么 今天给各位分享定位信标、基站、标签的知识&#xff0c;其中也会对定位信标是什么进行解释&#xff0c;如果能碰巧解决你现在面临的问题&#xff0c;别忘了关注本站&#xff0c;现在开始吧&#xff01; 怎样做人员定位啊? 〖…...

2024国赛数学建模B题完整分析参考论文38页(含模型和可运行代码)

2024 高教社杯全国大学生数学建模完整分析参考论文 B 题 生产过程中的决策问题 目录 摘要 一、问题重述 二、问题分析 三、 模型假设 四、 模型建立与求解 4.1问题1 4.1.1问题1思路分析 4.1.2问题1模型建立 4.1.3问题1样例代码&#xff08;仅供参考&#xff09; 4.…...

Hive是什么?

Apache Hive 是一个基于 Hadoop 的数据仓库工具&#xff0c;用于在 Hadoop 分布式文件系统&#xff08;HDFS&#xff09;上管理和查询大规模结构化数据集。Hive 提供了一个类似 SQL 的查询语言&#xff0c;称为 HiveQL&#xff0c;通过这种语言可以在 HDFS 上执行 MapReduce 作…...

计算机网络:http协议

计算机网络&#xff1a;http协议 一、本文内容与前置知识点1. 本文内容2. 前置知识点 二、HTTP协议工作简介1. 特点2. 传输时间分析3. http报文结构 三、HTTP版本迭代1. HTTP1.0和HTTP1.1主要区别2. HTTP1.1和HTTP2主要区别3. HTTPS与HTTP的主要区别 四、参考文献 一、本文内容…...

【stata】自写命令分享dynamic_est,一键生成dynamic effect

1. 命令简介 dynamic_est 是一个用于可视化动态效应&#xff08;dynamic effect&#xff09;的工具。它特别适用于事件研究&#xff08;event study&#xff09;或双重差分&#xff08;Difference-in-Differences, DID&#xff09;分析。通过一句命令即可展示动态效应&#xf…...

文心一言 VS 讯飞星火 VS chatgpt (342)-- 算法导论23.2 1题

一、对于同一个输入图&#xff0c;Kruskal算法返回的最小生成树可以不同。这种不同来源于对边进行排序时&#xff0c;对权重相同的边进行的不同处理。证明&#xff1a;对于图G的每棵最小生成树T&#xff0c;都存在一种办法来对G的边进行排序&#xff0c;使得Kruskal算法所返回的…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...