ClickHouse:单机安装

发布于:2024-08-10 ⋅ 阅读:(142) ⋅ 点赞:(0)

目录

一、ClickHouse介绍

二、安装ClickHouse

2.1安装要求

2.2单机安装

2.3修改配置文件(可选)

2.4升级软件

三、使用ClickHouse

3.1连接ClickHouse

3.2 执行SQL


一、ClickHouse介绍

        ClickHouse是由Yandex开源的一个高性能、面向列的SQL数据库管理系统(DBMS),用于在线分析处理(OLAP)。它既可作为开源软件单独部署,也可作为云服务提供。

二、安装ClickHouse

2.1安装要求

        ClickHouse可以在任何具有x86_64,AArch64或PowerPC64LE CPU架构的Linux,FreeBSD或Mac OS X上运行。

2.2单机安装

#安装依赖
sudo yum install -y yum-utils

#添加clickhouse repo源
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo

#安装clickhouse
sudo yum install -y clickhouse-server clickhouse-client

#启动clickhouse-server
systemctl start clickhouse-server

2.3修改配置文件(可选)

2.3.1 修改数据存储目录 

        ClickHouse安装后,配置文件默认存放在:/etc/clickhouse-server/config.xml,数据默认存储在:/var/lib/clickhouse,日志默认存储在:/var/log/clickhouse-server,可根据实际需求修改相关配置。

        1.创建数据存储目录:

#数据目录
mkdir -p /data/db/clickhouse/data
#日志目录
mkdir -p /data/db/clickhouse/logs

        2.将默认目录的文件迁移到新目录下:

# 迁移数据文件
cp -r /var/lib/clickhouse/* /data/db/clickhouse/data/

# 修改文件所有者
chown -R clickhouse:clickhouse /data/db/clickhouse

        3.将配置文件/etc/clickhouse-server/config.xml中/var/lib/clickhouse目录统一修改为/data/db/clickhouse/data

## 日志目录替换
sudo sed -i 's?/var/log/clickhouse-server?/data/db/clickhouse/logs?g' /etc/clickhouse-server/config.xml
## 数据目录替换
sudo sed -i 's?/var/lib/clickhouse?/data/db/clickhouse/data?g' /etc/clickhouse-server/config.xml

2.3.2允许远程访问

        ClickHouse默认只能本机访问,将/etc/clickhouse-server/config.xml文件中<listen_host>::</listen_host>的注释去掉,重启之后即可远程访问。

2.3.3修改默认用户密码

       ClickHouse 默认用户的密码,默认为空,可修改/etc/clickhouse-server/users.xml文件设置default用户的密码。

2.4升级软件

        升级前要备份好数据,滚动升级集群中的每个节点:

sudo yum update clickhouse-server clickhouse-client

三、使用ClickHouse

3.1连接ClickHouse

         clickhouse-client 命令行:

clickhouse-client --host <HOSTNAME> \
                  --secure \
                  --port 9440 \
                  --user <USERNAME> \
                  --password <PASSWORD>

        mysql 协议:

mysql --protocol tcp -h [hostname] -u [username] -P [port_number] [database_name]

        postgresql 协议:

psql -p [port] -h [hostname] -U [username] [database_name]

3.2 执行SQL

        通过clickhouse-client命令行执行:

 clickhouse-client --query="select version()"


    
    或连接到数据库中执行:

select version();