一、Docker/安装包部署ClickHouse

Docker/安装包部署ClickHouse

  • 一、docker部署
    • 1.安装Docker
    • 2.拉取ClickHouse镜像
      • 2.1 选择拉取版本
      • 2.2 拉取镜像
    • 3.启动ClickHouse
      • 3.1 确定好挂载目录
      • 3.2 测试环境
      • 3.3 生产环境
        • 3.1.1 获取配置文件
        • 3.1.2 配置文件中添加用户
        • 3.1.3 启动容器
    • 4.使用DBeaver连接
  • 二、安装包安装
    • 1.准备工作
      • 1.1 服务器节点
      • 1.2 关闭防火墙(所有节点)
      • 1.3 文件打开数调整 ( 所有节点 )
      • 1.4 取消selinux(所有节点)
      • 1.5 安装依赖(所有节点)
      • 1.6 验证是否支持sse 4.2指令集 ( 所有节点 )
      • 1.7 重启服务器
    • 2.安装-单机
      • 2.1 下载安装包
      • 2.2 执行安装命令
    • 3.开启远程访问
    • 4. 启动/关闭/开机自启命令
      • 5.相关文件配置
    • 3.安装-集群

一、docker部署

1.安装Docker

  • 安装教程:https://qingsi.blog.csdn.net/article/details/131270071

2.拉取ClickHouse镜像

2.1 选择拉取版本

  • 第一种方式:查找镜像:docker search mysql
  • 第二种方式:去官网查看镜像tag,选择自己需要的版本,否则会下载最新版本:https://hub.docker.com/r/clickhouse/clickhouse-server

2.2 拉取镜像

  • 使用下面的命令,支持Linux的x86和arm架构
# 拉取最新的ClickHouse镜像(推荐)
docker pull clickhouse/clickhouse-server
# 拉取指定版本的MySQL镜像
docker pull clickhouse/clickhouse-server:22.12

3.启动ClickHouse

3.1 确定好挂载目录

  • 生产部署的时候,需要查看挂在的目录是否是系统最大的盘。
    • 查看路径的磁盘大小:df -h
  • 假设/data是系统的存储盘

3.2 测试环境

# 1.拉取镜像
docker pull clickhouse/clickhouse-server:22.12
# 2.启动镜像
docker run \-p 8123:8123 \--name clickhouse-server \--ulimit nofile=262144:262144 \-e CLICKHOUSE_DB=test \-e CLICKHOUSE_USER=root \-e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 \-e TZ=Asia/Shanghai \-e CLICKHOUSE_PASSWORD=123456 \-d clickhouse/clickhouse-server:22.12
# 3.使用工具连接使用即可
  • 参数解释:
    • -p 8123:8123:将主机的 8123 端口映射到容器内的 8123 端口,用于访问 ClickHouse 的 HTTP 查询服务。
    • –name clickhouse-server:为容器指定一个名称,方便后续管理和操作。
    • –ulimit nofile=262144:262144:设置容器内 ClickHouse 进程的文件打开数量限制,防止因文件描述符不足导致问题。
    • -e CLICKHOUSE_DB=test:设置 ClickHouse 的默认数据库名为 test。
    • -e CLICKHOUSE_USER=root:设置 ClickHouse 的默认管理员用户名为 root。
    • -e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1:启用 ClickHouse 的访问控制功能,需要设置管理员账号密码才能进行操作。
    • -e TZ=Asia/Shanghai:设置容器的时区为上海时间,便于处理时间相关的数据。
    • -e CLICKHOUSE_PASSWORD=123456:设置 ClickHouse 的管理员账号密码为 123456。
    • -d clickhouse/clickhouse-server:22.12:使用 clickhouse/clickhouse-server 镜像中的 ClickHouse 服务,并以后台方式运行容器。

3.3 生产环境

  • 容器数据相关的文件夹需要挂载到宿主机上, 分别有:clickhouse的配置文件、数据文件、日志文件。进而实现Clickhouse数据持久化, 方便数据备份、迁移、恢复。
  • 宿主机对应文件夹:
    • 配置文件的文件夹:/data/clickhouse/conf
    • 日志文件夹:/data/clickhouse/log
    • 数据文件夹:/data/clickhouse/data
3.1.1 获取配置文件
# 1.启动一个临时容器,为了拿配置文件
docker run --rm -d --name=temp-clickhouse-server clickhouse/clickhouse-server:22.12
# 2.复制配置文件到宿主机
mkdir -p /data/clickhouse/conf
docker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml /data/clickhouse/conf/users.xml
docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml /data/clickhouse/conf/config.xml
# 3.删除临时容器
docker rm -f temp-clickhouse-server
3.1.2 配置文件中添加用户
  • 添加root用户,打开users.xml文件,把下面的内容复制到 <users></users>标签中
<root><password_sha256_hex>18138372fad4b94533cd4881f03dc6c69296dd897234e0cee83f727e2e6b1f63</password_sha256_hex><networks incl="networks" replace="replace"><ip>::/0</ip></networks><profile>default</profile><quota>default</quota>
</root>

在这里插入图片描述
其中18138372fad4b94533cd4881f03dc6c69296dd897234e0cee83f727e2e6b1f63生成方式

echo -n "qwe123" | sha256sum | tr -d '-'18138372fad4b94533cd4881f03dc6c69296dd897234e0cee83f727e2e6b1f63
3.1.3 启动容器
sudo docker run -d --name=clickhouse-server \-p 8123:8123 \-e TZ=Asia/Shanghai \--volume=/data/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml \--volume=/data/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml \--volume=/data/clickhouse/log:/var/log/clickhouse-server \--volume=/data/clickhouse/data:/var/lib/clickhouse/ \clickhouse/clickhouse-server:22.12
  • 参数解释:
    • -d:将容器设置为在后台运行。
    • –name=clickhouse-server:给容器指定一个名称,这里是 “clickhouse-server”。
    • -p 8123:8123:将主机的 8123 端口映射到容器的 8123 端口,用于通过 HTTP 访问 ClickHouse 的查询服务。
    • -e TZ=Asia/Shanghai:设置容器的时区为亚洲/上海,以适应上海时区的时间。
    • –volume=/data/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml:将主机中 /data/clickhouse/conf/config.xml 文件映射到容器内的 /etc/clickhouse-server/config.xml 文件,这样可以提供自定义的 ClickHouse 配置文件。
    • –volume=/data/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml:将主机中 /data/clickhouse/conf/users.xml 文件映射到容器内的 /etc/clickhouse-server/users.xml 文件,这样可以提供自定义的用户认证信息。
    • –volume=/data/clickhouse/log:/var/log/clickhouse-server:将主机中 /data/clickhouse/log 目录映射到容器内的 /var/log/clickhouse-server 目录,用于存储 ClickHouse 的日志文件。
    • –volume=/data/clickhouse/data:/var/lib/clickhouse/:将主机中 /data/clickhouse/data 目录映射到容器内的 /var/lib/clickhouse/ 目录,用于存储 ClickHouse 的数据文件。
    • clickhouse/clickhouse-server:22.12:基于 ClickHouse 22.12 版本的 Docker 镜像,用于启动 ClickHouse 服务。

4.使用DBeaver连接

在这里插入图片描述
在这里插入图片描述

二、安装包安装

1.准备工作

1.1 服务器节点

  • 注意:单机才需要一个节点,如果是集群,需要多个节点
  • 192.168.11.130、192.168.11.129

1.2 关闭防火墙(所有节点)

# 这个重启后就会打开
systemctl status firewalld.service
systemctl stop firewalld.service
# 打开端口(建议)

1.3 文件打开数调整 ( 所有节点 )

# 查看当前文件打开最大数量
ulimit -n在 /etc/security/limits.conf和/etc/security/limits.d/20-nproc.conf 这两个文件的末尾加入以下内容:
注意:没有20-nproc.conf 该文件就创建一个[root@localhost ~]# vi /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 131072
* hard nproc 131072[root@localhost ~]# vi /etc/security/limits.d/20-nproc.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 131072
* hard nproc 131072

1.4 取消selinux(所有节点)

# 修改 /etc/selinux/config 中的 SELINUX=disabled 后重启
vi /etc/selinux/config
SELINUX=disabled

1.5 安装依赖(所有节点)

# root用户执行:
yum install -y libtool
yum install -y *unixODBC*

1.6 验证是否支持sse 4.2指令集 ( 所有节点 )

# 需要验证当前服务器的CPU是否支持SSE 4.2指令集,因为向量化执行需要用到这项特性
[root@localhost ~]# grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
SSE 4.2 supported

1.7 重启服务器

reboot

2.安装-单机

2.1 下载安装包

  • 下载地址
# 创建一个临时文件夹
mkdir temp && cd temp
# 选择21.10.6.2版本下载,共有四个安装包
wget https://packages.clickhouse.com/rpm/stable/clickhouse-client-21.10.6.2-2.noarch.rpm
wget https://packages.clickhouse.com/rpm/stable/clickhouse-server-21.10.6.2-2.noarch.rpm
wget https://packages.clickhouse.com/rpm/stable/clickhouse-common-static-21.10.6.2-2.x86_64.rpm
wget https://packages.clickhouse.com/rpm/stable/clickhouse-common-static-dbg-21.10.6.2-2.x86_64.rpm

2.2 执行安装命令

rpm -ivh clickhouse-*

在这里插入图片描述

  • 中途会让设置密码,如果是演示环境就回车就可以了。

3.开启远程访问

# 在 /etc/clickhouse-server 路径下的config.xml中查找listen_host 并将如下注释打开,使其可以被除本机以外的其他IP所访问
vi /etc/clickhouse-server/config.xml

在这里插入图片描述

# 配置完重新加载配置:
clickhouse restart

在这里插入图片描述

4. 启动/关闭/开机自启命令


启停命令1. 启动clickhouse-server startsystemctl start clickhouse-server.service2. 查看状态  clickhouse-server statussystemctl status clickhouse-server.service3. 重启clickhouse-server restart  systemctl restart clickhouse-server.service4.开机自启systemctl enable clickhouse-server.servicesystemctl disable clickhouse-server.service

5.相关文件配置

  • 文件目录的配置都在:/etc/clickhouse-server/config.xml
    • 数据目录:<path>
    • 日志目录:
      • 正常日志标签:<log>
      • 错误日志标签:<errorlog>

3.安装-集群

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

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

相关文章

数据结构——线性表

逻辑结构——线性表 1.线性表的定义&#xff08;逻辑结构&#xff09; 要点&#xff1a; 相同数据类型有限序列 几个概念&#xff1a; 是线性表中的“第i个”元素线性表中的位序 是表头元素&#xff1b;是表尾元素。 除第一个元素外&#xff0c;每个元素有且仅有一个直接前驱&…

用C语言列出Linux或Unix上的网络适配器

上代码&#xff1a; 1. #include <sys/socket.h> 2. #include <stdio.h> 3. 4. #include <netdb.h> 5. #include <ifaddrs.h> 6. 7. int main() { 8. struct ifaddrs *addresses; 9. if(getifaddrs(&addresses) -1) { 10. printf("…

股票K线简介

股票K线&#xff08;K-Line&#xff09;是用于表示股票价格走势的图形&#xff0c;主要由四个关键价格点组成&#xff1a;开盘价、收盘价、最高价和最低价。K线图广泛应用于股票市场技术分析中&#xff0c;它提供了丰富的信息&#xff0c;帮助分析师和投资者理解市场的行情走势…

微信小程序(四十四)鉴权组件插槽-登入检测

注释很详细&#xff0c;直接上代码 新增内容&#xff1a; 1.鉴权组件插槽的用法 2.登入检测示范 源码&#xff1a; app.json {"usingComponents": {"auth":"/components/auth/auth"} }app.js App({globalData:{//定义全局变量isLoad:false} })…

数据分析基础之《pandas(7)—高级处理2》

四、合并 如果数据由多张表组成&#xff0c;那么有时候需要将不同的内容合并在一起分析 1、先回忆下numpy中如何合并 水平拼接 np.hstack() 竖直拼接 np.vstack() 两个都能实现 np.concatenate((a, b), axis) 2、pd.concat([data1, data2], axis1) 按照行或者列…

【JAVA WEB】JavaScript--函数 作用域 对象

目录 函数 语法格式 示例 定义没有参数列表&#xff0c;也没有返回值的一个函数 定义一个有参数列表 &#xff0c;有返回值的函数 关于参数个数 函数表达式 作用域 作用域链 对象 基本概念 创建对象 1.使用 字面量 创建对象 2.使用new Object()创建对象 3.使…

七、热身仪式(Warm-Up Rituals)

5.Warm Up Rituals 五、热身仪式 A warm up ritual is your per flight checklist you go through before you start focusing for a big session.It may be checking that you have water, that you don’t need to use the bathroom, that your phone is turned off or you’…

docker 3.1 镜像

docker 3.1 镜像命令 拉取镜像 docker pull debian #从 Docker Hub 拉取名为 debian 的镜像docker pull hello-world #从 Docker Hub 拉入名为 hello-world 的镜像‍ 运行镜像/容器 docker run hello-world ‍ 查看本地所有的镜像 docker images​​ 容器生成镜像…

STM32 cubemx配置DMA+空闲中断接收不定长数据

文章目录 前言一、串口空闲中断二、DMA空闲中断接收不定长数据实现思路三、STM32Cubemx配置DMA空闲中断接收不定长数据四、代码编写总结 前言 本篇文章给大家讲解一下DMA串口空闲中断接收串口不定长数据&#xff0c;之前我们也是讲解过串口接收不定长数据的&#xff0c;那么本…

2024.2.14

二维数组实现杨辉三角形 #include<stdio.h> #include<string.h> int main(int argc, const char *argv[]) {int n;scanf("%d",&n);int a[n][n];for(int i0;i<n;i){for(int j0;j<i;j){if(j0||ij){ a[i][j]1;}else{a[i][j]a[i-1][j]a[i-1][j-…

Netty应用(九) 之 编解码器概念 Netty常见的编解码器

目录 22.编解码器 22.1 编解码的概念 22.2 netty中的编解码 22.3 序列化 23.编解码器在使用过程中的两部分核心内容 23.1 序列化协议&#xff08;编码格式&#xff09;&#xff08;传输数据的格式&#xff09; 23.1.1 Java默认的序列化与反序列化 23.1.2 XML的序列化与反…

函数求导法则【高数笔记】

【分类】 1. 四则运算求导 2. 复合运算求导 3. 整体思想求导 #整体思想求导本质是运用复合运算求导&#xff0c;只不过是对复合运算求导的一种精炼 #无论是具体函数还是抽象函数求导&#xff0c;方法是一致的 【四则运算求导】 加&#xff0c;减&#xff0c;乘&#xff0c;除&a…

代码随想录算法训练营第四十九天(动态规划篇)| 474. 一和零, 完全背包理论基础

474. 一和零 题目链接&#xff1a;https://leetcode.cn/problems/ones-and-zeroes/submissions/501607337/ 思路 之前的背包问题中&#xff0c;我们对背包的限制是容量&#xff0c;即每个背包装的物品的重量和不超过给定容量&#xff0c;这道题的限制是0和1的个数&#xff0…

寒假 day13

1.请编程实现二维数组的杨慧三角 #include<stdio.h> #include<string.h> int main(int argc, const char *argv[]) { int n,i,j;printf("please enter n:");scanf("%d",&n);int arr[n][n];for(i0;i<n;i){for(j0;j<i;j){if(j0 || ij…

【51单片机】LCD1602(江科大)

1.LCD1602介绍 LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符,还可以有8个自定义字符 显示容量:162个字符,每个字符为5*7点阵 2.引脚及应用电路 3.内部结构框图 屏幕: 字模库:类似于数码管的数…

HTML 超文本标记语言

超文本标记语言 HTML 在一个客户程序主窗口上显示出的万维网文档称为页面 (page)。 页面制作的标准语言&#xff1a;HTML。 超文本标记语言 HTML (HyperText Markup Language) 是一种制作万维网页面的标准语言&#xff0c;它消除了不同计算机之间信息交流的障碍&#xff0c…

“掌握温度,感知湿度,一触即知!”DHT11温湿度传感器,为您的生活增添一份关怀与精准。#非标协议【下】

“掌握温度&#xff0c;感知湿度&#xff0c;一触即知&#xff01;”DHT11温湿度传感器&#xff0c;为您的生活增添一份关怀与精准。#非标协议【下】 前言预备知识1.DHT11温湿度传感器初识1.1产品概述1.2与51单片机接线1.3数据传送逻辑和数据格式 2.发送时序检测DHT11温湿度传感…

2.14 指针练习

1、选择题 1.1、若有下面的变量定义&#xff0c;以下语句中合法的是&#xff08; A &#xff09;。 int i&#xff0c;a[10]&#xff0c;*p&#xff1b; A&#xff09; pa2; B&#xff09; pa[5]; C&#xff09; pa[2]2; D&#xff09; p&(i2); 解析&am…

数据库管理-第150期 Oracle Vector DB AI-02(20240212)

数据库管理150期 2024-02-12 数据库管理-第150期 Oracle Vector DB & AI-02&#xff08;20240212&#xff09;1 LLM2 LLM面临的挑战3 RAG4 向量数据库LLM总结 数据库管理-第150期 Oracle Vector DB & AI-02&#xff08;20240212&#xff09; 作者&#xff1a;胖头鱼的鱼…

备战蓝桥杯---动态规划(入门1)

先补充一下背包问题&#xff1a; 于是&#xff0c;我们把每一组当成一个物品&#xff0c;f[k][v]表示前k组花费v的最大值。 转移方程还是max(f[k-1][v],f[k-1][v-c[i]]w[i]) 伪代码&#xff08;注意循环顺序&#xff09;&#xff1a; for 所有组&#xff1a; for vmax.....0…