Clickhouse 笔记(一) 单机版安装并将clickhouse-server定义成服务

ClickHouse 是一个高性能的列式数据库管理系统(DBMS),主要用于在线分析处理(OLAP)场景。它由俄罗斯搜索引擎公司 Yandex 开发,并在 2016 年开源。ClickHouse 以其卓越的查询性能和灵活的扩展性而闻名,特别适合处理大量数据,并提供了一系列强大的函数来帮助用户编写分析查询。

ClickHouse 的核心优势包括:

  • 高速查询性能:ClickHouse 通过列式存储和向量化查询引擎,实现了极高的查询性能,能够轻松应对海量数据的实时分析需求
  • 灵活的扩展性:支持分布式部署,可以轻松实现水平扩展,满足不断增长的数据存储和查询需求
  • 丰富的功能特性:提供了丰富的数据类型和函数库,支持复杂的数据分析和挖掘操作,满足多样化的业务需求
  • 数据压缩:ClickHouse 在存储数据时会进行压缩,减少了磁盘空间的占用,同时由于数据在内存中以压缩形式存在,读取和处理时的解压操作也能被硬件加速,进一步提高了查询性能
  • 并行处理:在处理复杂查询时,ClickHouse 可以将任务分解为多个子任务并行执行,利用多核 CPU 的能力,加快处理速度
  • 实时数据处理:ClickHouse 支持对数据的实时插入和查询,可以实现对实时数据的分析与监控

    ClickHouse 的应用场景包括:
  • 大数据处理和分析:ClickHouse 可以处理大规模数据集,并提供高效的数据分析和查询功能,适用于需要处理海量数据的应用场景,如互联网、金融、电信等领域
  • 数据仓库:可以作为数据仓库的存储和分析引擎,提供高效的数据查询和报表生成功能,适用于需要对大量数据进行集中存储、管理和分析的场景,如企业数据仓库、金融数据仓库等
  • 数据湖:ClickHouse 可以处理非结构化数据和半结构化数据,适用于数据湖的存储和分析场景,如大规模社交媒体数据、物联网数据等
  • 实时计算平台:提供了实时数据处理和计算功能,可以支持实时数据流处理和实时决策,适用于需要对实时数据进行分析和处理的场景,如实时金融交易、实时广告投放等

    ClickHouse 适用于需要处理大规模数据、实现高效数据分析和决策的场景,可以作为各种数据存储和分析应用的引擎,为业务提供高效的数据支持和洞察

Clickhouse官网地址https://clickhouse.com/,大家可以从官网获得更多更有用的权威信息,对于你的排错和调优都有很大的帮助,所以大家在学习新的技能时一定多关注他们的官方网站。

一、安装

curl https://clickhouse.com/ | sh
sudo ./clickhouse install

默认安装的clickhouse配置文件目录/etc/clickhouse-server

二、启动clickhouse

sudo -u alfiy clickhouse server

上图是clickhouse启动后的截图。

三、登录clickhouse

使用cli登录clickhouse

clickhouse client

使用命令行登录后就可以操作clickhouse了,和操作mysql非常相似,使用quit命令退出登录。

四、设置clickhouse-server服务

为了方便以后的操作,可以将clickhouse-server设置成服务。

新建 /lib/systemd/system/clickhouse-server.service文件,添加以下内容。

[Unit]
Description=ClickHouse Server (analytic DBMS for big data)
Requires=network-online.target
# NOTE: that After/Wants=time-sync.target is not enough, you need to ensure
# that the time was adjusted already, if you use systemd-timesyncd you are
# safe, but if you use ntp or some other daemon, you should configure it
# additionaly.
After=time-sync.target network-online.target
Wants=time-sync.target

[Service]
Type=notify

# NOTE: we leave clickhouse watchdog process enabled to be able to see OOM/SIGKILL traces in clickhouse-server.log files.
# If you wish to disable the watchdog and rely on systemd logs just add "Environment=CLICKHOUSE_WATCHDOG_ENABLE=0" line.
User=clickhouse
Group=clickhouse
Restart=always
RestartSec=30
# The following ClickHouse directives should be used instead of forcing SIGKILL by systemd:
# - shutdown_wait_unfinished_queries
# - shutdown_wait_unfinished
TimeoutStopSec=infinity
# Disable forwarding signals by watchdog, since with default systemd's
# kill-mode control-group, systemd will send signal to all process in cgroup.
Environment=CLICKHOUSE_WATCHDOG_NO_FORWARD=1
# Since ClickHouse is systemd aware default 1m30sec may not be enough
TimeoutStartSec=0
# %p is resolved to the systemd unit name
RuntimeDirectory=%p
ExecStart=/usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=%t/%p/%p.pid
# Minus means that this file is optional.
EnvironmentFile=-/etc/default/%p
# Bring back /etc/default/clickhouse for backward compatibility
EnvironmentFile=-/etc/default/clickhouse
LimitCORE=infinity
LimitNOFILE=500000
CapabilityBoundingSet=CAP_NET_ADMIN CAP_IPC_LOCK CAP_SYS_NICE CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_IPC_LOCK CAP_SYS_NICE CAP_NET_BIND_SERVICE

[Install]
# ClickHouse should not start from the rescue shell (rescue.target).
WantedBy=multi-user.target

🖊 注意[Service]单元中 ExecStart=应当对应你安装的clickhouse的目录。

👿 新增服务配置文件之后,需要使用命令systemctl daemon-reload让服务配置生效。

💁‍♂ 修改完成后,如果想使用systemctl控制clickhouse-server服务需要先通过命令clickhouse stop 停止clickhouse,或者重启系统。

相关推荐
lovelin+v1750304096611 分钟前
智能电商:API接口如何驱动自动化与智能化转型
大数据·人工智能·爬虫·python
rpa_top13 分钟前
RPA 助力电商:自动化商品信息上传,节省人力资源 —— 以影刀 RPA 为例【rpa.top】
大数据·前端·人工智能·自动化·rpa
吹老师个人app编程教学44 分钟前
clickhouse-题库
clickhouse
fusugongzi1 小时前
clickhouse一直重启,日志提示structure needs cleaning
clickhouse
arnold662 小时前
深入探索 ClickHouse:性能优化之道
clickhouse·性能优化
ssxueyi4 小时前
Paimon 是什么?Apache Paimon简介
大数据·流数据·stream·数据湖·流批一体·apache paimon
Asiram_4 小时前
大数据机器学习与计算机视觉应用08:反向传播
大数据·机器学习·计算机视觉
Json_181790144805 小时前
淘系商品评论json数据示例参考,API接口系列
大数据·json·api
ssxueyi16 小时前
如何查看flink错误信息
大数据·flink
奥顺18 小时前
PHP与AJAX:实现动态网页的完美结合
大数据·mysql·开源·php