linux离线部署单机版clickhouse

本文详细介绍了如何在离线的CentOS7环境中部署ClickHouse单机版,包括从清华源下载对应版本的安装包,导入GPG密钥,执行RPM安装,启动服务,以及调整数据存储路径以避免填满系统盘。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文将讲述如何在离线centos7环境下部署单机版的clickhouse,其中clickhouse版本是21.8.13.6,不过本文安装步骤并不仅仅针对此版本。

话不多说,直接上步骤。

一、文件准备

首先下载clickhouse安装包,我用的是清华源的镜像,清华yyds啊。

Index of /clickhouse/rpm/stable/x86_64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

https://mirrors.tuna.tsinghua.edu.cn/clickhouse/rpm/stable/x86_64/’ 

在这个目录下,找到版本相匹配的三份文件:

clickhouse-client

 clickhouse-common-static

 clickhouse-server

比如 21.8.13.6 的如下:

 clickhouse-client-21.8.13.6-2.noarch.rpm
 clickhouse-common-static-21.8.13.6-2.x86_64.rpm
 clickhouse-server-21.8.13.6-2.noarch.rpm

然后在根路径下下载rpm认证文件,一定要下载。

网址: https://mirrors.tuna.tsinghua.edu.cn/clickhouse/ 

下载  CLICKHOUSE-KEY.GPG 

将上述四个文件放置到centos服务器上。

二、安装

导入KEY认证文件

先cd到放置四个文件的路径下

rpm --import  CLICKHOUSE-KEY.GPG

然后安装

rpm -ivh *.rpm  

然后启动clickhouse

systemctl start clickhouse-server

然后在/var/log/clickhouse-server 下面看打印的日志。

三、数据文件的配置

可以把所有存储数据的路径更改到自己的挂载磁盘上,因为默认的是/var/lib下面,一不小心会将磁盘撑爆。

到/etc/clickhouse-server 下面。修改里面有关path的配置,

最简单的方法就是一股脑全改过去,代码如下,比如将数据路径修改到/mnt/disk01/clickhouse下面:

先停止服务

systemctl stop clickhouse-server.service

cd /etc/clickhouse-server

sed -i 's#/var/lib/#/mnt/disk01/#g' config.xml

mkdir  /mnt/disk01/clickhouse

mv /var/lib/clickhouse/* /mnt/disk01/clickhouse/

chown clickhouse:clickhouse /mnt/disk01/clickhouse

#然后启动服务就可以了

<think>好的,用户现在需要的是在Linux离线环境下部署ClickHouse数据库集群的指南。首先,我得回忆一下ClickHouse的集群部署通常涉及哪些步骤。一般来说,集群部署需要配置ZooKeeper,因为ClickHouse用它来做分布式表的协调。不过用户提到的是离线环境,所以需要处理依赖和安装包的离线安装问题。 用户之前的问题可能已经涉及过单机安装,现在需要扩展到集群。根据引用中的信息,之前的回答提到了使用rpm包安装,比如clickhouse-clientclickhouse-server等。在离线环境下,用户需要提前下载好所有相关的rpm包,包括依赖项,比如unixODBC和libicudata,这些在引用[2]中有提到。 首先,我需要确认步骤的正确性。安装步骤应该是先在所有节点上安装ClickHouse的rpm包,处理依赖,然后配置每个节点的config.xml和metrika.xml,设置分片和副本。接着配置ZooKeeper,因为这是集群的必要组件。之后启动服务,验证集群状态。 用户可能遇到的问题包括依赖包缺失,如何正确配置分片和副本,以及ZooKeeper的配置是否正确。需要提醒用户注意防火墙设置,确保节点间的通信端口开放,比如9000、8123、2181等。 另外,引用[3]提到GBaseDataStudio的管理工具,但这里可能不相关,但需要确认是否用户有其他数据库工具的需求,但当前问题主要集中在ClickHouse集群部署,所以可能不需要涉及这部分。 还需要考虑用户是否有足够的权限执行rpm安装,是否需要在所有节点上重复相同的安装步骤,以及配置文件的分发是否正确。测试部分应该包括创建分布式表并插入数据,观察数据是否分布到不同分片。 可能遗漏的点包括ZooKeeper的离线安装,用户可能需要单独准备ZooKeeper的安装包,或者使用ClickHouse内置的Keeper,不过通常还是推荐独立的ZooKeeper集群。如果有内置的解决方案,可能需要说明,但根据官方文档,通常还是依赖外部的ZooKeeper。 最后,生成的相关问题需要围绕用户可能的后续步骤,比如性能优化、配置文件详解、常见错误处理等。确保问题与集群部署相关,帮助用户进一步深入。</think>### Linux离线环境ClickHouse数据库集群部署指南 #### 一、准备工作 1. **离线包获取** - 下载所有节点所需的RPM包(需联网环境预先完成): ```bash yum install -y yum-utils yumdownloader clickhouse-server clickhouse-client clickhouse-common-static unixODBC libicudata ``` 将生成的`.rpm`文件打包传输到离线服务器[^2]。 2. **节点规划** ```bash # 示例集群配置(3节点,2分片1副本) Node1: 192.168.1.101 (分片1_副本1) Node2: 192.168.1.102 (分片2_副本1) Node3: 192.168.1.103 (ZooKeeper节点) ``` #### 二、安装步骤 1. **所有节点安装基础包** ```bash rpm -ivh unixODBC-*.rpm libicudata-*.rpm rpm -ivh clickhouse-*.rpm ``` 2. **配置ZooKeeper(至少3节点)** 在Node3创建`/etc/zookeeper/conf/zoo.cfg`: ```ini tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181 server.1=192.168.1.103:2888:3888 ``` 3. **配置ClickHouse集群** 修改`/etc/clickhouse-server/config.xml`: ```xml <!-- 启用远程连接 --> <listen_host>0.0.0.0</listen_host> ``` 创建`/etc/clickhouse-server/metrika.xml`: ```xml <yandex> <clickhouse_remote_servers> <cluster_2shards_1replicas> <shard> <replica> <host>192.168.1.101</host> <port>9000</port> </replica> </shard> <shard> <replica> <host>192.168.1.102</host> <port>9000</port> </replica> </shard> </cluster_2shards_1replicas> </clickhouse_remote_servers> <zookeeper> <node index="1"> <host>192.168.1.103</host> <port>2181</port> </node> </zookeeper> </yandex> ``` #### 三、启动验证 1. **启动服务** ```bash systemctl start clickhouse-server systemctl start zookeeper ``` 2. **验证集群状态** ```sql SELECT * FROM system.clusters WHERE cluster='cluster_2shards_1replicas'; ``` #### 四、关键注意事项 1. 所有节点需保持时间同步(使用`ntpd`) 2. 开放端口:9000(TCP)、8123(HTTP)、2181(ZooKeeper) 3. 数据目录需保证存储空间充足(默认路径:`/var/lib/clickhouse/`)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值