使用docker安裝clickhouse集群

1、簡介

? ? ? ? clickhouse 作為大數據場景中,實現快速檢索的常用列式存儲數據庫,采用物理機部署,會在數據量大的場景中,物理機器存儲達到閾值需要擴容,會帶來比較大的問題,因此,使用docker部署clickhouse集群可以使得運維簡單。

2、clickhouse安裝
2.1、集群規劃

? ? ? ? 采用三臺節點進行部署,只能實現3個分片1個副本進行部署,部署規劃如下:

節點ip描述
node-1192.168.0.66

集群中安裝的zookeeper集群,

端口號2181

node-2192.168.0.67

node-3

192.168.0.68
2.2、拉取鏡像
docker pull clickhouse/clickhouse-server
?2.3、編寫docker-compose文件
services:clickhouse:image: clickhouse/clickhouse-server:latestcontainer_name: clickhousenetwork_mode: hostvolumes:  # 掛載路徑- ./clickhouse/data:/var/lib/clickhouse- ./clickhouse/config:/etc/clickhouse-server- ./clickhouse/log:/var/log/clickhouse-serverulimits:    # 文件描述符個數設置,可根據實際情況來nofile:soft: 65536hard: 65536

在當前目錄下創建三個掛載目錄:

mkdir -p clickhouse/data
mkdir -p clickhouse/config
mkdir -p clickhouse/log
2.4、在config目錄下創建配置文件

? ? ? ? config目錄下包含兩個配置文件:config.xml 和 users.xml

1)、config.xml文件

<?xml version="1.0"?>
<yandex>
<!-- log級別及目錄配置 --><logger><level>information</level><log>/var/log/clickhouse-server/clickhouse-server.log</log><errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog> <size>1000M</size><count>10</count></logger>
<!-- 客戶端和服務端端口號設置 --><http_port>8123</http_port><tcp_port>9000</tcp_port><interserver_http_port>9009</interserver_http_port>
<!-- 監聽ip設置 --><listen_host>0.0.0.0</listen_host><max_connections>4096</max_connections><keep_alive_timeout>3</keep_alive_timeout><max_concurrent_queries>100</max_concurrent_queries><uncompressed_cache_size>8589934592</uncompressed_cache_size><mark_cache_size>5368709120</mark_cache_size>
<!-- 數據保存路徑設置 --><path>/var/lib/clickhouse/</path><tmp_path>/var/lib/clickhouse/tmp/</tmp_path><user_files_path>/var/lib/clickhouse/user_files/</user_files_path><users_config>users.xml</users_config><default_profile>default</default_profile><default_database>default</default_database><timezone>Asia/Shanghai</timezone><mlock_executable>false</mlock_executable>
<!-- zk中分布式ddl節點設置,和下面zookeeper配置中的root結合形成整個節點路徑:root/path --><distributed_ddl><path>/clickhouse/task_queue/ddl</path></distributed_ddl><remote_servers><test_cluster>  <!-- 集群名稱,集群分片副本配置,博主只有三臺機器,只能配置3分片1副本 --><shard> <!-- 分片 --><replica><host>192.168.0.66</host><port>9000</port></replica></shard><shard><replica><host>192.168.0.67</host><port>9000</port></replica></shard><shard><replica><host>192.168.0.68</host><port>9000</port></replica></shard></test_cluster></remote_servers>
<!-- zookeeper配置 -->
<zookeeper><node index="1"><host>192.168.0.66</host><port>2181</port></node><node index="2"><host>192.168.0.67</host><port>2181</port></node><node index="3"><host>192.168.0.68</host><port>2181</port></node><session_timeout_ms>30000</session_timeout_ms><operation_timeout_ms>10000</operation_timeout_ms><root>/ck</root>
</zookeeper><macros><cluster>test_cluster</cluster><shard>3</shard><replica>192.168.0.66</replica></macros>
</yandex>

?2)、users.xml

<?xml version="1.0"?>
<yandex><users><default>   <!-- 默認用戶名 --><password></password><networks><ip>::/0</ip></networks><profile>default</profile><quota>default</quota></default><test>  <!-- 配置用戶名 --><password>default123.com</password>  <!-- 自定義密碼 --><networks incl="networks" replace="replace"><ip>::/0</ip></networks><profile>default</profile><quota>default</quota></test></users><profiles><default><max_memory_usage>10000000000</max_memory_usage><use_uncompressed_cache>0</use_uncompressed_cache><load_balancing>random</load_balancing></default></profiles><quotas><default><interval><duration>3600</duration><queries>0</queries><errors>0</errors><result_rows>0</result_rows><read_rows>0</read_rows><execution_time>0</execution_time></interval></default></quotas>
</yandex>
3、啟動集群
# 1、在每個節點都執行( 到docker-compose.yml所在的目錄下執行)
docker compose up -d
# 2、驗證啟動成功
docker exec -it clickhouse clickhouse-client
select * from system.clusters;  # 可以查看集群情況
4、總結

? ? ? ? 至此,clickhouse集群就搭建完成,中間排了很多坑,這一套配置是100%能搭建成功的。

注:

1)、集群之間防火墻關閉或者放開使用到的端口;

2)、docker使用host網絡模式;

3)、使用機器名要將/etc/hosts映射進去

? ? ? ? 搭建過程中有任何不懂的地方可以關注: it自學社團 ,后臺私信問我。

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

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

相關文章

package-lock.json能否直接刪除?

package-lock.json能否直接刪除&#xff1f; package-lock.json 生成工具&#xff1a;由 npm 自動生成。 觸發條件&#xff1a;當運行 npm install 時&#xff0c;如果不存在 package-lock.json&#xff0c;npm 會創建它&#xff1b;如果已存在&#xff0c;npm 會根據它精確安…

如何在 Windows 命令提示符中創建多個文件夾和多個文件

如何在 Windows 命令提示符中創建多個文件夾和多個文件 雖然大多數用戶習慣使用 Windows 圖形界面來創建文件夾&#xff0c;但如果你需要一次性創建多個文件夾或文件&#xff0c;如同在類Unix系統中可以使用mkdir和touch命令一樣&#xff0c;windows下也有創建目錄和文件的對應…

leetcode - 滑動窗口問題集

目錄 前言 題1 長度最小的子數組&#xff1a; 思考&#xff1a; 參考代碼1&#xff1a; 參考代碼2&#xff1a; 題2 無重復字符的最長子串&#xff1a; 思考&#xff1a; 參考代碼1&#xff1a; 參考代碼2&#xff1a; 題3 最大連續1的個數 III&#xff1a; 思考&am…

Ubuntu20.04下如何源碼編譯Carla,使用UE4源碼開跑,踩坑集合

一、簡介 作為一個從事算法研究的人員,無人駕駛仿真一直是比較重要的一部分,但是現在比較常見的算法驗證都是在carla這個開源仿真平臺上做的,所以我有二次開發carla的需求,今天就來講講編譯CARLA。 網上的教材很多,但還是推薦大家看官網教程:Linux build - CARLA Simul…

Linux云計算訓練營筆記day09(MySQL數據庫)

Linux云計算訓練營筆記day09&#xff08;MySQL數據庫&#xff09; 目錄 Linux云計算訓練營筆記day09&#xff08;MySQL數據庫&#xff09;外鍵約束數據的導入和導出數據的導出數據的導入 DQL 數據查詢語言查指定字段查所有字段where 過濾條件and 和 orin 和 not inbetween...an…

對心理幸福感含義的探索 | 幸福就是一切嗎?

注&#xff1a;機翻&#xff0c;未校。 Happiness Is Everything, or Is It? Explorations on the Meaning of Psychological Well-Being 幸福就是一切嗎&#xff1f;對心理幸福感含義的探索 Journal of Personality and Social Psychology 1989, Vol. 57, No. 6,1069-1081 …

零基礎學Java——第十一章:實戰項目 - 微服務入門

第十一章&#xff1a;實戰項目 - 微服務入門 隨著互聯網應用的復雜性不斷增加&#xff0c;單體應用&#xff08;Monolithic Application&#xff09;在可擴展性、可維護性、技術棧靈活性等方面逐漸暴露出一些問題。微服務架構&#xff08;Microservices Architecture&#xff…

git 本地提交后修改注釋

dos命令行進入目錄&#xff0c;idea可以點擊Terminal 進入命令行 git commit --amend -m "修改內容"

Python訓練打卡Day22

復習日&#xff1a; 1.標準化數據&#xff08;聚類前通常需要標準化&#xff09; scaler StandardScaler() X_scaled scaler.fit_transform(X) StandardScaler() &#xff1a;這部分代碼調用了 StandardScaler 類的構造函數。在Python中&#xff0c;當你在類名后面加上括號…

氣動排渣煤粉爐專用V型球閥——法蘭連接耐磨閥門生產廠家解析-耀圣

氣動排渣煤粉爐專用V型球閥——法蘭連接耐磨閥門生產廠家解析 副標題&#xff1a;開關靈活無泄漏 標配行程開關/電磁閥/過濾器 一、產品概述&#xff1a;氣動排渣煤粉爐專用V型球閥核心優勢 作為專業的氣動耐磨V型球閥生產廠家&#xff0c;我們針對煤粉爐排渣工況研發的法蘭連…

Linux云計算訓練營筆記day08(MySQL數據庫)

Linux云計算訓練營筆記day08&#xff08;MySQL數據庫&#xff09; 目錄 Linux云計算訓練營筆記day08&#xff08;MySQL數據庫&#xff09;數據準備修改更新update刪除delete數據類型1.整數類型2.浮點數類型(小數)3.字符類型4.日期5.枚舉: 表頭的值必須在列舉的值里選擇拷貝表復…

致遠OA人事標準模塊功能簡介【附應用包百度網盤下載地址,官方售價4W】

人事管理應用&#xff0c;圍繞崗位配置、招聘管理、員工檔案、入轉調離、員工自助申報、數據信息管理等人力資源管理關鍵業務&#xff0c;構建全員可參與的人事工作協同平臺&#xff0c;讓人事從繁雜瑣碎的事務中解脫出來&#xff0c;高質高效工作&#xff0c;讓管理層清楚掌握…

數字孿生工廠實戰指南:基于Unreal Engine/Omniverse的虛實同步系統開發

引言&#xff1a;工業元宇宙的基石技術 在智能制造2025與工業元宇宙的交匯點&#xff0c;數字孿生技術正重塑傳統制造業。本文將手把手指導您構建基于Unreal Engine 5.4與NVIDIA Omniverse的實時數字孿生工廠系統&#xff0c;集成Kafka實現毫秒級虛實同步&#xff0c;最終交付…

【向量模型 + HNSW 參數如何選擇】

目錄 一、embedding_function&#xff08;向量模型&#xff09; 可選方式 選型建議 二、HNSW 參數選擇&#xff08;核心影響搜索速度與準確率&#xff09; 2.1 參數解釋和推薦值 2.2 配置模板參考 1、推薦默認配置&#xff08;適合大多數項目&#xff09;&#xff1a; 2…

fpga系列 HDL : Microchip FPGA開發軟件 Libero Soc 安裝 license申請

啟動 注冊賬號&#xff1a;https://login.microchip.com/申請免費許可&#xff1a;https://www.microchipdirect.com/fpga-software-products C:\Windows\System32>vol驅動器 C 中的卷是 Windows卷的序列號是 ****-****為“D:\Microsemi\License.dat”創建環境變量“LM_LICE…

【C++】解析C++面向對象三要素:封裝、繼承與多態實現機制

解析C面向對象三要素&#xff1a;封裝、繼承與多態實現機制 1. 面向對象設計基石2. 封裝&#xff1a;數據守衛者2.1 訪問控制實現2.2 封裝優勢 3. 繼承&#xff1a;代碼復用藝術3.1 繼承的核心作用3.2 繼承類型對比3.3 典型應用場景3.4 構造函數與析構函數處理3.4.1 構造順序控…

Python并發編程:開啟性能優化的大門(7/10)

1.引言 在當今數字化時代&#xff0c;Python 已成為編程領域中一顆璀璨的明星&#xff0c;占據著編程語言排行榜的榜首。無論是數據科學、人工智能&#xff0c;還是 Web 開發、自動化腳本編寫&#xff0c;Python 都以其簡潔的語法、豐富的庫和強大的功能&#xff0c;贏得了廣大…

數學復習筆記 10

前言 我覺得數學的高分乃至滿分屬于那些&#xff0c;聰明&#xff0c;堅韌&#xff0c;勇敢&#xff0c;細致的人。我非常慚愧自己不是這樣的人&#xff0c;我在生活中發現了這樣的同學&#xff0c;和他們交流的時候我常常感到汗流浹背&#xff0c;因為他們非常扎實的基礎知識…

深入理解 Webpack 核心機制與編譯流程

&#x1f916; 作者簡介&#xff1a;水煮白菜王&#xff0c;一位前端勸退師 &#x1f47b; &#x1f440; 文章專欄&#xff1a; 前端專欄 &#xff0c;記錄一下平時在博客寫作中&#xff0c;總結出的一些開發技巧和知識歸納總結?。 感謝支持&#x1f495;&#x1f495;&#…

概率相關問題

問題匯總 1. 貝葉斯定理&#xff08;貝葉斯公式和全概率公式&#xff09;2. 概率題2.1 隨機發生器的概率為1/2 1. 貝葉斯定理&#xff08;貝葉斯公式和全概率公式&#xff09; 定義&#xff1a;在信息和條件有限的情況下&#xff0c;基于過去的數據&#xff0c;通過動態調整的…