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
把
的注释打开,这样的话才能让ClickHouse被除本机以外的服务器访问
在这个文件中,有ClickHouse的一些默认路径配置,比较重要的
数据文件路径:/var/lib/clickhouse/
日志文件路径:/var/log/clickhouse-server/clickhouse-server.log
启动Server
systemctl start clickhouse-server
使用client连接server
clickhouse-client -m
-m
:可以在命令窗口输入多行命令
安装完配置文件路径 /etc/clickhouse-*
rpm安装包地址:https://packages.clickhouse.com/rpm/
安装包下载到自己制定路径
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 集群是需要使用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中配置启用,启动ClickHouse就可以启动嵌入式Keeper
修改 /etc/clickhouse-server/config.xml
将 /etc/clickhouse-keeper/keeper_config.xml
配置文件里的 clickhouse-server
的
config.xml
里即可
# 省略其他...
...
9181
1
/var/lib/clickhouse/coordination/logs
/var/lib/clickhouse/coordination/snapshots
10000
10000
100000
information
false
true
1
example1
9234
2
example2
9234
3
example3
9234
...
example1
2181
example2
2181
example3
2181
启动直接是采用 clickhouse 的启动方式,systemctl start clickhouse-server
(启动 clickhouse-server 新旧版有几种方式均可)
此外同样的部署多个服务节点,需调整
和
下的地址配置,设置合理的分片和副本