zoukankan      html  css  js  c++  java
  • ClickHouse 的安装和使用

    1、ClickHouse介绍

    ck不使用HDFS存储数据

    可以继承HDFS

    mpp架构

    是一个DBMS 数据库

    列式存储

    实现语言 C++

     处理数据速度快

    横向扩展,高可靠。

    CK引擎介绍

    分为数据库引擎和表引擎,

    不同的引擎,决定了数据存储的特点和数据存储的位置

    1) 引擎决定数据存储的特点

    2) 决定数据是否可以建立索引

    3)时间是否可以修改

    4)数据是否允许并发操作。

    5)数据是否可以备份

    6)决定查询方式

    在CH中建表指定引擎: 决定表的特点,操作行为,数据特点。

    分片: 如主键1 2 3的数据,分布放在三台机器上。

    分区: 指定分区,数据的存储以分区内单元(区内聚合)

    副本:决定数据的高可靠性

    数据类型

    2、ClickHouse安装

    下载地址: https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/ 

    这里下载的版本为:21.3.12.2

    RPM安装

    server安装

    rpm -ivh  clickhouse-common-static-21.3.12.2-2.x86_64.rpm 

    rpm -ivh clickhouse-common-static-dbg-21.3.12.2-2.x86_64.rpm

    rpm -ivh  clickhouse-server-21.3.12.2-2.noarch.rpm

    client安装

    rpm -ivh   clickhouse-server-21.3.12.2-2.noarch.rpm

    安装之后的目录:

     /var/log/clickhouse-server 服务日志目录:

     /etc/clickhouse-server , 配置文件:包括config.xml和users.xml

    /etc/init.d/clickhouse-server 启动clickhouse服务的脚本

    /var/lib/clickhouse/data/  数据存储目录,以数据库和表名进行区分

    创建用户名和密码

    vi  /etc/clickhouse-server/users.xml

    用户名为:larrylin2

    密码为:123456

    ip 172.xx.xx.13为内网地址

     <larrylin2>
                <password>123456</password>
                <networks incl="networks" replace="replace">
                    <ip>::1</ip>
                    <ip>172.xx.xx.13</ip>
                </networks>
                <profile>default</profile>
                <quota>default</quota>
            </larrylin2>
    

      

    3、修改配置

    1) 放开远程IP访问

    vi /etc/clickhouse-server/config.xml

    <listen_host>::</listen_host>

    4、启动clickhouse

    systemctl start clickhouse-server.service

    或者

    /etc/init.d/clickhouse-server  start

    停止clickhouse

    systemctl stop clickhouse-server.service

    5、进入客户端

    clickhouse-client

    使用密码登录:

    clickhouse-client --host=127.0.0.1 --port=9000 --user=larrylin2 --password=123456

    (110这台 clickhouse-client --host=127.0.0.1 --port=9000  --password=larrylin2)

     6、查看server日志

    tail -f  /var/log/clickhouse-server/clickhouse-server.log

     7、创建数据库

    clickhouse-client   -m
    create database if not exists dbtest;
    

      

    8、创建表

    use dbtest;
    create table tb_test(
      id Int32,
      name String,
      age UInt8,
      gender String
    ) engine=Memory();
    

     

    插入数据

    insert into tb_test values(1,'zhangsan',59,'M'), (2,'lisi',29,'M');
    

      

    查询数据

    select * from tb_test ;
    

      

     创建表 引擎使用Log

    create table tb_user(
    id UInt8,
    name String,
    sal Float64,
    address String,
    birthday Date
    ) engine=Log;
    

      

     插入数据

    insert into tb_user values(1,'zhangsan',20000,'shanghai','1986-09-08');
    
    insert into tb_user values(2,'lisi',30000,'beijig','1987-09-08'), (3,'wangwu',40000,'beijig','1985-09-08');
    

     

    每个字段以单独的文件存储

     sizes.json 记录每个 .bin 文件的大小。

    __marks.mrk 记录数据的位置

     

    创建表 使用TinyLog引擎

    create table tb_user2(
    id UInt8,
    name String,
    sal Float64,
    address String,
    birthday Date
    ) engine=TinyLog;
    
    insert into tb_user2 values(1,'zhangsan',20000,'shanghai','1986-09-08');
    
    insert into tb_user2 values(2,'lisi',30000,'beijig','1987-09-08'), (3,'wangwu',40000,'beijig','1985-09-08');
    
    insert into tb_user2 values(4,'黄山',50000,'中国','1986-09-08');
    

      

    查看文件结构,可以发现,少了__marks.mrk 文件

     

     创建表,使用StripeLog引擎

    create table tb_user3(
    id UInt8,
    name String,
    sal Float64,
    address String,
    birthday Date
    ) engine=StripeLog;
    
    insert into tb_user3 values(1,'zhangsan',20000,'shanghai','1986-09-08');
    
    insert into tb_user3 values(2,'lisi',30000,'beijig','1987-09-08'), (3,'wangwu',40000,'beijig','1985-09-08');
    
    insert into tb_user3 values(4,'黄山',50000,'中国','1986-09-08');
    

      

    查看文件结构,将所有的数据存储在data.bin 这一个文件中。

     

    参考:https://blog.csdn.net/a1641693970/article/details/105901745/

     官方文档地址:https://clickhouse.tech/

    作者:Work Hard Work Smart
    出处:http://www.cnblogs.com/linlf03/
    欢迎任何形式的转载,未经作者同意,请保留此段声明!

  • 相关阅读:
    双目对物体定位
    七个不变特征识别
    bmp和opencv格式转换
    职业规划
    input disp fprintf用法
    多线程
    访问权限
    机器人运动学仿真
    MOTOCOM32运动控制器编程
    回调函数以及钩子函数的概念
  • 原文地址:https://www.cnblogs.com/linlf03/p/15028343.html
Copyright © 2011-2022 走看看