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  -m

 

使用密碼登錄:

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/

 

 

 

Clickhouse 常見問題

1、配置文件錯誤

配置文件錯誤,導致clickhouse無法啟動。

指定配置文件啟動clickhouse

clickhouse-server --config-file=/etc/clickhouse-server/config.xml

 

 可以發現,配置文件config.xml 中808行錯誤。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM