《手摸手带你学ClickHouse》之安装部署

《手摸手带你学ClickHouse》之安装部署,第1张

《手摸手带你学ClickHouse》之安装部署

本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 chaodev 即可关注。

文章目录
      • 1、Clickhouse简介
        • 1.1 简介
        • 1.2 应用场景
        • 1.3 架构
      • 2、 ClickHouse单机安装部署
        • 2.1 环境准备
          • 2.1.1 安装文件清单
          • 2.1.2 检查环境依赖
          • 2.1.3 设置FQDN
          • 2.1.4 安装命令
        • 2.2 目录结构
          • 2.2.1 核心目录
            • (1)/etc/clickhouse-server
            • (2)/var/lib/clickhouse
            • (3)/var/log/clickhouse-server
          • 2.2.2 配置文件
            • (1)/etc/security/limits.d/clickhouse.conf
            • (2)/etc/cron.d/clickhouse-server
          • 2.2.3 可执行文件
        • 2.3 启动服务
        • 2.4 卸载
        • 2.5 设置账号密码


ClickHouse是俄罗斯第—大搜索引擎Yandex开发的列式储存数据库,这个列式储存数据库的性能大幅超越了很多商业MPP数据库软件,所以花了一段时间实际应用了一下,其出众的速度征服了我,还是很有应用前景的。

接下来我将逐步更新这个系列的文章,内容包括ClickHouse单机安装部署、监听端口、客户端访问接口、可视化客户端、导入导出数据、MergeTree系列表引擎、其他表引擎、ClickHouse分布式集群、Oracle同步数据到Clickhouse以及一些爬坑经验,含金量很足,敬请关注。


1、Clickhouse简介 1.1 简介

官网:https://clickhouse.tech/,ClickHouse是面向 OLAP 的分布式列式DBMS。

优点:
1、灵活的MPP架构,支持线性扩展,简单方便,高可靠性
2、多服务器分布式处理数据,完备的DBMS系统
3、底层数据列式存储,优化索引数据
4、快:比Vertica快5倍,比Hive快279倍,比MySQL快800倍,其可处理的数据级别已达到10亿级别
5、功能多:支持数据统计分析各种场景,支持类SQL查询,异地复制部署。

ClickHouse 正是以不依赖Hadoop 生态、支持海量数据存储,分布式运算,快速闪电的性能,几乎实时的数据分析,友好的SQL语法,出色的函数支持等特点在大数据分析领域越走越远。

缺点:
1、 不擅长多表join *** 作,建议使用一个大宽表
2、 不支持事务
3、尽量做1000行以上的批量写入,避免逐行或小批量insert、update和delete。


1.2 应用场景

1、绝大多数请求都是用于读访问的,要求实时返回结果
2、数据需要以大批次(大于1000行)进行更新,而不是单行更新;或者根本没有更新 *** 作。
3、数据只是添加到数据库,没有必要修改
4、读取数据时,会从数据库中提取出大量的行,但只用到一小部分列
5、表很“宽”,即表中包含大量的列
6、查询频率相对较低(通常每台服务器每秒查询数百次或更少)
7、对于简单查询,允许大约50毫秒的延迟
8、列的值是比较小的数值和短字符串(例如,每个URL只有60个字节)
9、在处理单个查询时需要高吞吐量(每台服务器每秒高达数十亿行)
10、不需要事务
11、数据一致性要求较低
12、每次查询中只会查询一个大表。除了一个大表,其余都是小表
13、查询结果显著小于数据源。即数据有过滤或聚合。返回结果不超过单个服务器内存木小。


1.3 架构

ClickHouse常用大数据处理架构


2、 ClickHouse单机安装部署 2.1 环境准备

用于安装的RPM包可以从下面两个仓库中任选一个下载:

https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/

https://packagecloud.io/altinity/clickhouse

2.1.1 安装文件清单

需要下载以下4个安装包文件,版本根据自己需要,但是每个RPM文件的版本号要一致。

clickhouse-client-{version}.noarch. rpm
clickhouse-common-static-{version}.x86_64.rpm
clickhouse-common-static-dbg-{version}.x86_64.rpm
clickhouse-server-{version }.noarch. rpm

注:这里有几个版本需要注意,20.6.3开始支持explain,所以建议大于此版本号。同时在20.8开始支持实时同步mysql,根据需要自行选择,我这里使用21.3.9.83-2版本。


2.1.2 检查环境依赖

验证当前服务器CPU是否支持SSE 4.2指令集,因为向量化执行需要用到。

grep -q sse4_2 /proc/cpuinfo && echo “SSE 4.2 supported” || echo “SSE 4.2 not supported”

2.1.3 设置FQDN

在/etc/hosts中添加你服务器的FQDN,例如

hostnamectl --static set-hostname test1.com

配置hosts文件,加入内容,添加后如下:

cat /etc/hosts

注:配置集群时把每个节点都加入,以保证局域网内能互相访问。


2.1.4 安装命令

命令1(系统依赖包安装的比较完整时用此命令):

rpm -ivh *.rpm

命令2(使用此命令缺的依赖包会自动安装):

yum install *.rpm

安装完成后如下所示:


2.2 目录结构 2.2.1 核心目录 (1)/etc/clickhouse-server

服务端的配置文件目录,包括全局配置config.xml和用户配置users.xml等。

(2)/var/lib/clickhouse

默认的数据存储目录

(3)/var/log/clickhouse-server

默认的日志保存目录


2.2.2 配置文件 (1)/etc/security/limits.d/clickhouse.conf

文件句柄数量的配置,默认如下:

该配置也可以通过config.xml的max_open_files修改。

(2)/etc/cron.d/clickhouse-server

cron定时任务配置,用于恢复因异常原因中断的ClickHouse服务进程。


2.2.3 可执行文件

/usr/bin目录下

(1)clickhouse:主程序的可执行文件。
(2)clickhouse-client:一个指向ClickHouse可执行文件的软链接,供客户端连接使用。
(3)clickhouse-server:一个指向ClickHouse可执行文件的软链接,供服务端启动使用。
(4)clickhouse-compressor:内置提供的压缩工具,可用于数据的正压反解。


2.3 启动服务

首先修改数据保存目录,以免空间不够。

cd /etc/clickhouse-server
vi config.xml

修改内容如下:

/chbase/data/
/chbase/data/tmp/
/chbase/data/user_files/

修改目录后,将目录Owner设置为clickhouse用户。

chown clickhouse:clickhouse /chbase/data/ -R

启动服务:

service clickhouse-server start

# 查看服务状态
service clickhouse-server status
# 服务停止
service clickhouse-server stop
# 服务重启
service clickhouse-server restart

注:如果提示如下Init script is already running,则使用如下命令启动:

systemctl start clickhouse-server.service

如果你是新版本,clickhouse还为我们提供了简单的命令

clickhouse start
clickhouse stop
clickhouse status

启动后查看监听的默认端口号9000

netstat -nltp|grep 9000

如上所示,则clickhouse已正常启动。


2.4 卸载

查看

rpm -qa | grep clickhouse

卸载命令:

rpm -e -rpm包名

2.5 设置账号密码
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'

这样可以得到两行数据,第一行是密码明文,第二行是密码密文

vim /etc/clickhouse-server/users.xml

找到 users --> default --> 标签下的password修改成password_sha256_hex,并把密文填进去

密码密文

添加密码后,命令行启动的方式为

clickhouse-client -h ip地址 -d default -m -u default --password 密码明文

后续将继续更新该系列,大佬超手摸手带你学ClickHouse,敬请关注!!!



觉得有帮助点个赞吧!!!
原创不易,转载请注明出处。

微信扫一扫下方二维码即可关注我的公众号

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5698580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存