当前位置:   article > 正文

OLAP系列:一、分析型数据库clickhouse的概述与单机部署试用_clickhouse单机部署

clickhouse单机部署

一、背景:

目前,在做项目时,遇到使用oracle数据库进行大表查询分析时,查询比较慢,而且随着表数据逐渐积累,数据量过亿(按月估计)。架构师针对几个关键要点(非实时数据核心场景查询分析对事务要求低数据量极大结构化数据)分析后建议考虑数据仓库的建设思路,考虑选择一种OLAP分析型数据替代现有的oracle来解决项目问题;同时也增强项目可扩展性,能做到无缝对接数据仓库。

二、技术选型:

针对架构师提到的几个核心考虑要素,对比了市场现有的OLAP数据库特点,最终选择clickhouse作为本次实验数据库。

ClickHouse的优势:

  • ClickHouse最大的特点就是快,快,快,重要的话说三遍!
  • 与Hadoop、Spark这些巨无霸组件相比,ClickHouse很轻量级,其特点:
  1. 列式存储数据库,数据压缩
  2. 关系型、支持SQL
  3. 分布式并行计算,把单机性能压榨到极限
  4. 高可用
  5. 数据量级在PB级别
  6. 实时数据更新
  7. 索引

ClickHouse的限制:

  1. 缺少高频率,低延迟的修改或删除已存在数据的能力。仅能用于批量删除或修改数据。
  2. 没有完整的事务支持
  3. 不支持二级索引
  4. 有限的SQL支持,join实现与众不同
  5. 不支持窗口功能
  6. 元数据管理需要人工干预维护

ClickHouse的使用现状:

ClickHouse 是近年来备受关注的开源列式数据库,主要用于数据分析(OLAP)领域。目前国内社区火热,各个大厂纷纷跟进大规模使用:

  • 今日头条内部用 ClickHouse 来做用户行为分析,内部一共几千个 ClickHouse 节点,单集群最大 1200 节点,总数据量几十 PB,日增原始数据 300TB 左右。
  • 腾讯内部用 ClickHouse 做游戏数据分析,并且为之建立了一整套监控运维体系。
  • 携程内部从 18 年 7 月份开始接入试用,目前 80% 的业务都跑在 ClickHouse 上。每天数据增量十多亿,近百万次查询请求。
  • 快手内部也在使用 ClickHouse,存储总量大约 10PB, 每天新增 200TB, 90% 查询小于 3S。

在 1 亿数据集体量的情况下,ClickHouse 的平均响应速度是 Vertica 的 2.63 倍、InfiniDB 的 17 倍、MonetDB 的 27 倍、Hive 的 126 倍、MySQL 的 429 倍以及Greenplum 的 10 倍。详细的测试结果可以查阅:https://clickhouse.tech/benchmark/dbms/
ClickHouse 非常适用于商业智能领域(也就是我们所说的 BI 领域),除此之外,它也能够被广泛应用于广告流量、Web、App 流量、电信、金融、电子 商务、信息安全、网络游戏、物联网等众多其他领域。

三、环境准备:

1台linux服务器,CentOS6.7,4核16G

四、安装包下载:

登录官网下载:https://packages.clickhouse.com/tgz/lts/

安装包列表如下:

clickhouse-common-static-22.8.9.24-amd64.tgz
clickhouse-common-static-dbg-22.8.9.24-amd64.tgz
clickhouse-server-22.8.9.24-amd64.tgz
clickhouse-client-22.8.9.24-amd64.tgz

五、单机部署启动:

安装步骤说明:

  1. # 1、创建安装用户
  2. # -- 创建用户组
  3. groupadd clickhouse
  4. # -- 创建用户
  5. useradd -m -d /home/clickhouse -g clickhouse clickhouse
  6. # -- 修改密码
  7. passwd clickhouse
  8. # 2、设置clickhouse执行sudo权限
  9. # -- root用户下开放编辑文件权限
  10. chmod u+w /etc/sudoers
  11. # -- 编辑sudoers文件,找到rootALL=(ALL)ALL在它下面添加XXXALL=(ALL)ALL**(XXX是你的用户名)**
  12. vim /etc/sudoers
  13. clickhouse ALL=(ALL) ALL
  14. # -- root用户下收回编辑文件权限
  15. chmod u-w /etc/sudoers
  16. # 3、下载安装包 https://packages.clickhouse.com/tgz/lts/
  17. clickhouse-common-static-22.8.9.24-amd64.tgz
  18. clickhouse-common-static-dbg-22.8.9.24-amd64.tgz
  19. clickhouse-server-22.8.9.24-amd64.tgz
  20. clickhouse-client-22.8.9.24-amd64.tgz
  21. # 4、上传至108服务器目录/home/clickhouse
  22. # 5、切换至clickhouse用户
  23. su - clickhouse
  24. # 6、安装应用
  25. cd /home/clickhouse
  26. tar -xzvf clickhouse-common-static-22.8.9.24-amd64.tgz
  27. sudo clickhouse-common-static-22.8.9.24/install/doinst.sh
  28. tar -xzvf clickhouse-common-static-dbg-22.8.9.24-amd64.tgz
  29. sudo clickhouse-common-static-dbg-22.8.9.24/install/doinst.sh
  30. tar -xzvf clickhouse-server-22.8.9.24-amd64.tgz
  31. sudo clickhouse-server-22.8.9.24/install/doinst.sh
  32. ## 根据提示设置数据库用户密码 123456
  33. ## 根据提示设置允许所有网络连接
  34. tar -xzvf clickhouse-client-22.8.9.24-amd64.tgz
  35. sudo clickhouse-client-22.8.9.24/install/doinst.sh
  36. # 7、修改配置文件
  37. # -- (1) 修改/etc/clickhouse-server/config.xml监听地址,如果没权限就修改权限后修改
  38. vim /etc/clickhouse-server/config.xml
  39. << BLOCK
  40. <!-- <listen_host>0.0.0.0</listen_host> -->
  41. 修改为
  42. <listen_host>0.0.0.0</listen_host>
  43. BLOCK
  44. # -- (2) 修改文件/etc/clickhouse-server/config.d/listen.xml,修改为以下配置
  45. vim /etc/clickhouse-server/config.d/listen.xml
  46. <clickhouse>
  47. <listen_host>0.0.0.0</listen_host>
  48. </clickhouse>
  49. # 8、启动服务 切换至clickhouse用户
  50. # -- Start clickhouse-server with:
  51. sudo clickhouse start
  52. # -- Start clickhouse-client with:
  53. clickhouse-client --password
  54. # 9、状态查询
  55. sudo service clickhouse-server status
  56. # 10、日志查询(日志目录设置见config.xml)
  57. tail -100f /var/log/clickhouse-server/clickhouse-server.err.log
  58. # 11、卸载服务
  59. rm -fr /etc/clickhouse*
  60. rm -fr /var/lib/clickhouse*
  61. rm -fr /var/log/clickhouse*
  62. rm -fr /usr/bin/clickhouse*
  63. rm -fr /var/run/clickhouse*

六、服务启动验证:

clickhouse-client登录后,可以通过命令查看 select * from system.clusters

七、数据库管理工具访问:

推荐使用DBeaver工具访问,工具安装参考文章无法联网的情况下,dbeaver离线安装数据库驱动-clickhouse-易微帮

八、安装常见问题:

错误1

Code: 210. DB::NetException: Connection refused (localhost:9000). (NETWORK_ERROR)

错误2
<Error> Application: DB::Exception: Listen [::]:8123 failed: Poco::Exception. Code: 1000, e.code() = 0, DNS error: EAI: Address family for hostname not supported (version 23.3.2.37 (official build))

错误基本都是由于配置信息错误引起,如果服务器不支持IPV6,请详细参考章节第五部分安装步骤7修改配置文件。

附录-参考文献资料:

OLAP数据库_xishilife的博客-CSDN博客

ClickHouse 介绍 - 知乎

六千字呕心沥血深度总结,为您揭秘ClickHouse为什么查询这么快! - 知乎

ClickHouse高可用集群搭建(离线安装) - 简书

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/621784
推荐阅读
相关标签
  

闽ICP备14008679号