一、Docker/安装包部署ClickHouse

news2024/10/6 6:33:20

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 start
        systemctl start clickhouse-server.service
    2. 查看状态  
        clickhouse-server status
        systemctl status clickhouse-server.service
    3. 重启
        clickhouse-server restart  
        systemctl restart clickhouse-server.service
    4.开机自启
        systemctl enable clickhouse-server.service
        systemctl disable clickhouse-server.service

5.相关文件配置

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

3.安装-集群

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

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

相关文章

Netty应用——通过WebSocket编程实现服务器和客户端长连接(十八)

Http协议是无状态的&#xff0c;浏览器和服务器间的请求响应一次&#xff0c;下一次会重新创建连接要求:实现基于webSocket的长连接的全双工的交互改变Http协议多次请求的约束&#xff0c;实现长连接了&#xff0c; 服务器可以发送消息给浏览器客户端浏览器和服务器端会相互感知…

【Linux】进程基础铺垫(一)硬件基础:冯诺依曼体结构

冯诺依曼体结构 一、体系结构&#xff08;硬件上&#xff09;—— 冯诺依曼体系结构二、内存 的引入&#xff1a;为什么在体系结构中要存在内存? ?前言&#xff1a;内存背景 三、在体系结构中 存在内存的原因 以及 内存的意义 一、体系结构&#xff08;硬件上&#xff09;——…

【ES】--Elasticsearch的分词器深度研究

目录 一、问题描述及分析二、analyze分析器原理三、 multi-fields字段支持多场景搜索(如同时简繁体、拼音等)1、ts_match_analyzer配置分词2、ts_match_all_analyzer配置分词3、ts_match_1_analyzer配置分词4、ts_match_2_analyzer配置分词5、ts_match_3_analyzer配置分词6、ts…

腾讯云游戏服务器配置有哪些?

2024年更新腾讯云游戏联机服务器配置价格表&#xff0c;可用于搭建幻兽帕鲁、雾锁王国等游戏服务器&#xff0c;游戏服务器配置可选4核16G12M、8核32G22M、4核32G10M、16核64G35M、4核16G14M等配置&#xff0c;可以选择轻量应用服务器和云服务器CVM内存型MA3或标准型SA2实例&am…

Kong 负载均衡

负载均衡是一种将API请求流量分发到多个上游服务的方法。负载均衡可以提高整个系统的响应速度&#xff0c;通过防止单个资源过载而减少故障。 在以下示例中&#xff0c;您将使用部署在两台不同服务器或上游目标上的应用程序。Kong网关需要在这两台服务器之间进行负载均衡&…

15 ABC基于状态机的按键消抖原理与状态转移图

1. 基于状态机的按键消抖 1.1 什么是按键&#xff1f; 从按键结构图10-1可知&#xff0c;按键按下时&#xff0c;接点&#xff08;端子&#xff09;与导线接通&#xff0c;松开时&#xff0c;由于弹簧的反作用力&#xff0c;接点&#xff08;端子&#xff09;与导线断开。 从…

基于python混沌系统敏感文本信息加密算法的研究与实现,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

百面嵌入式专栏(面试题)驱动开发面试题汇总 2.0

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍驱动开发面试题 。 1、Linux系统的组成部分? Linux内核、Linux文件系统、Linux shell、Linux应用程序。 2、Linux内核的组成部分? (1)第一种分类方式:内存管理子系统、进程管理子系统、文件管理子系…

ANTLR4规则解析生成器(一):入门

文章目录 1 什么是ANTLR42 为什么需要ANTLR43 环境搭建4 官方示例4.1 编写语法规则文件4.2 生成语法解析器4.3 基于SDK实现逻辑 5 总结 1 什么是ANTLR4 ANTLR是ANother Tool for Language Recognition的缩写&#xff0c;它是一个强大的用于读取、处理、执行和翻译结构化文本或…

蓝桥杯——第 5 场 小白入门赛(c++详解!!!)

文章目录 1 十二生肖基本思路&#xff1a; 2 欢迎参加福建省大学生程序设计竞赛基本思路&#xff1a;代码&#xff1a; 3 匹配二元组的数量基本思路&#xff1a;代码: 4 元素交换基本思路&#xff1a;代码&#xff1a; 5 下棋的贝贝基本思路&#xff1a;代码&#xff1a; 6 方程…

vue_dev_tools工具下载安装打包

vue_dev_tools工具下载安装打包 一、简介二、安装方式2.1.安装图文2.2.打包工具 endl 一、简介 使用 Vue 时&#xff0c;在浏览器上安装 Vue Devtools Vue Devtools 是 Vue 官方发布的调试浏览器插件&#xff0c;可以安装在 Chrome 和 Firefox 等浏览器上&#xff0c;直接内嵌…

07:指针

指针 1、什么是指针1.1、地址的定义1.2、指针的作用 2、指针的分类2.1、基本类型指针2.2、指针和数组2.2.1、指针和一维数组2.2.1.1、一维数组名2.2.1.2、下标和指针的关系2.2.1.3、确定一维数组需要几个参数2.2.1.4、指针变量的运算2.2.1.5、指针变量占用几个字节 2.2.2、动态…

Ubuntu 23.10通过APT安装Open vSwitch

正文共&#xff1a;888 字 8 图&#xff0c;预估阅读时间&#xff1a;1 分钟 先拜年&#xff01;祝各位龙年行大运&#xff0c;腾跃展宏图&#xff01; 之前在介绍OpenStack的时候介绍过&#xff08;什么是OpenStack&#xff1f;&#xff09;&#xff0c;OpenStack是一个开源的…

Go+:一种简单而强大的编程语言

Go是一种简单而强大的编程语言&#xff0c;它是在Go语言之上构建的&#xff0c;旨在提供更加强大、灵活和易于使用的编程体验。Go与Go语言共享大部分语法和语义&#xff0c;因此Go开发人员可以很快上手Go&#xff0c;同时也可以使用Go来编写更加简洁和高效的代码。在本文中&…

WinCC、LabVIEW、InTouch组态软件比较,看后秒懂,超简洁。

WinCC、LabVIEW和InTouch是三种常见的组态软件&#xff0c;用于工业自动化和人机界面开发。以下是它们之间的比较和区别&#xff1a; 功能和应用领域&#xff1a; WinCC&#xff1a;WinCC是西门子公司的组态软件&#xff0c;主要用于监控和控制工业过程。它提供了丰富的功能&a…

OpenCV-37 最小外接矩形和最大外接矩形

一、外接矩形 外接矩形分为最小外接矩形和最大外接矩形。 下图中红色矩形为最小外接矩形&#xff0c;绿色矩形为最大外接矩形。 1. 最小外接矩形 minAreaRect(points) --- 最小外接矩形 point为轮廓&#xff1b; 返回值为元组&#xff0c;内容是一个旋转矩形(RotatedRect…

《Linux 简易速速上手小册》第5章: 用户与群组管理(2024 最新版)

文章目录 5.1 管理用户账户5.1.1 重点基础知识5.1.2 重点案例&#xff1a;创建一个新的开发者账户5.1.3 拓展案例 1&#xff1a;禁用用户登录5.1.4 拓展案例 2&#xff1a;设置账户到期 5.2 群组概念与管理5.2.1 重点基础知识5.2.2 重点案例&#xff1a;为项目团队设置群组5.2.…

HTML 超文本标记语言

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

分享89个jQuery特效,总有一款适合您

分享89个jQuery特效&#xff0c;总有一款适合您 89个jQuery特效下载链接&#xff1a;https://pan.baidu.com/s/1krmOd12n09u2vROfeEL2KQ?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理…

蓝桥杯2023真题(2)

1.硬币兑换 #include <iostream> using namespace std; int main() {int a[5000] {0}, ans 0;//coin1for(int i 1; i < 2023; i){//coin2for(int j i 1; j < 2023; j){a[i j] i;ans max(ans, a[i j]);}}cout<<ans;return 0; }2.更小的数 //暴力枚举…