Clickhouse Centos7 单机安装部署

术语:
分片:按列/字段进行分区,不同的分区放置到不同文件中
分区:分区的副本或者COPY,放置到不同服务器上

1.下载Clickhouse安装包

Altinity/clickhouse - Packages · packagecloud

官网下载地址:Index of /clickhouse/

官网中文手册:安装部署 | ClickHouse文档

 2.安装Clickhouse之前需要安装相关依赖包,否则会报错

yum install -y libtool

yum install -y *unixODBC*

yum install libicu.x86_64

yum install perl-JSON.noarch -y(可选)

3.上传安装包到Linux服务器响应文件夹下,进行安装

rpm -ivh clickhouse-*

 

 如果提示如下错误:删除Clickhouse-test-xxxx  包即可

4.修改Clickhouse配置文件

clickhouse的server配置文件,默认路径在/etc/clickhouse-server/config.xml及user.xml,

  • config.xml是clickhouse的系统配置,包括日志,服务部署ip,zk等配置
  • user.xml   是当前节点服务的配置,包括用户名密码,内存大小限制等

config.xml

 同时将其他本地监视连接注释,0.0.0.0将导致本地的命令行客户端无法连接

如果不支持IP 6 ,保持注释状态(可选-将127.1.0.1 改为 0.0.0.0)

 

5.启动Clickhouse 或者关闭Clickhouse

sudo service clickhouse-server start #启动Clickhouse

sudo service clickhouse-server stop #停止Clickhouse

sudo service clickhouse-server restart  #重启Clickhouse

service clickhouse-server status   #查看服务状态

 

 

 6.客户端连接Clickhouse

clickhouse-client –host 192.168.152.128 –port 9000 –database default –user default –password ""

 7.使用DBeaver链接Clickhouse

systemctl status firewalld            #查看防火墙

systemctl stop  firewalld             #关闭防火墙


systemctl enable firewalld.service   #设置开机启用防火墙


systemctl disable firewalld.service  #设置开机禁用防火墙

Systemctl  disable firewalld 

关闭防火墙

 

系统默认表 

 

 

8.Clickhouse  SQL语法

Create database   数据库名称;     --创建数据库



CREATE TABLE   表名(
字段名称  字段类型,
字段名称  字段类型,
。。。。
) ENGINE=。。。                  --创建表


INSERT INTO [db.]table [(c1, c2, c3)] VALUES (v11, v12, v13), (v21, v22, v23), ...  --插入数据



SELECT sum(ALL number) FROM numbers(10);    --查询数据






创建数据库: 

 创建表:

 插入数据:

查询数据:select  *  from test.t1 t  

 

9.官网样本数据测试

下载官网样本数据

https://datasets.clickhouse.com/cell_towers.csv.xzhttps://datasets.clickhouse.com/cell_towers.csv.xz校验数据集:md5sum cell_towers.csv.xz

 解压数据集:xz -d cell_towers.csv.xz

xz -d cell_towers.csv.xz

数据类型参考官网:简介 | ClickHouse文档https://clickhouse.com/docs/zh/sql-reference/data-types/ 

 创建表

CREATE TABLE cell_towers
(
    radio Enum8('' = 0, 'CDMA' = 1, 'GSM' = 2, 'LTE' = 3, 'NR' = 4, 'UMTS' = 5),
    mcc UInt16,
    net UInt16,
    area UInt16,
    cell UInt64,
    unit Int16,
    lon Float64,
    lat Float64,
    range UInt32,
    samples UInt32,
    changeable UInt8,
    created DateTime,
    updated DateTime,
    averageSignal UInt8
)
ENGINE = MergeTree ORDER BY (radio, mcc, net, created);

 导入数据:

clickhouse-client --query "INSERT INTO  test.cell_towers FORMAT CSVWithNames" < cell_towers.csv

 

 统计数据记录数:

clickhouse-client ?host 192.168.152.128 ?port 9000 ?database default ?user default ?password ""


或

clickhouse-client --query "select count(*)  from test.cell_towers ct "   --看不见计算时间

数据分组:

SELECT radio, count() AS c FROM test.cell_towers GROUP BY radio ORDER BY c DESC

 mcc分组统计:

SELECT mcc, count() FROM test.cell_towers GROUP BY mcc ORDER BY count() DESC LIMIT 10

 

常见问题:

问题一:

<Error> Application: DNS error: EAI: -9

解决:

本机没有开放ipv6,只能对ipv4生效。可以考虑在config.xml中,把<listen_host>::</listen_host> 改成<listen_host>0.0.0.0</listen_host>

问题二:

:Memory limit (for query) exceeded: would use 9.31 GiB (attempt to allocate chunk of 1048576 bytes), maximum: 9.31 GiB

解决:

修改user.xml里max_memory_usage 值,把他改大一些,默认是953M,不到1G,可以改到2G

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值