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,或者重启系统。

相关推荐
爱奇艺技术产品团队33 分钟前
爱奇艺大数据多 AZ 统一调度架构
大数据·架构
安科瑞武陈燕WX172696036551 小时前
智慧用电监控装置:引领0.4kV安全用电新时代
大数据·人工智能·安全
m0_375599731 小时前
Hadoop:单机伪分布式部署
大数据·hadoop·分布式
flying robot2 小时前
PySpark和Hadoop
大数据·hadoop·分布式
小森饭3 小时前
Kubernetes运行大数据组件-运行hive
大数据·hive·云原生·kubernetes
Darryl大数据3 小时前
八、MapReduce 大规模数据处理深度剖析与实战指南
大数据·hadoop·mapreduce
lovelin+v175030409663 小时前
电商平台店铺运营:巧用 API 接口的策略之道
java·大数据·后端·python
青云交3 小时前
大数据新视界 -- 大数据大厂之大数据重塑影视娱乐产业的未来(4 - 3)
大数据·音效·特效·用户画像·影视后期制作·影视营销·营销渠道
任错错3 小时前
flinksql-Queries查询相关实战
大数据·数据库·mysql·flink·flinksql