零 導讀
- 隨着互聯網技術的發展,海量數據已經成為公司決策分析的重要來源,ClickHouse有着大數據入門和低學習成本(支持SQL)的優勢,故開啟了第一篇環境搭建。希望能降低ClickHouse的入門門檻。
一 環境及工具
- Windows10專業版(64位):Windows其他版本可能會有其他問題,建議使用該環境。
- Docker Desktop:可以在Windows環境下運行docker的一款產品。
- DBeaver:支持ClickHouse數據庫的一款數據庫管理工具。
二 Windows 相關配置
1、啟用虛擬化
- 打開任務管理器(CTRL+ALT+DELETE)-> 選擇性能 -> CPU ->虛擬化,確認是否已啟用。

2、啟用Hyper-v
- 控制面板(Win+R -> 輸入control -> 回車) -> 程序 -> 啟用或關閉Windows功能 -> 勾選Hyper-v

三 Docker相關
1、下載
- https://www.docker.com/products/docker-desktop
2、安裝
- 安裝非常簡單,不贅述。安裝成功后查看windows任務欄會出現docker的經典logo,小鯨魚。
3、查看版本
- 打開Windows控制台(Win+R -> 輸入cmd -> 回車)-> 輸入
docker --version
四、配置
1 docker desktop wsl2 修改默認子系統存儲位置
https://zhuanlan.zhihu.com/p/339377526
安裝WSL2后,可以在docker windows版本設置的general選項中,選擇 Use the WSL2 based engine ,已啟用WSL2功能。此時,修改Docker desktop的方法和前節修改WSL其他子系統方法一樣,只是,在Windows中,dockers程序被分為以下兩個wsl2的子系統:
- docker-desktop
- docker-desktop-data (images會放到這里)
修改步驟如下:
//退出docker //導出docker子系統 wsl --export docker-desktop D:\docker-desktop\docker-desktop.tar wsl --export docker-desktop-data D:\docker-desktop\docker-desktop-data.tar //注銷現有docker子系統 wsl --unregister docker-desktop wsl --unregister docker-desktop-data //使用新位置導入docker子系統 wsl --import docker-desktop D:\docker-desktop\distro D:\docker-desktop\docker-desktop.tar --version 2 wsl --import docker-desktop-data D:\docker-desktop\data D:\docker-desktop\docker-desktop-data.tar --version 2 //重新啟動dockers
3.配置Docker國內鏡像加速下載:左側菜單 Docker Engine -> 右側輸入框 -> Apply & Restart
{ "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ], "insecure-registries": [], "debug": false, "experimental": false, "features": { "buildkit": true } }
五 ClickHouse相關
1、拉取鏡像
- 打開Windows控制台(Win+R -> 輸入cmd -> 回車)-> 輸入
docker pull yandex/clickhouse-server
docker pull yandex/clickhouse-client
- tips:如果沒有配置國內鏡像無法下載
2、運行臨時容器 temp-clickhouse-server
- Windows控制台繼續執行命令
docker run --rm -d --name=temp-clickhouse-server yandex/clickhouse-server
3、config配置和users配置映射Windows硬盤目錄
- (1) 在D盤根目錄創建 D:/clickhouse/conf 文件夾
- (2) Windows控制台繼續執行命令
docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml D:/clickhouse/conf/config.xml docker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml D:/clickhouse/conf/users.xml
- tips:如果沒有配置Dcoker文件掛載目錄權限,會報錯。
- (3) 查看文件情況

4、創建賬號
- (1) 進入臨時容器 temp-clickhouse-server ,Windows控制台繼續執行命令
docker exec -it temp-clickhouse-server /bin/bash
- (2) 容器內執行命令,生成賬號的SHA256,例如賬號:zhai 密碼:zhai
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "zhai"; echo -n "zhai" | sha256sum | tr -d '-
- 執行結果

- (3) 修改 D:/clickhouse/conf/users.xml 文件
<users> <zhai> <password_sha256_hex>3b75903cd12c5e8ad59f73feb4baa526ed3fe234f2d77d421d7b9d73fefb3f61</password_sha256_hex> <networks incl="networks" replace="replace"> <ip>::/0</ip> </networks> <profile>zhai</profile> <quota>zhai</quota> </zhai> </users>
5、修改監聽host
- 修改 D:/clickhouse/conf/config.xml 文件
<listen_host>0.0.0.0</listen_host>
- tips:一般是IPV4,如果IPV6改成 ::
6、銷毀臨時容器
- Windows控制台執行命令
docker stop temp-clickhouse-server
7、運行ClickHouse服務
- (1) 創建目錄:D:/clickhouse/data 和 D:/clickhouse/log
- (2) Windows控制台執行命令,映射端口 8123、9000、9009,數據、配置、日志映射到Windows硬盤
docker run -d --name=single-clickhouse-server -p 8123:8123 -p 9000:9000 -p 9009:9009 --ulimit nofile=262144:262144 --volume D:/clickhouse/data:/var/lib/clickhouse:rw --volume D:/clickhouse/conf:/etc/clickhouse-server:rw --volume D:/clickhouse/log:/var/log/clickhouse-server:rw yandex/clickhouse-server
8、安裝完畢
六 CLICKHOUSE_CLIENT(docker 安裝clickhouse-client )
1 拉取yandex/clickhouse-client docker鏡像
docker pull yandex/clickhouse-client
2 啟動clickhouse-client
docker run --name liucf-clickhouse-client -it --rm --link single-clickhouse-server:clickhouse-server-alias docker.io/yandex/clickhouse-client --host 192.168.12.14 --port 9000 --user zhai --password zhai
可見啟動成功可以使用
因為客戶端每次使用完不用一直常駐所以這里使用--rm 參數 在使用exit 命令退出liucf-clickhouse-client容器后就會直接刪除這個容器,下次啟動重新創建就可以了
注意:這里使用了 docker --link 命令,可以讓一個容器和另一個容器很方便的連接起來,其參數部分的single-clickhouse-server表示要連接的容器真是名稱,clickhouse-server-alias是要連接的容器的別名。192.168.12.14 宿主機IP
相關問題:
解決報錯
更加報錯提示,猜測可能是我們使用的wsl2版本老了,需要我們自己手動更新一下,我們根據提示去微軟官網下載最新版的wsl2安裝后即可正常打開。
參考鏈接:
https://zhuanlan.zhihu.com/p/339377526
https://cloud.tencent.com/developer/article/1804512
https://blog.csdn.net/m0_37813354/article/details/109526076