中間件--ClickHouse-11--部署示例(Linux宿主機部署,Docker容器部署)

一、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 接口
  1. 默認情況下,ClickHouse 提供 HTTP 接口,默認端口為 8123。
  2. 測試接口是否可用:
    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接口
  1. 默認情況下,ClickHouse 提供 HTTP 接口,默認端口為 8123。
  2. 測試接口是否可用:
    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示例(推薦)
  1. 下載并安裝 DBeaver(官網:https://dbeaver.io/)。
  2. 新建連接:
    • 連接類型選擇 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!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/76795.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/76795.shtml
英文地址,請注明出處:http://en.pswp.cn/web/76795.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

鴻蒙NEXT開發權限工具類(申請授權相關)(ArkTs)

import abilityAccessCtrl, { Permissions } from ohos.abilityAccessCtrl; import { bundleManager, common, PermissionRequestResult } from kit.AbilityKit; import { BusinessError } from ohos.base; import { ToastUtil } from ./ToastUtil;/*** 權限工具類&#xff08;…

LVGL學習(二)(lv_label,lv_btn)

3-1_標簽(lv_label) 一、標簽的組成&#xff08;盒子模型&#xff09;?? 標簽由三個核心模塊構成&#xff0c;類似便簽紙的??分層設計??&#xff1a; ??LV_PART_MAIN&#xff08;主體層&#xff09;?? ??功能??&#xff1a;相當于便簽紙的"紙面"&…

深度剖析神經網絡:從基礎原理到面試要點(二)

引言 在人工智能蓬勃發展的今天&#xff0c;神經網絡作為其核心技術之一&#xff0c;廣泛應用于圖像識別、自然語言處理、語音識別等眾多領域。深入理解神經網絡的數學模型和結構&#xff0c;對于掌握人工智能技術至關重要。本文將對神經網絡的關鍵知識點進行詳細解析&#xf…

【java+Mysql】學生信息管理系統

學生信息管理系統是一種用于管理學生信息的軟件系統&#xff0c;旨在提高學校管理效率和服務質量。本課程設計報告旨在介紹設計和實現學生信息管理系統的過程。報告首先分析了系統的需求&#xff0c;包括學生基本信息管理、成績管理等功能。接著介紹了系統的設計方案&#xff0…

Linux mmp文件映射補充(自用)

addr一般為NULL由OS指明&#xff0c;length所需長度&#xff08;4kb對齊&#xff09;&#xff0c;prot&#xff08;權限&#xff0c;一般O_RDWR以讀寫&#xff09;&#xff0c; flag&#xff08;MAP_SHARED(不刷新到磁盤上&#xff0c;此進程獨有)和MAP_PRIVATE&#xff08;刷新…

Nginx openresty web服務 與 Go 原生web服務性能對比

1 概述 Nginx采用的是IO復用模型&#xff0c;能處理超高并發。 Go語言采用協程&#xff0c;能輕量級的處理超高并發。 那么在不考慮業務邏輯復雜的前提下&#xff0c;即假如將Nginx和Go都提供一個/test接口&#xff0c;并在接口邏輯中都只是讓其做20毫秒的耗時操作&#xff0c…

[創業之路-377]:企業法務 - 有限責任公司與股份有限公司的優缺點對比

有限責任公司&#xff08;簡稱“有限公司”&#xff09;與股份有限公司&#xff08;簡稱“股份公司”&#xff09;是我國《公司法》規定的兩種主要公司形式&#xff0c;二者在設立條件、治理結構、股東權利義務等方面存在顯著差異。以下從核心特征、設立條件、治理結構、股東權…

QEMU源碼全解析 —— 塊設備虛擬化(21)

接前一篇文章:QEMU源碼全解析 —— 塊設備虛擬化(20) 本文內容參考: 《趣談Linux操作系統》 —— 劉超,極客時間 《QEMU/KVM源碼解析與應用》 —— 李強,機械工業出版社 特此致謝! 上一回開始解析blockdev_init函數,講到了其中調用的blk_new_open函數,該函數的作用…

藍橋杯中的知識點

總結&#xff1a; 這次考的并不理想 比賽前好多知識點遺漏 但到此為止已經結束了 mod 是 模運算&#xff08;Modulo Operation&#xff09;的縮寫&#xff0c;表示求兩個數相除后的 余數 10mod31 (a % b) &#xff08;7%21&#xff09; 1e9代表1乘以10的9次方&#xff0c…

批量替換多個 Word 文檔中的指定圖片

在 Word 文檔中&#xff0c;我們可以插入各種各樣的圖片&#xff0c;比如插入 logo、插入設計圖、施工圖等等。在某些情況下&#xff0c;我們也會碰到需要將 Word 文檔中某張圖片替換成其它圖片的場景&#xff0c;比如將舊的 Logo 替換成新的 Logo。當我們有大量的 Word 文檔需…

基于微信小程序的中醫小妙招系統的設計與實現

hello hello~ &#xff0c;這里是 code袁~&#x1f496;&#x1f496; &#xff0c;歡迎大家點贊&#x1f973;&#x1f973;關注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f981;作者簡介&#xff1a;一名喜歡分享和記錄學習的在校大學生…

Java 8 新特性深度解析:現代編程的轉折點

精心整理了最新的面試資料和簡歷模板&#xff0c;有需要的可以自行獲取 點擊前往百度網盤獲取 點擊前往夸克網盤獲取 Java 8 是 Java 發展史上的重要里程碑&#xff0c;它引入了函數式編程范式、增強了集合處理能力&#xff0c;并徹底革新了日期時間處理方式。本文將通過代碼示…

鷓鴣云平臺實時追蹤任務進度的核心機制

一、?三維可視化監控? BIMGIS融合建模?&#xff1a;通過無人機測繪與三維建模技術生成施工場地數字孿生模型&#xff0c;支持實時查看各標段三維模型與施工進度的匹配度&#xff0c;偏差超過5%自動觸發預警。 進度匹配度分析?&#xff1a;中央數據中臺整合施工規劃、資源…

【Spring Boot】MyBatis多表查詢的操作:注解和XML實現SQL語句

1.準備工作 1.1創建數據庫 &#xff08;1&#xff09;創建數據庫&#xff1a; CREATE DATABASE mybatis_test DEFAULT CHARACTER SET utf8mb4;&#xff08;2&#xff09;使用數據庫 -- 使?數據數據 USE mybatis_test;1.2 創建用戶表和實體類 創建用戶表 -- 創建表[??表…

ISO15189認證有什么要求?ISO15189認證流程

ISO 15189 認證要求及流程詳解 ISO 15189 是國際標準化組織&#xff08;ISO&#xff09;針對 醫學實驗室質量和能力 的認證標準&#xff0c;適用于醫院檢驗科、第三方醫學實驗室、血站等機構。該認證確保實驗室的技術能力和管理體系符合國際標準&#xff0c;提高檢測結果的準確…

【Linux】調試工具gdb的認識和使用指令介紹(圖文詳解)

目錄 1、debug和release的知識 2、gdb的使用和常用指令介紹&#xff1a; &#xff08;1&#xff09;、windows下調試的功能&#xff1a; &#xff08;2&#xff09;、進入和退出&#xff1a; &#xff08;3&#xff09;、調試過程中的相關指令&#xff1a; 3、調試究竟是在…

【Pytorch 中的擴散模型】去噪擴散概率模型(DDPM)的實現

介紹 廣義上講&#xff0c;擴散模型是一種生成式深度學習模型&#xff0c;它通過學習到的去噪過程來創建數據。擴散模型有很多變體&#xff0c;其中最流行的通常是文本條件模型&#xff0c;它可以根據提示生成特定的圖像。一些擴散模型&#xff08;例如 Control-Net&#xff0…

Milvus(3):數據庫、Collections說明

1 數據庫 Milvus 在集合之上引入了數據庫層&#xff0c;為管理和組織數據提供了更有效的方式&#xff0c;同時支持多租戶。 1.1 什么是數據庫 在 Milvus 中&#xff0c;數據庫是組織和管理數據的邏輯單元。為了提高數據安全性并實現多租戶&#xff0c;你可以創建多個數據庫&am…

【質量管理】“武藏曲線”和“微笑曲線”的差異

什么是“微笑曲線” 在電子制造領域&#xff0c;“微笑曲線”&#xff08;Smiling Curve&#xff09;是由宏碁集團創始人施振榮于1992年提出的一個理論模型&#xff0c;用于描述產業鏈中不同環節的附加價值分布。該曲線因形狀類似“微笑”而得名&#xff0c;核心觀點是&#xf…

【html】a標簽target屬性以及擴展應用

進行頁面新窗口打開跳轉&#xff0c;我們使用 <a> 標簽即可實現。 <a>標簽可以通過設置target的值來控制此鏈接的打開方式&#xff0c;一般可取以下值&#xff1a; _self&#xff1a;默認值&#xff0c;鏈接在當前窗口打開 _blank&#xff1a;鏈接在新窗口打開 …