ClickHouse(03)ClickHouse怎麼安裝和部署

来源:https://www.cnblogs.com/the-pig-of-zf/archive/2022/07/05/16447007.html
-Advertisement-
Play Games

本文會介紹如何安裝和部署ClickHouse,官方推薦的幾種安裝模式,以及安裝之後如何啟動,ClickHouse集群如何配置等。 簡單來說,ClickHouse的搭建流程如下: 環境檢查,環境依賴安裝 在對應的服務上下載安裝Click House 配置config.xml和user.xml,如果搭建 ...


本文會介紹如何安裝和部署ClickHouse,官方推薦的幾種安裝模式,以及安裝之後如何啟動,ClickHouse集群如何配置等。

簡單來說,ClickHouse的搭建流程如下:

  1. 環境檢查,環境依賴安裝
  2. 在對應的服務上下載安裝Click House
  3. 配置config.xml和user.xml,如果搭建Click House集群,還要配置Host文件和FQDN:(Fully Qualified Domain Name)全限定功能變數名稱
  4. 啟動server
  5. 連接client

這裡先介紹單機的Click House的搭建和啟動,下一篇會介紹搭建Click House集群需要配置的東西。

系統要求

ClickHouse可以在任何具有x86_64,AArch64或PowerPC64LE CPU架構的Linux,FreeBSD或Mac OS X上運行。

官方預構建的二進位文件通常針對x86_64進行編譯,並利用SSE4.2指令集,因此,除非另有說明,支持它的CPU使用將成為額外的系統需求。

下麵是檢查當前CPU是否支持SSE 4.2的命令:

$ grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"

要在不支持SSE4.2或AArch64,PowerPC64LE架構的處理器上運行ClickHouse,官方介紹是說要通過適當的配置調整從源代碼構建ClickHouse,這裡就不詳細介紹了,有興趣可以自行閱讀源碼瞭解。

安裝包下載

官方文檔裡面,介紹了下麵幾種安裝方式:DEB、RPM、Tgz、Docker、其他環境安裝和使用源碼安裝,本質上都是一樣的,我們選擇合適安裝方式,根據步驟,一步一步來就可以。

一般來說,安裝包會包含下麵的內容:

  • clickhouse-common-static — ClickHouse編譯的二進位文件。
  • clickhouse-server — 創建clickhouse-server軟連接,並安裝預設配置服務
  • clickhouse-client — 創建clickhouse-client客戶端工具軟連接,並安裝客戶端配置文件。
  • clickhouse-common-static-dbg — 帶有調試信息的ClickHouse二進位文件。

DEB安裝包

建議使用Debian或Ubuntu的官方預編譯deb軟體包。運行以下命令來安裝包:

#安裝環境配置和安裝軟體更新
sudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754

echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \
    /etc/apt/sources.list.d/clickhouse.list
sudo apt-get update

#安裝clickhouse
sudo apt-get install -y clickhouse-server clickhouse-client

#啟動clickhouse服務
sudo service clickhouse-server start

#啟動客戶端
clickhouse-client # or "clickhouse-client --password" if you've set up a password.

如果要使用最新的版本,請用testing替代stable,一般來說在測試環境使用,生產環境還是要以穩定為主。

RPM安裝包

CentOS、RedHat和所有其他基於rpm的Linux發行版的使用官方預編譯rpm包。

首先,您需要添加官方存儲庫:

$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo

然後使用yum安裝

$ sudo yum install -y clickhouse-server clickhouse-client

然後啟動clickhouse

sudo /etc/init.d/clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you set up a password.

和DEB安裝安裝方式一樣,如果要使用最新的版本,請用testing替代stable,一般來說在測試環境使用,生產環境還是要以穩定為主。

Tgz安裝包

如果操作系統不支持安裝deb或rpm包,可以使用官方預編譯的tgz軟體包。可以通過curl或wget從存儲庫https://packages.clickhouse.com/tgz/下載。

下載後解壓縮下載資源文件並使用安裝腳本進行安裝。以下是一個最新穩定版本的安裝示例:

#獲取最後一個版本號
LATEST_VERSION=$(curl -s https://packages.clickhouse.com/tgz/stable/ | \
    grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -V -r | head -n 1)
export LATEST_VERSION

#下載對應版本號的tgz安裝包
curl -O "https://packages.clickhouse.com/tgz/stable/clickhouse-common-static-$LATEST_VERSION.tgz"
curl -O "https://packages.clickhouse.com/tgz/stable/clickhouse-common-static-dbg-$LATEST_VERSION.tgz"
curl -O "https://packages.clickhouse.com/tgz/stable/clickhouse-server-$LATEST_VERSION.tgz"
curl -O "https://packages.clickhouse.com/tgz/stable/clickhouse-client-$LATEST_VERSION.tgz"

#解壓壓縮包並執行對應的腳本
tar -xzvf "clickhouse-common-static-$LATEST_VERSION.tgz"
#生成ClickHouse編譯的二進位文件
sudo "clickhouse-common-static-$LATEST_VERSION/install/doinst.sh"

tar -xzvf "clickhouse-common-static-dbg-$LATEST_VERSION.tgz"
#生成帶有調試信息的ClickHouse二進位文件
sudo "clickhouse-common-static-dbg-$LATEST_VERSION/install/doinst.sh"

tar -xzvf "clickhouse-server-$LATEST_VERSION.tgz"
#創建clickhouse-server軟連接,並安裝預設配置服務
sudo "clickhouse-server-$LATEST_VERSION/install/doinst.sh"
#啟動服務
sudo /etc/init.d/clickhouse-server start

tar -xzvf "clickhouse-client-$LATEST_VERSION.tgz"
#創建clickhouse-client客戶端工具軟連接,並安裝客戶端配置文件
sudo "clickhouse-client-$LATEST_VERSION/install/doinst.sh"

Docker安裝包

通過Docker安裝,需要你搭建docker環境,這裡就不過多介紹,預設你已經安裝了docker,如果還沒有可以自行搜索docker的安裝,搭建好docker。

通過docker安裝,特別簡單,使用官方的鏡像運行一個實例就可以,執行下麵的命令即可。

# 啟動伺服器實例
$ docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server

# 進入docker內部並且進入clickhouse
$ docker run -it --rm --link some-clickhouse-server:clickhouse-server --entrypoint clickhouse-client clickhouse/clickhouse-server --host clickhouse-server
# OR
$ docker exec -it some-clickhouse-server clickhouse-client


# 通過curl連接到clickhouse,輸出'Hello, ClickHouse!'
$ echo "SELECT 'Hello, ClickHouse!'" | docker run -i --rm --link some-clickhouse-server:clickhouse-server curlimages/curl 'http://clickhouse-server:8123/?query=' -s --data-binary @-

ClickHouse的docker鏡像,預設只能通過docker網路訪問。

如果需要外網範圍,我們也可以通過將容器內部的特定埠映射到主機埠來公開在Docker中運行的ClickHouse或者通過允許容器直接使用主機埠(也允許存檔更好的網路性能)。

#將容器內部的特定埠映射到主機埠來公開在Docker中運行的ClickHouse
$ docker run -d -p 18123:8123 -p19000:9000 --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server

$ echo 'SELECT version()' | curl 'http://localhost:18123/' --data-binary @-


#允許容器直接使用主機埠
$ docker run -d --network=host --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server
$ echo 'SELECT version()' | curl 'http://localhost:8123/' --data-binary @-

如果需要調整config.xml,可以使用下麵的命令。

$ docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 -v /path/to/your/config.xml:/etc/clickhouse-server/config.xml clickhouse/clickhouse-server

其他安裝方式

ClickHouse還可以使用源碼安裝,或者手動下載安裝包編譯,有需要的可以到ClickHouse官網查看文檔,這裡不做太多篇幅的介紹。

啟動

運行如下命令在後臺啟動服務:

$ sudo /etc/init.d/clickhouse-server start

日誌文件將輸出在/var/log/clickhouse-server/文件夾。

如果伺服器沒有啟動,檢查/etc/clickhouse-server/config.xml中的配置。

clickhouse的配置參數主要分了兩個文件,一個是config.xml中的伺服器配置參數(Server Settings),另一個是常規配置參數(setttings)。

手動從控制台啟動伺服器:

$ clickhouse-server --config-file=/etc/clickhouse-server/config.xml

在這種情況下,日誌將被列印到控制台,這在開發過程中很方便。

如果配置文件在當前目錄中,則不需要指定——config-file參數。預設情況下,它的路徑為./config.xml。

ClickHouse支持訪問限制設置。它們位於users.xml文件(與config.xml同級目錄)。

預設情況下,允許default用戶從任何地方訪問,不需要密碼。可查看user/default/networks。 更多信息,請參見Configuration Files。

啟動服務後,您可以使用命令行客戶端連接到它:

$ clickhouse-client

預設情況下,使用default用戶並不攜帶密碼連接到localhost:9000。還可以使用--host參數連接到指定伺服器。

示例:

$ ./clickhouse-client
ClickHouse client version 0.0.18749.
Connecting to localhost:9000.
Connected to ClickHouse server version 0.0.18749.

:) SELECT 1

SELECT 1

┌─1─┐
│ 1 │
└───┘

1 rows in set. Elapsed: 0.003 sec.

:)

當到了這裡,你就成功搭建了一個單機版的Click House了。

ClickHouse相關資料分享

ClickHouse經典中文文檔分享

參考文章:ClickHouse(03)ClickHouse怎麼安裝和部署

本文來自博客園,作者:張飛的豬,轉載請註明原文鏈接:https://www.cnblogs.com/the-pig-of-zf/p/16447007.html

作者公眾號:張飛的豬大數據分享,不定期分享大數據學習的總結和相關資料,歡迎關註。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一:背景 1. 講故事 前幾天有位朋友在 B站 加到我,說他的程式出現了 線程數 爆高的問題,讓我幫忙看一下怎麼回事,截圖如下: 說來也奇怪,這些天碰到了好幾起關於線程數無緣無故的爆高,不過那幾個問題比這一篇要複雜的多,主要涉及到非托管層面,分享這一篇的目的主要是它很有代表性,很有必要。 閑話不多說 ...
  • 效果 概述 最近有個小需求要用雙滑塊表示一個取值範圍,於是就簡單做了個用戶控制項,在此記錄下. 使用矩形Rectangle表示範圍,橢圓Ellipse表示滑塊,使用Canvas控制滑塊的左右移動. 橢圓的滑鼠按下事件里強制獲取滑鼠事件焦點,避免移動過快或移出控制項範圍時,滑塊就不跟著跑了.橢圓的滑鼠抬起 ...
  • BackgroundWorker: 1.定義:是.net里用來執行多線程任務的控制項,它允許編程者在一個單獨的線程上執行一些操作。 2.使用場景:耗時的操作(如下載和資料庫事務)長時間運行時可能會導致用戶界面 (UI) 始終處於停止響應狀態。如果我們需要能進行響應的用戶界面,而且面臨與這類操作相關的長 ...
  • 網路的概念: 電腦網路:一組電腦或網路設備通過媒介(有線或無線)相連,按照一定的規則進行通信的集合。 網路作用範圍分類: 廣域網:WAN--Wide Area Network 城域網:MAN Metropolitan Area Network 區域網:LAN Local Area Network ...
  • 初識 DEV C++ 首先小衚衕學自己並不是科班出身,不是電腦或者互聯網相關專業的的學生,我本科期間是車輛工程專業,偏機械一點。 本科期間對編程語言的唯一認識就是C,其實也不算是,準確的是DEV C++,但大家都懂得,本科的通識課是可以忽略不計的。 再之後就到了研究生學校這邊,考研的時候就想著能跳 ...
  • 目錄 一、前景回顧 二、實現中斷框架 三、代碼實現 四、中斷的壓棧和出棧過程分析 五、運行測試 一、前景回顧 前面我們已經講解了中斷的基本知識,接下來要開始進行代碼的實操。代碼主要有兩塊,其中一塊是關於可編程中斷控制器8259A的代碼,另一塊主要是整個中斷的代碼。 二、實現中斷框架 IDT:中斷描述 ...
  • 鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 Ubuntu20.04伺服器版安裝 下載地址:https://ubuntu.com/download/desktop 一、語言選擇:English(按Done確認,Done按鈕在安裝視窗的最下麵) 二、Installer update avail ...
  • 鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 OneForAll是一款功能強大的子域收集工具 我安裝到了kali git clone https://gitee.com/shmilylty/OneForAll.git git clone https://github.com/shmilylt ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...