ClickHouse安装以及使用

一、下载安装包

# wget -P 
# 下载到指定目录
$ wget https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/clickhouse-client-21.8.4.51-2.noarch.rpm

$ wget https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/clickhouse-common-static-21.8.4.51-2.x86_64.rpm

$ wget https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/clickhouse-common-static-dbg-21.8.4.51-2.x86_64.rpm

$ wget https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/clickhouse-server-21.8.4.51-2.noarch.rpm

二、单机安装

2.1 安装

$ sudo rpm -ivh {CLICKHOUSE-HOME}/*.rpm

2.2 查看安装情况

$ sudo rpm -qa|grep clickhouse

2.3 修改配置文件

$ sudo vim /etc/clickhouse-server/config.xml
# 1.打开listen_host,二选一
# 如果支持IPV6
::
# 如果支持IPV4
0.0.0.0

# 2.修改端口号,9000被python占用
9099

  # 默认数据文件路径:/var/lib/clickhouse/
  # 默认日志文件路径:/var/log/clickhouse-server/clickhouse-server.log

2.4 启动server

$ sudo systemctl start clickhouse-server

2.5 查看server状态

$ sudo systemctl status clickhouse-server

2.6 关闭server

$ sudo systemctl stop clickhouse-server

2.7 重启server

$ sudo clickhouse restart

2.8 使用client连接server

$ clickhouse-client -m --password {PASSWORD} --port 9099 --user default --host {HOST}

2.9 验证clickhouse是否可用

show databases;

use default;

show tables;

三、一分片两副本集群搭建

3.1 创建 metrika.xml配置文件

# 1. 在/etc/clickhouse-server/config.d 目录下创建一个名为 metrika.xml的配置文件
$ sudo vim /etc/clickhouse-server/config.d/metrika.xml


 
  
   
    true
       
           {host_01}
           9099
       
       
           {host_02}
           9099
       
   
  
 

 
     
         {host_01}
         2181
     
     
         {host_02}
         2181
     
     
         {host_03}
         2181
     
 

 
  01
  rep_1_1
 

3.2 修改/etc/clickhouse-server/config.xml

$ sudo vim /etc/clickhouse-server/config.xml
 
/etc/clickhouse-server/config.d/metrika.xml

3.3 主机2安装第二台clickhouse

  参考步骤2单机安装

3.4 拷贝配置文件到主机2

$ sudo scp /etc/clickhouse-server/config.d/metrika.xml remote_user@remote_host:/etc/clickhouse-server/config.d/metrika.xml

$ sudo scp /etc/clickhouse-server/config.xml remote_user@remote_host:/etc/clickhouse-server/config.xml

3.5 主机2修改配置文件

$ sudo vim /etc/clickhouse-server/config.d/metrika.xml
 
  01
  rep_1_2
 

3.6 重启clickhouse集群

$ sudo clickhouse restart

四、验证集群

4.1 主机1创建本地表

create table test_local on cluster test_cluster (
    id UInt32,
    sku_id String,
    total_amount Decimal(16,2),
    create_time  Datetime
) engine=ReplicatedMergeTree('/clickhouse/tables/{shard}/test_local','{replica}')    
partition by toYYYYMMDD(create_time)    
primary key (id)    
order by (id,sku_id);

4.2 主机1创建分布式表

create table test_local_all on cluster test_cluster (
    id UInt32, 
    sku_id String,
    total_amount Decimal(16,2),
    create_time  Datetime 
) engine = Distributed(test_cluster,default,test_local,hiveHash(sku_id)); 

4.3 在主机1和主机2验证表创建成功

show tables;

# 主机1和主机2上都有test_local表和test_local_all表,则证明建表成功

4.4 在主机1上向test_local_all表写入数据

insert into test_local_all values (207,'sku_006',700.00,'2020-06-02 12:00:00');

4.5 在主机1和主机2上验证数据写入成功

select * from test_local;

select * from test_local_all;

# 如果主机1和主机2上的test_local和test_local_all共4个表查询结果相同,则证明数据写入成功

# 可以直接向本地表test_local写入数据,来验证4个表数据是否一致。

五、常见问题

5.1 服务器不支持IPV6

 解决方案:在/etc/clickhouse-server/config.xml中,注释::,打开0.0.0.0

5.2 端口被占用

 解决方案:在/etc/clickhouse-server/config.xml中,修改90009099,在客户端连接时,需要指定 --port 9099

5.3 查看日志

$ tail -n 100 /var/log/clickhouse-server/clickhouse-server.err.log

问题1:在使用副本时,日志报错replicateMergetree异常,提示hostnamenotfound

解决方案:将提示找不到的hostname配置到/etc/hosts文件中,并source /etc/hosts使其生效

问题2:在启动clickhouse-server时,日志报错,提示已有进程在运行中

解决方案:查看 /var/lib/clickhouse/status文件,找到pid后,使用kill -9 pid,然后再启动clickhouse-server

 原文链接:Clickhouse安装及使用 - maybe兔 - 博客园

你可能感兴趣的:(ClickHouse,大数据,运维,服务器,clickhouse,clickhouse安装,ch常用命令)