ClickHouse笔记: Ubuntu/Centos下的安装, 配置和用户管理

打印 上一主题 下一主题

主题 878|帖子 878|积分 2634

ClickHouse

ClickHouse 属于 OLAP 数据库
OLTP 与 OLAP


  • OLTP (On-Line Transaction Processing 联机事务处理), 注重事务处理, 数据记录的性能和安全性
  • OLAP (On-Line Analytical Processing 联机分析处理), 注重数据分析, 重点在查询的性能
一般使用 OLTP 数据库做业务数据存储, 用 OLAP 数据库做查询分析.
ClickHouse 性能


  • 写入性能很高, 基本能到磁盘读写瓶颈
  • 适合宽表查询, 在JOIN查询时, 关联表需要控制在千万级别以内
  • 分布式场景下需要预先规划容量, 对于持续扩容需求的场景运维成本比较高
  • 支持全文搜索(inverted index, by n-gram or token), 具体讨论可以看这个讨论, 当前还处于experimental
  • 仅支持有限的事务, 保证INSERT过程的原子性, 包括写入和读取
  • 不支持 Windows. 虽然可以通过 WSL, Docker 之类运行在 Win10 上, 但是这样的方式仅仅是"能运行", 性能已经大打折扣, 没有实用价值.
在需要复杂查询的分布式场景, 可以考虑 Apache Doris.
安装

硬件需求


  • 硬盘安装需要2.5G空间
  • 内存不小于4G, 推荐16G以上, 越大越好
  • SSD + RAID, 文件格式 Ext4, XFS
  • 集群部署, 建议使用10G(万兆)网络
Ubuntu 安装
  1. sudo apt-get install -y apt-transport-https ca-certificates dirmngr
  2. # 在 /tmp 下创建临时目录
  3. GNUPGHOME=$(mktemp -d)
  4. echo $GNUPGHOME
  5. # 生成 clickhouse-keyring.gpg
  6. sudo GNUPGHOME="$GNUPGHOME" gpg --no-default-keyring --keyring /usr/share/keyrings/clickhouse-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 8919F6BD2B48D754
  7. sudo rm -r "$GNUPGHOME"
  8. sudo chmod +r /usr/share/keyrings/clickhouse-keyring.gpg
  9. # 创建 ck 的 apt list
  10. echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg] https://packages.clickhouse.com/deb stable main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
  11. # 更新软件包
  12. sudo apt-get update
  13. # 安装
  14. sudo apt install -y clickhouse-server clickhouse-client
复制代码
Centos7安装
  1. sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
  2. sudo yum install -y clickhouse-server clickhouse-client
复制代码
CK 文件结构


  • 配置文件 /etc/clickhouse-server, config.xml 全局配置, users.xml 用户配置
  • 存储目录 /var/lib/clickhouse

    • 路径定义: /etc/clickhouse-server/config.xml /var/lib/clickhouse/, /var/lib/clickhouse/tmp/, /var/lib/clickhouse/user_files/

  • 日志路径 /var/log/clickhouse-server/, clickhouse-server.err.log  clickhouse-server.log
服务管理

启动服务
  1. sudo systemctl start clickhouse-server
  2. sudo systemctl status clickhouse-server
复制代码
服务IP和端口

默认只侦听本地请求, 打开服务端口, 编辑 /etc/clickhouse-server/config.xml
  1. sudo chmod 600 /etc/clickhouse-server/config.xml
  2. sudo vi /etc/clickhouse-server/config.xml
复制代码
取消注释, 同时服务IPv6和IPv4
  1. <listen_host>::</listen_host>
复制代码
如果只需要提供IPv4, 可以取消这一行注释
  1. <listen_host>0.0.0.0</listen_host>
复制代码
这两行不能同时取消注释, 启动会报错
用户管理

ClickHouse 的用户分两种

  • 直接配置在 /etc/clickhouse-server/user.xml 中的用户, 例如 default
  • 在SQL中创建的用户
这两种用户的登录方式是一样的
配置用户口令

打开 /etc/clickhouse-server/user.xml 能看到设置用户口令相关的说明, 默认用户 default 的口令为空
简单的说就是

  • 明文口令直接用qwerty进行设置
  • SHA256口令用65e84be33532fb784c48129675f9eff3a682b27168c0ea744b2cf58ee02337c5
  • Double SHA1口令用e395796d6546b1b65db9d665cd43f0e858dd4303
  • LDAP验证用my_ldap_server
  • Kerberos验证用EXAMPLE.COM
相应的口令生成命令
[code]# SHA256PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'cY19OvVH
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美丽的神话

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表