亚洲一区精品自拍_2021年国内精品久久_男同十八禁gv在线观看_免费观看a级性爱黄片

當(dāng)前位置:文章中心>技術(shù)教程
公告通知 新聞快遞 技術(shù)教程 產(chǎn)品展示

怎么用Docker安裝ClickHouse教程

發(fā)布時(shí)間:2021-12-09 點(diǎn)擊數(shù):1101


什么是ClickHouse


相對(duì)行式數(shù)據(jù)庫,像Mysql、Oracle、SqlServer等都是行式存儲(chǔ),是把同一行的數(shù)據(jù)放到相鄰?fù)粩?shù)據(jù)塊種,而列式存儲(chǔ)是把同一列的數(shù)據(jù)放到相鄰?fù)粩?shù)據(jù)塊種,這樣在進(jìn)行計(jì)算類查詢時(shí),可以大大削減IO耗費(fèi),返回結(jié)果更快,采用列式存儲(chǔ)后在進(jìn)行數(shù)據(jù)記錄寫入的時(shí)分會(huì)費(fèi)事一些。


列式數(shù)據(jù)庫VS 行式數(shù)據(jù)庫


1.png


列式存儲(chǔ)的主要優(yōu)點(diǎn)之一便是可以大幅降低體系的I/O,尤其是在海量數(shù)據(jù)查詢時(shí),I/O向來是體系的主要瓶頸之一。通過下面這張圖,信任我們可以徹底理解這一點(diǎn)。


2.png


ClickHouse 很多大廠都在用,本篇主要運(yùn)用Docker進(jìn)行裝置


裝置裝備


  • 創(chuàng)立目錄并更改權(quán)限


mkdir -p /app/cloud/clickhouse/data mkdir -p /app/cloud/clickhouse/conf mkdir -p /app/cloud/clickhouse/log  chmod -R 777 /app/cloud/clickhouse/data chmod -R 777 /app/cloud/clickhouse/conf chmod -R 777 /app/cloud/clickhouse/log


  • 拉取鏡像


docker pull yandex/clickhouse-server:20.3.5.21


查看 https://hub.docker.com/r/yandex/clickhouse-server/dockerfile 文件,EXPOSE  9000  8123  9009 了三個(gè)端口,而宿主機(jī)9000端口已被 MinIO 目標(biāo)存儲(chǔ)服務(wù)器占用,所以創(chuàng)立容器露出該端口用9090替換


root@jazz-pc:~# docker ps --format "table {{.Names}} ------> {{.Ports}}" | grep minio minio ------> 0.0.0.0:9000->9000/tcp


  • 創(chuàng)立暫時(shí)容器


docker run --rm -d --name=clickhouse-server \ --ulimit nofile=262144:262144 \ -p 8123:8123 -p 9009:9009 -p 9090:9000 \ yandex/clickhouse-server:20.3.5.21


  • 仿制暫時(shí)容器內(nèi)裝備文件到宿主機(jī)


docker cp clickhouse-server:/etc/clickhouse-server/config.xml /app/cloud/clickhouse/conf/config.xml docker cp clickhouse-server:/etc/clickhouse-server/users.xml /app/cloud/clickhouse/conf/users.xml


  • 停掉暫時(shí)容器


docker stop clickhouse-server


  • 創(chuàng)立default賬號(hào)暗碼


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


會(huì)輸出明碼和SHA256暗碼 SEGByR98 211371f5bc54970907173acf6facb35f0acbc17913e1b71b814117667c01d96d


  • 創(chuàng)立root賬號(hào)暗碼


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


會(huì)輸出明碼和SHA256暗碼 092j3AnV 35542ded44184b1b4b6cd621e052662578025b58b4187176a3ad2b9548c8356e


  • 修改 /app/cloud/clickhouse/conf/users.xml
    把default賬號(hào)設(shè)為只讀權(quán)限,并設(shè)置暗碼 yandex-->users-->default-->profile 節(jié)點(diǎn)設(shè)為 readonly 注釋掉 yandex-->users-->default-->password 節(jié)點(diǎn) 新增  yandex-->users-->default-->password_sha256_hex 節(jié)點(diǎn),填入生成的暗碼


  • 新增root賬號(hào)


<root> <password_sha256_hex>35542ded44184b1b4b6cd621e052662578025b58b4187176a3ad2b9548c8356epassword_sha256_hex>  <networks incl="networks" replace="replace">  <ip>::/0ip>  networks>  <profile>defaultprofile>  <quota>defaultquota> root>


  • 創(chuàng)立容器


docker run -d --name=clickhouse-server \ -p 8123:8123 -p 9009:9009 -p 9090:9000 \ --ulimit nofile=262144:262144 \ -v /app/cloud/clickhouse/data:/var/lib/clickhouse:rw \ -v /app/cloud/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml \ -v /app/cloud/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml \ -v /app/cloud/clickhouse/log:/var/log/clickhouse-server:rw \ yandex/clickhouse-server:20.3.5.21


  • 用 DataGrip 銜接


3.png


  • 用 dbeaver 銜接


4.png