CentOS7 部署安装ClickHouse

2024-06-21 17:20

本文主要是介绍CentOS7 部署安装ClickHouse,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、什么是ClickHouse

ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。

OLAP场景需要在大型数据集上对具有以下特征的复杂分析查询进行实时响应:

  • 数据集可以是巨大的——数十亿或数万亿行
  • 数据组织在包含多列的表中
  • 只选择少数几列来回答任何特定的查询
  • 必须以毫秒或秒为单位返回结果

 ClickHouse官网:Fast Open-Source OLAP DBMS - ClickHouse

二、单机部署安装

建议使用官方预编译的rpm软件包,适用于CentOS、RedHat和所有其他基于rpm的Linux发行版。

设置RPM存储库

yum install -y yum-utils
yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo

安装ClickHouse服务器和客户端

yum install -y clickhouse-server clickhouse-client

启动ClickHouse服务器

systemctl enable clickhouse-server
systemctl start clickhouse-server
systemctl status clickhouse-server
clickhouse-client # or "clickhouse-client --password" if you set up a password.

修改配置文件

vim /etc/clickhouse-server/config.xml

把 <listen_host>::</listen_host> 的注释打开,这样的话才能让ClickHouse被除本机以外的服务器访问

在这个文件中,有ClickHouse的一些默认路径配置,比较重要的
数据文件路径:<path>/var/lib/clickhouse/</path>
日志文件路径:<log>/var/log/clickhouse-server/clickhouse-server.log</log>

启动Server

systemctl start clickhouse-server

使用client连接server

clickhouse-client -m

-m :可以在命令窗口输入多行命令

 安装完配置文件路径 /etc/clickhouse-*

 三、RPM包安装

rpm安装包地址:https://packages.clickhouse.com/rpm/

Packages
  • clickhouse-common-static:安装clickhouse编译的二进制文件
  • clickhouse-server:为clickhouse服务器创建一个软链接,并安装默认的服务器配置
  • clickhouse-client:为clickhouse客户端和其他与客户端相关的工具创建软链接。并安装客户端配置文件
  • clickhouse-common-static-dbg:安装ClickHouse编译的带有调试信息的二进制文件
  • clickhouse-keeper:用于在专用的ClickHouse Keeper节点上安装ClickHouse Keeper。如果您在与ClickHouse服务器相同的服务器上运行ClickHouse Keeper,则无需安装此软件包。安装ClickHouse Keeper和默认的ClickHouse Keeler配置文件

 安装包下载到自己制定路径

clickhouse-client-24.5.3.5.x86_64.rpm
clickhouse-common-static-24.5.3.5.x86_64.rpm
clickhouse-server-24.5.3.5.x86_64.rpm

 安装rpm

rpm -ivh clickhouse-*

 四、ClickHouse Keeper

ClickHouse 集群是需要使用Zookeeper去实现集群副本之间的同步,而ClickHouse Keeper基于Raft一致性算法开发的一款专门为ClickHouse设计的分布式一致性解决方案,旨在替代ZooKeeper作为ClickHouse集群的元数据存储与管理工具。

官方翻译:在生产环境中,我们强烈建议在专用节点上运行ClickHouse Keeper。在测试环境中,如果您决定在同一台服务器上运行ClickHouse Server和ClickHouse Keeper,则无需安装ClickHouse Keepper,因为它包含在ClickHouse服务器中。此命令仅在独立的ClickHouse Keeper服务器上需要。

单独安装ClickHouse Keeper

yum install -y clickhouse-keeper

启用并启动ClickHouse Keeper

systemctl enable clickhouse-keeper
systemctl start clickhouse-keeper
systemctl status clickhouse-keeper

ClickHouse-Keeper方式搭建CK集群

ClickHouse-Keeper嵌入式

嵌入式模式代表不需要额外部署和启动服务,在ClickHouse中配置启用,启动ClickHouse就可以启动嵌入式Keeper

修改 /etc/clickhouse-server/config.xml

将 /etc/clickhouse-keeper/keeper_config.xml 配置文件里的 <keeper_server>******</keeper_server> 加入clickhouse-serverconfig.xml里即可

<clickhouse># 省略其他......<keeper_server><tcp_port>9181</tcp_port><!-- Must be unique among all keeper serves --><server_id>1</server_id><log_storage_path>/var/lib/clickhouse/coordination/logs</log_storage_path><snapshot_storage_path>/var/lib/clickhouse/coordination/snapshots</snapshot_storage_path><coordination_settings><operation_timeout_ms>10000</operation_timeout_ms><min_session_timeout_ms>10000</min_session_timeout_ms><session_timeout_ms>100000</session_timeout_ms><raft_logs_level>information</raft_logs_level><compress_logs>false</compress_logs><!-- All settings listed in https://github.com/ClickHouse/ClickHouse/blob/master/src/Coordination/CoordinationSettings.h --></coordination_settings><!-- enable sanity hostname checks for cluster configuration (e.g. if localhost is used with remote endpoints) --><hostname_checks_enabled>true</hostname_checks_enabled><raft_configuration><server><id>1</id><!-- Internal port and hostname --><hostname>example1</hostname><port>9234</port></server><server><id>2</id><!-- Internal port and hostname --><hostname>example2</hostname><port>9234</port></server><server><id>3</id><!-- Internal port and hostname --><hostname>example3</hostname><port>9234</port></server><!-- Add more servers here --></raft_configuration></keeper_server>
...<zookeeper><node><host>example1</host><port>2181</port></node><node><host>example2</host><port>2181</port></node><node><host>example3</host><port>2181</port></node></zookeeper>
</clickhouse>

启动直接是采用 clickhouse 的启动方式,systemctl start clickhouse-server(启动 clickhouse-server 新旧版有几种方式均可)

此外同样的部署多个服务节点,需调整 <zookeeper> 和 <server> 下的地址配置,设置合理的分片和副本

这篇关于CentOS7 部署安装ClickHouse的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081848

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创