clickhouse-v24.1-离线部署

部署版本

数据库版本:24.1.1.2048

jdk版本:jdk8

4个文件(三个ck的包):

OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar

clickhouse-client-24.1.1.2048.x86_64.rpm

clickhouse-common-static-24.1.1.2048.x86_64.rpm

clickhouse-server-24.1.1.2048.x86_64.rpm

文件下载地址

百度云个人下载地址(可能失效):

链接: 百度网盘 请输入提取码 提取码: 2xy6

官网地址:

packages.clickhouse.com/rpm/stable/

阿里云地址:

clickhouse-rpm安装包下载_开源镜像站-阿里云

本次部署集群情况

三个节点的集群

副本设置了一分片三副本

检查环境

官方预构建的二进制文件通常针对 x86_64 进行编译,并利用 SSE 4.2 指令集,因此,除非另有说明,支持它的 CPU 使用将成为额外的系统需求。下面是检查当前 CPU 是否支持 SSE 4.2 的命令:

$ grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"

部署过程

网络配置

如果你部署的环境有端口访问限制,需要提前开通这些端口的访问权限

端口:8123 9000 9009(内部互相访问) 9181 9234 

cat > /etc/hosts <

修改本地的主机名,每个节点执行的主机名根据上面的网络设置进行修改

hostnamectl set-hostname 新主机名

eg:

hostnamectl set-hostname bigdata01

jdk安装

#上传到对应的目录,然后解压
tar -xf OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar.gz -C /usr/local

# 配置环境变量
cat > /etc/profile.d/jdk.sh <

ck安装

每个节点都要执行操作

#提前把这三个文件放到同一目录下面
#clickhouse-client-24.1.1.2048.x86_64.rpm
#clickhouse-common-static-24.1.1.2048.x86_64.rpm
#clickhouse-server-24.1.1.2048.x86_64.rpm
# 安装ck的三个包 (去掉keeper的组件,否则提示冲突)
yum -y install clickhouse-*


# 修改配置

# 修改数据、缓存存储位置
sed -i 's#var/lib/clickhouse#data/clickhouse#g' /etc/clickhouse-server/config.xml


# 创建存储目录
mkdir /data/clickhouse && chown -R clickhouse.clickhouse /data/clickhouse

#日志目录(非必须,如果启动提示文件不存在,再创建)
vim /var/log/clickhouse-server/clickhouse-server.log
vim /var/log/clickhouse-server/clickhouse-server.err.log

# 设置权限
chown clickhouse:clickhouse /var/log/clickhouse-server/clickhouse-server.log
chown clickhouse:clickhouse /var/log/clickhouse-server/clickhouse-server.err.log
chown clickhouse:clickhouse /usr/bin/clickhouse


# 配置文件的权限
chmod 644 /etc/clickhouse-server/config.xml


# 修改监听地址使远程可访问
cat > /etc/clickhouse-server/config.d/listen.xml <
  1
  0.0.0.0

EOF


#修改时区
cat > /etc/clickhouse-server/config.d/timezone.xml <
  Asia/Shanghai

EOF

修改keeper

注:每个节点server_id的值不一样,根据实际修改。该参数不能重复,每个节点唯一

注:单节点的raft_configuration参数也需要配置

修改 /etc/clickhouse-server/config.xml 主配置文件,在根节点 下添加配置。server_id 字段需要每个节点唯一。

#打开配置文件

vim /etc/clickhouse-server/config.xml

#根节点 标签下添加以下内容


0.0.0.0



  9181
  1
  /data/clickhouse/coordination/log
  /data/clickhouse/coordination/snapshots

  
    10000
    30000
    warning
    false
  

  
    
      1
      bigdata01
      9234
    
    
      2
      bigdata02
      9234
    
    
      3
      bigdata03
      9234
    
  




  
    bigdata01
    9181
  
  
    bigdata02
    9181
  
  
    bigdata03
    9181
  

配置项目的作用:

coordination_settings 配置下的force_sync的作用:

force_sync 选项用于决定 ClickHouse Keeper 是否强制将数据同步到磁盘。在 ClickHouse Keeper 中,当客户端请求更新 ZooKeeper 的数据节点时,ClickHouse Keeper 会将这些更新写入内存缓冲区,并最终写入磁盘。force_sync 控制着这些更新何时被强制同步到磁盘。

修改宏变量

注:每个节点的shard、replica值不一样,根据实际修改

三个节点的副本值replica不同

本次的配置是1分片,3副本(一个数据块,在三个服务器上面存储分别存一份)

bigdata01


vim /etc/clickhouse-server/config.d/macros.xml


  
    ck_cluster
    ck_cluster
    1
    1
  

bigdata02


vim /etc/clickhouse-server/config.d/macros.xml


  
    ck_cluster
    ck_cluster
    1
    2
  

bigdata03


vim /etc/clickhouse-server/config.d/macros.xml


  
    ck_cluster
    ck_cluster
    1
    3
  

修改集群的分片、副本

三个节点操作一致

vim /etc/clickhouse-server/config.d/remote-servers.xml


  ck_cluster
  /clickhouse/tables/{cluster}/{shard}/{database}/{table}
  {replica}
  
  
    
    
    
      true
      
          bigdata01
          9000
          default
          jM80NNij
      
          
          bigdata02
          9000
          default
          jM80NNij
       
       
          bigdata03
          9000
          default
          jM80NNij
        
    
   
 

  

用户密码

# 生成密码
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'

#生成结果
jM80NNij
e377b4470304eadc7342f33ff6cfccc26f7888d46646d6956b7209d33a5f2fb1

#内容 - 建议放在某个配置文件中做留存,防止遗忘



#解释 
# 正常用来登录的密码
jM80NNij
# 配置文件中配置的密码
e377b4470304eadc7342f33ff6cfccc26f7888d46646d6956b7209d33a5f2fb1

打开sql管理能力

vim /etc/clickhouse-server/users.xml
# 编辑该配置项目,打开sql管理能力 
1

添加用户

adminuser帐号配置:

vim /etc/clickhouse-server/users.d/adminuser.xml



  
    
      
        e377b4470304eadc7342f33ff6cfccc26f7888d46646d6956b7209d33a5f2fb1
        
        
            ::/0
        
        default
        default
    
  

用户名:adminuser

密码:jM80NNij

default帐号配置:

# 添加密码
sed -i 's##e377b4470304eadc7342f33ff6cfccc26f7888d46646d6956b7209d33a5f2fb1#' /etc/clickhouse-server/users.xml

用户名:default

密码:jM80NNij

启动服务

systemctl start clickhouse-server.service
systemctl status clickhouse-server.service
systemctl enable clickhouse-server.service

查看实时日志

journalctl -u clickhouse-server.service -f

验证

启动 ClickHouse 并验证每个 Keeper 实例是否正在运行。在每台服务器上执行以下命令。如果 Keeper

正在运行且运行正常,则该命令将返回: ruok``imok

# echo ruok | nc localhost 9181; echo
imok

如果没有nc 命令

telnet bigdata0x 9181
# eg  telnet bigdata01 9181

数据库有一个名为zookeeper的表,其中包含 ClickHouse Keeper 实例的详细信息。让我们看一下表格:system.zookeeper

先登录:

clickhouse-client --password="jM80NNij"

SELECT *
FROM system.zookeeper
WHERE path IN ('/', '/clickhouse');

# 查看集群
SHOW CLUSTERS;


#  查看集群
SELECT
    cluster,
    shard_num,
    replica_num,
    host_name,
    is_local,
    user,
    database_shard_name,
    database_replica_name
FROM system.clusters

查看ClickhouseKeeper的日志

clickhouse-keeper dump /path/to/changelog_1_100000.bin

补充系统日志表的保留时间

查看所有表以及相关的信息

SELECT 
    sum(rows) AS `总行数`,
    formatReadableSize(sum(data_uncompressed_bytes)) AS `原始大小`,
    formatReadableSize(sum(data_compressed_bytes)) AS `压缩大小`,
    round((sum(data_compressed_bytes) / sum(data_uncompressed_bytes)) * 100, 0) AS `压缩率`,
    `table` AS `表名`
FROM system.parts where database = 'system' group by `table`;

修改的语句

ALTER TABLE `system`.metric_log MODIFY TTL event_date + toIntervalDay(15);
ALTER TABLE `system`.trace_log MODIFY TTL event_date + toIntervalDay(15);
ALTER TABLE `system`.query_log MODIFY TTL event_date + toIntervalDay(15);
ALTER TABLE `system`.asynchronous_metric_log MODIFY TTL event_date + toIntervalDay(15);

# 查看创建语句是否成功
SHOW CREATE  `system`.metric_log;

B站视频

【clickhouse-v24.1-离线集群部署】 https://www.bilibili.com/video/BV1yNpieREL2/?share_source=copy_web&vd_source=54b8e98ca037df7d40df4e66e8fae702

你可能感兴趣的:(数据库,clickhouse,数据库,运维,linux)