一、Linux宿主機部署
1、環境準備
- 操作系統:推薦使用 CentOS 7/8 或 Ubuntu 18.04/20.04。
- 硬件要求:
- 至少 2 核 CPU 和 4GB 內存。
- 足夠的磁盤空間(根據數據量評估)。
- CPU需支持SSE4.2指令集(可通過以下命令檢查):
bash示例:
grep -q sse4_2 /proc/cpuinfo && echo “SSE4.2 supported” || echo “SSE4.2 not supported”
- 網絡:確保服務器可以訪問互聯網以下載必要的軟件包。
2、安裝ClickHouse
(1)、CentOS上使用YUM源安裝
1. 添加 ClickHouse 官方倉庫
bash示例:
sudo yum install -y yum-utils
sudo rpm --import https://repo.clickhouse.com/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.clickhouse.com/rpm/clickhouse.repo
2. 安裝 ClickHouse
bash示例:
sudo yum install -y clickhouse-server clickhouse-client
3. 啟動服務
bash示例:
sudo systemctl start clickhouse-server # 啟動示例
sudo systemctl enable clickhouse-server # 設置開機自啟
(2)、Ubuntu使用APT安裝
1. 添加 ClickHouse 官方倉庫
bash示例:
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4
echo "deb https://repo.clickhouse.com/deb/stable/main/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
2. 安裝 ClickHouse
bash示例:
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
3. 啟動服務
bash示例:
sudo service clickhouse-server start
(3)、手動安裝(適用于離線環境)
1. 下載 ClickHouse 二進制文件
訪問 ClickHouse Releases,下載適合的版本,例如:
bash示例:
wget https://builds.clickhouse.com/master/amd64/clickhouse
chmod +x clickhouse
sudo mv clickhouse /usr/bin/
2. 創建默認配置目錄
bash示例:
sudo mkdir -p /etc/clickhouse-server
sudo cp /usr/share/clickhouse/config.xml /etc/clickhouse-server/
sudo cp /usr/share/clickhouse/users.xml /etc/clickhouse-server/
3. 啟動 ClickHouse
bash示例:
sudo clickhouse-server --config-file=/etc/clickhouse-server/config.xml
3、部署驗證
(1)、通過客戶端連接
1. 使用 clickhouse-client 連接到服務器:
bash示例:
clickhouse-client
執行后,可以成功進入交互式命令行界面。
2. 執行簡單的 SQL 查詢:
sql示例:
SHOW DATABASES;
或:
SELECT 1;
前者返回數據庫信息,后者返回1,則說明客戶端連接成功,即ClickHouse已正確安裝并運行。
(2)、檢查服務狀態
1. 檢查 ClickHouse 服務是否正在運行:
bash示例:
sudo systemctl status clickhouse-server
或者:
bash示例:
ps aux | grep clickhouse
2. 查看日志文件:
默認日志路徑為 /var/log/clickhouse-server/,檢查日志是否有錯誤信息:
bash示例:
tail -f /var/log/clickhouse-server/clickhouse-server.log
(3)、測試 HTTP 接口
- 默認情況下,ClickHouse 提供 HTTP 接口,默認端口為 8123。
- 測試接口是否可用:
bash示例:
curl 'http://localhost:8123/?query=SELECT+version()'
輸出類似于以下內容:
22.9.1.1
4、配置ClickHouse
- 主要配置文件及路徑:
- 主配置文件:/etc/clickhouse-server/config.xml
- 用戶配置文件:/etc/clickhouse-server/users.xml
(1)、設置監聽地址
編輯 config.xml 文件,找到 <listen_host> 部分,設置為 0.0.0.0 以允許所有 IP 訪問:
xml示例:
<listen_host>0.0.0.0</listen_host>
(2)、修改用戶權限
編輯 users.xml 文件,設置默認用戶的密碼或添加新用戶:
xml示例:
<password>your_password</password>
(3)、配置防火墻(可選)
開放ClickHouse的默認端口(HTTP端口8123和TCP端口9000):
bash示例:
Ubuntu/Debian:
sudo ufw allow 8123/tcp
sudo ufw allow 9000/tcp
CentOS/RHEL:
sudo firewall-cmd --permanent --add-port=8123/tcp
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo firewall-cmd --reload
(4)、重啟服務
修改配置后需要重啟 ClickHouse 服務:
bash示例:
sudo service clickhouse-server restart # Ubuntu/Debian
sudo systemctl restart clickhouse-server # CentOS/RHEL
5、常見問題排查
(1)、服務無法啟動
- 檢查日志文件 /var/log/clickhouse-server/clickhouse-server.log。
- 確保端口未被占用(默認端口:8123 HTTP, 9000 TCP)。
(2)、客戶端連接失敗
- 確認 clickhouse-server 是否正在運行。
- 檢查防火墻規則,確保開放了 8123 和 9000 端口。
(3)、性能問題
- 確保服務器有足夠的內存和磁盤空間。
- 調整配置文件中的緩存和線程池參數。
6、可視化工具推薦
- 客戶端工具:clickhouse-client(命令行)。
- 圖形化工具:
- DBeaver:支持ClickHouse驅動,可直接連接。
- Grafana:結合ClickHouse插件實現數據可視化。
二、Docker部署
1、環境準備
- 操作系統:推薦使用 CentOS 7/8 或 Ubuntu 18.04/20.04。
- 硬件要求:
- 至少 2 核 CPU 和 4GB 內存。
- 足夠的磁盤空間(根據數據量評估)。
- CPU需支持SSE4.2指令集(可通過以下命令檢查):
bash示例:
grep -q sse4_2 /proc/cpuinfo && echo "SSE4.2 supported" || echo "SSE4.2 not supported"
- 網絡:確保服務器可以訪問互聯網以下載必要的鏡像。
2、安裝Docker
(1)、CentOS上安裝Docker
bash示例:
更新系統包
sudo yum update -y
安裝 Docker
sudo yum install -y docker
啟動并設置 Docker 開機自啟
sudo systemctl start docker
sudo systemctl enable docker
檢查 Docker 版本
docker --version
(2)、Ubuntu上安裝Docker
bash示例:
更新系統包
sudo apt-get update
安裝 Docker
sudo apt-get install -y docker.io
啟動并設置 Docker 開機自啟
sudo systemctl start docker
sudo systemctl enable docker
檢查 Docker 版本
docker --version
3、拉取 ClickHouse 鏡像
從 Docker Hub 拉取官方的 ClickHouse 鏡像:
bash示例:
docker pull clickhouse/clickhouse-server
4、運行 ClickHouse 容器
(1)、基礎命令(不推薦)
啟動一個 ClickHouse 容器,并將默認端口映射到主機上:
bash示例:
docker run -d \--name clickhouse-server \-p 8123:8123 \ # HTTP 接口-p 9000:9000 \ # TCP 接口-p 9009:9009 \ # 復制協議(可選)clickhouse/clickhouse-server
(2)、掛載數據目錄(推薦)
持久化存儲數據,建議將本地目錄掛載到容器中:
bash示例:
docker run -d \--name clickhouse-server \-p 8123:8123 \-p 9000:9000 \-v /path/to/local/data:/var/lib/clickhouse \-v /path/to/local/config:/etc/clickhouse-server \clickhouse/clickhouse-server
解釋:
- /path/to/local/data:用于存儲 ClickHouse 數據文件。
- /path/to/local/config:用于存儲 ClickHouse 配置文件。
(3)、自定義配置啟動
如果需要自定義配置,可以將主機上的 config.xml 和 users.xml 文件掛載到容器中:
bash示例:
docker run -d \--name clickhouse-server \-p 8123:8123 \-p 9000:9000 \-v /path/to/local/config/config.xml:/etc/clickhouse-server/config.xml \-v /path/to/local/config/users.xml:/etc/clickhouse-server/users.xml \clickhouse/clickhouse-server
5、驗證部署是否成功
(1)、通過客戶端連接
1. 使用 clickhouse-client 連接到容器中的 ClickHouse:
bash示例:
docker exec -it clickhouse-server clickhouse-client
如果成功進入交互式命令行界面,則說明 ClickHouse 已正確運行。
2. 執行簡單的 SQL 查詢:
sql示例:
SHOW DATABASES;
或:
SELECT 1;
如果顯示數據庫列表或后者返回1,說明客戶端連接成功,即ClickHouse已正確安裝并運行。
(2)、測試HTTP接口
- 默認情況下,ClickHouse 提供 HTTP 接口,默認端口為 8123。
- 測試接口是否可用:
bash示例:
curl 'http://localhost:8123/?query=SELECT+version()'
輸出類似于以下內容:
22.9.1.1
(3)、檢查容器狀態
1. 查看容器是否正在運行:
bash示例:
docker ps
輸出中應包含 clickhouse-server 容器。
2. 查看容器日志:
bash示例:
docker logs clickhouse-server
6、管理 ClickHouse 容器
bash示例:
停止容器
docker stop clickhouse-server
啟動容器
docker start clickhouse-server
刪除容器
docker rm -f clickhouse-server
7、配置 ClickHouse
(1)、修改配置文件
- 如果掛載了配置文件(如 config.xml 和 users.xml),可以直接在主機上編輯這些文件。
- 修改完成后,重啟容器以應用更改:
bash示例:
docker restart clickhouse-server
(2)、設置監聽地址
編輯 config.xml 文件,找到 <listen_host> 部分,設置為 0.0.0.0 以允許所有 IP 訪問:
xml示例:
<listen_host>0.0.0.0</listen_host>
(3)、修改用戶權限
編輯 users.xml 文件,設置默認用戶的密碼或添加新用戶:
xml示例:
<password>your_password</password>
(4)、配置防火墻(可選)
開放ClickHouse的默認端口(HTTP端口8123和TCP端口9000):
bash示例:
Ubuntu/Debian:
sudo ufw allow 8123/tcp
sudo ufw allow 9000/tcp
CentOS/RHEL:
sudo firewall-cmd --permanent --add-port=8123/tcp
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo firewall-cmd --reload
7、可視化工具推薦
- 客戶端工具:clickhouse-client(命令行)。
- 圖形化工具:
- DBeaver:支持ClickHouse驅動,可直接連接。
- Grafana:結合ClickHouse插件實現數據可視化。
(1)、DBeaver示例(推薦)
- 下載并安裝 DBeaver(官網:https://dbeaver.io/)。
- 新建連接:
- 連接類型選擇 ClickHouse。
- 主機:ClickHouse 服務器 IP 或域名。
- 端口:9000(默認 TCP 端口)。
- 用戶名:default(或自定義用戶)。
- 密碼:若已設置密碼需填寫。
3.測試連接成功后,即可通過圖形界面執行 SQL、查看表結構等。
(2)、Grafana示例
1. 特點:
- 強大的數據可視化工具,支持實時監控和儀表盤。
- 可與 ClickHouse 直接集成,支持動態圖表和告警。
2.使用步驟:
步驟一:安裝 Grafana(以 Ubuntu 為例):
bash示例:
wget https://dl.grafana.com/oss/release/grafana_10.1.6_amd64.deb
sudo dpkg -i grafana_10.1.6_amd64.deb
sudo systemctl start grafana-server
步驟二:訪問 Grafana 界面:
瀏覽器訪問 http://<服務器IP>:3000(默認賬號密碼:admin/admin)。
步驟三:添加 ClickHouse 數據源:
- 點擊 Configuration > Data Sources > Add data source。
- 選擇 ClickHouse。
- 配置參數:
- URL: http://<ClickHouse服務器IP>:8123
- 用戶名/密碼:default(或其他用戶)。
- 數據庫:default(或目標數據庫)。
步驟四:創建儀表盤:
- 通過 SQL 查詢生成圖表(如折線圖、柱狀圖等)。
逆風成長,Dare To Be!!!