ClickHouse基礎(八)使用基礎(5)ClickHouse 的安裝(win10)


零 導讀

  • 隨着互聯網技術的發展,海量數據已經成為公司決策分析的重要來源,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

 


免責聲明!

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



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