Clickhouse設置多磁盤存儲策略

設置多磁盤存儲

clickhouse安裝完成以后,配置了一個默認的存儲空間, 這個只能配置一個目錄,如果要使用多個磁盤目錄,則需要配置磁盤組策略

查看當前的存儲策略

select name, path, formatReadableSize(free_space) as free, formatReadableSize(total_space) as total, formatReadableSize(keep_free_space) as reserved from system.disks;

可以看到只有一個default

┌─name────┬─path─────────────────────┬─free─────┬─total────┬─reserved─┐
│ default │ /data06/clickhouse/ │ 1.54 TiB │ 1.82 TiB │ 0.00 B   │
└─────────┴──────────────────────────┴──────────┴──────────┴──────────┘

準備好磁盤目錄

mkdir /data01/clickhouse
mkdir /data02/clickhouse
mkdir /data03/clickhouse
mkdir /data04/clickhouse
mkdir /data05/clickhousechown -R clickhouse:clickhouse /data01/clickhouse
chown -R clickhouse:clickhouse /data02/clickhouse
chown -R clickhouse:clickhouse /data03/clickhouse
chown -R clickhouse:clickhouse /data04/clickhouse
chown -R clickhouse:clickhouse /data05/clickhouse

添加配置

添加配置到/etc/clickhouse-server/config.xml 中

    <storage_configuration><disks><disk_hot1> <!-- 自定義磁盤名稱 --><path>/data01/clickhouse/</path></disk_hot1> <disk_hot2><path>/data02/clickhouse/</path></disk_hot2><disk_hot3><path>/data03/clickhouse/</path></disk_hot3><disk_hot4><path>/data04/clickhouse/</path></disk_hot4><disk_hot5><path>/data05/clickhouse/</path></disk_hot5><disk_cold><path>/root/clickhouse_storage/cold/</path> <keep_free_space_bytes>1073741824</keep_free_space_bytes></disk_cold></disks><policies><jbod_police> <!-- 自定義策略名稱 --><volumes><jbod> <!-- 自定義磁盤組名稱 --><disk>disk_hot1</disk><disk>disk_hot2</disk><disk>disk_hot3</disk><disk>disk_hot4</disk><disk>disk_hot5</disk></jbod></volumes></jbod_police><hot_cold_police><volumes><hot><disk>disk_hot1</disk> <disk>disk_hot2</disk> <max_data_part_size_bytes>1048576</max_data_part_size_bytes></hot><cold><disk>disk_cold</disk></cold></volumes><move_factor>0.2</move_factor></hot_cold_police></policies></storage_configuration>
  • keep_free_space_bytes:選填項,表示不被使用的磁盤空間大小
  • jbod策略只需要配置一個磁盤組,part(如202107_0_0_0)儲存輪詢每個disk;適用于掛載了多塊磁盤,但未配置RAID
  • hot/cold策略配置hot和cold兩個磁盤組, part未超過(max_data_part_size_bytes[選填項] * move_factor[選填項, 默認0.1])則儲存在hot磁盤組,超過則儲存在cold磁盤組;適用于掛載了SSD和HDD磁盤
  • 磁盤策略可以配置多個

配置生效

依次重啟每個節點:
/etc/init.d/clickhouse-server restart

再看磁盤disk就有多個了:

:) select name, path, formatReadableSize(free_space) as free, formatReadableSize(total_space) as total, formatReadableSize(keep_free_space) as reserved from system.disks;┌─name──────┬─path─────────────────────┬─free─────┬─total────┬─reserved─┐
│ default   │ /data03/clickhouse/ │ 1.54 TiB │ 1.82 TiB │ 0.00 B   │
│ disk_hot1 │ /data06/clickhouse/ │ 1.58 TiB │ 1.82 TiB │ 0.00 B   │
│ disk_hot2 │ /data07/clickhouse/ │ 1.61 TiB │ 1.82 TiB │ 0.00 B   │
│ disk_hot3 │ /data08/clickhouse/ │ 1.58 TiB │ 1.82 TiB │ 0.00 B   │
│ disk_hot4 │ /data09/clickhouse/ │ 1.58 TiB │ 1.82 TiB │ 0.00 B   │
│ disk_hot5 │ /data10/clickhouse/ │ 1.60 TiB │ 1.82 TiB │ 0.00 B   │
└───────────┴──────────────────────────┴──────────┴──────────┴──────────┘

存儲策略也可以看到了,這個存儲策略在建表的時候,可以指定

 :) select policy_name, volume_name, volume_priority, disks, formatReadableSize(max_data_part_size) max_data_part_size, move_factor from system.storage_policies;┌─policy_name─┬─volume_name─┬─volume_priority─┬─disks─────────────────────────────────────────────────────────┬─max_data_part_size─┬─move_factor─┐
│ default     │ default     │               1 │ ['default']                                                   │ 0.00 B             │           0 │
│ jbod_police │ jbod        │               1 │ ['disk_hot1','disk_hot2','disk_hot3','disk_hot4','disk_hot5'] │ 0.00 B             │         0.1 │
└─────────────┴─────────────┴─────────────────┴───────────────────────────────────────────────────────────────┴────────────────────┴─────────────┘

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

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

相關文章

Django DRF版本號的處理

在restful規范中&#xff0c;后端的API中需要體現版本。如果項目比較大&#xff0c;需要些很多的視圖類&#xff0c;在每一個類中都寫一遍會比較麻煩&#xff0c;所以drf中也支持了全局配置。在每個版本處理的類中還定義了reverse方法&#xff0c;他是用來反向生成URL并攜帶相關…

還記得高中生物書上的莫斯密碼嗎?利用Python破解摩斯密碼的代碼示例!

文章目錄 前言摩爾斯電碼Python實現摩斯密碼對照表加密解密測試 完整代碼總結關于Python技術儲備一、Python所有方向的學習路線二、Python基礎學習視頻三、精品Python學習書籍四、Python工具包項目源碼合集①Python工具包②Python實戰案例③Python小游戲源碼五、面試資料六、Py…

Arduino驅動MLX90614紅外溫度傳感器(溫濕度傳感器)

目錄 1、傳感器特性 2、MLX90614發射率補償方法 3、控制器和傳感器連線圖 4、驅動程序 MLX90614紅外測溫模塊,通過探測物體紅外輻射能量的大小和波長的分布來檢測物體的表面溫度。紅外測溫器由光學系統、光電探測器、信號放大器

一文讀懂 Linux mmap

文章目錄 1.簡介2.實現原理3.相關函數4.mmap和常規文件操作的區別5.作用參考文獻 1.簡介 mmap&#xff08;memory map&#xff09;即內存映射&#xff0c;用于將一個文件或設備映射到進程的地址空間。 實現這樣的映射關系后&#xff0c;進程虛擬地址空間中一段內存地址將與文…

TorchScript C++ 自定義運算符 cpucuda

參考 在 C 中注冊調度運算符 使用自定義 C 運算符擴展 TorchScript 環境&#xff1a; NVIDIA Driver Version : 545.23.08CUDA Version: 12.1Python Version: 3.11Pytorch Version: 2.1Cmake version : 3.18.1工作目錄&#xff1a;workspace/test 一、 C 自定義運算符 創建…

逐字節講解 Redis 持久化(RDB 和 AOF)的文件格式

前言 相信各位對 Redis 的這兩種持久化機制都不陌生&#xff0c;簡單來說&#xff0c;RDB 就是對數據的全量備份&#xff0c;AOF 則是增量備份&#xff0c;而從 4.0 版本開始引入了混合方式&#xff0c;以 7.2.3 版本為例&#xff0c;會生成三類文件&#xff1a;RDB、AOF 和記…

2014年5月28日 Go生態洞察:GopherCon 2014大會回顧

&#x1f337;&#x1f341; 博主貓頭虎&#xff08;&#x1f405;&#x1f43e;&#xff09;帶您 Go to New World?&#x1f341; &#x1f984; 博客首頁——&#x1f405;&#x1f43e;貓頭虎的博客&#x1f390; &#x1f433; 《面試題大全專欄》 &#x1f995; 文章圖文…

Java面試附答案:掌握關鍵技能,突破面試難題!

問題&#xff1a;什么是大O表示法&#xff1f;它在Java中的應用是什么&#xff1f; 回答&#xff1a; 大O表示法是一種用來衡量算法復雜度的方法&#xff0c;它描述了算法的時間復雜度和空間復雜度的增長速度。它使用符號O(n)來表示算法的漸進時間復雜度&#xff0c;其中n表示…

如何讓Python2與Python3共存

安裝 首先分別安裝Py2和Py3&#xff0c;我都安裝到C盤根目錄里了&#xff0c;然后分別將Py2和Py3都配置到系統環境變量中去&#xff1a;C:\Python36\Scripts\;C:\Python36\;C:\Python27\;C:\Python27\Scripts; 配置 修改兩個版本的可執行文件名字 驗證 重新配置一下pip …

Ubuntu刪除應用圖標

刪除用戶下的圖標 sudo nautilus ~/.local/share/applications刪除系統下的圖標 sudo nautilus /usr/share/applications

大數據-之LibrA數據庫系統告警處理(ALM-25500 KrbServer服務不可用)

告警解釋 系統按30秒周期性檢測組件KrbServer的服務狀態。當檢測到組件KrbServer服務異常時產生該告警。 當檢測到組件KrbServer服務恢復時告警恢復。 告警屬性 告警ID 告警級別 可自動清除 25500 致命 是 告警參數 參數名稱 參數含義 ServiceName 產生告警的服務…

解決MySQL中某列數據過長無法入庫的問題-Details:data too long for column `xxx` at row 1

問題描述&#xff1a; 我在將軌跡的經緯度轉換為字符串入庫時&#xff0c;遇到寫入問題 Mysql數據入庫報錯&#xff1a; Caused by:java.long.exception:寫入數據庫表失敗.Details:data too long for column xxx at row 1&#xff0c;我的xxx字段類型是string,在mysql庫表中…

加速CI構建,實現高效流水線——CloudBees CI發布工作區緩存功能

加速軟件交付流程能夠更快接觸到客戶&#xff0c;獲得競爭優勢。然而&#xff0c;識別這一過程中存在的瓶頸可能頗具挑戰。讓我們從審查構建和測試階段開始著手。例如&#xff0c;當CI作業執行時間較長時&#xff0c;它會延遲開發人員的反饋循環&#xff0c;從而可能導致發布延…

使用Python解析CAN總線

緣起 在新能源車輛的開發和維護中&#xff0c;經常需要對CAN總線數據進行分析。CANOE等總線軟件雖然方便&#xff0c;但功能有限&#xff0c;難以滿足數據分析的要求。Matlab的Vehicle Network Toolbox可以方便的進行數據解析和分析&#xff0c;它是閉源且收費的。因此&#x…

SpringBoot啟動順序

前言 每次有人問起SpringBoot的啟動順序是不是又來翻博客了&#xff1f;其實只需要稍微查看Spring的源碼即可 步驟 SpringBoot的入口org.springframework.boot.SpringApplication#run(String... args), 這里面實現了SpringBoot程序啟動的所有步驟 啟動事件的順序可以看監聽器…

uni-app 使用uni.getLocation獲取經緯度配合騰訊地圖api獲取當前地址

前言 最近在開發中需要根據經緯度獲取當前位置信息&#xff0c;傳遞給后端&#xff0c;用來回顯顯示當前位置 查閱uni-app文檔&#xff0c;發現uni.getLocation () 可以獲取到經緯度&#xff0c;但是在小程序環境沒有地址信息 思考怎么把經緯度換成地址&#xff0c;如果經緯度…

buildadmin+tp8表格操作(1)----表頭上方添加按鈕和自定義按鈕

buildAdmin 的表頭上添加一些按鈕&#xff0c;并實現功能 添加按鈕 <template><!-- buttons 屬性定義了 TableHeader 本身支持的頂部按鈕&#xff0c;僅需傳遞按鈕名即可 --><!-- 這里的框架自帶的 頂部按鈕 分別有 刷新 &#xff0c; 添加&#xff0c; 編輯&…

C++ 問題 怎么在C++11標準語法中調用C++20的類

一. 問題 在工作中,因為一個算法功能需要跟別的部門對接,他們提供了該算法的頭文件.h,靜態庫.lib,動態庫.dll。但是頭文件中使用了C++20才有的新特性,如#include等,而本地使用的vs2015開發環境,只支持C++11標準語法,這種情況下,該怎么把該算法集成到本地項目中呢? …

寫單元測試,沒你想得那么簡單!

前言 單元測試是什么我們就簡單介紹一下&#xff1a; 單元測試是針對程序模塊&#xff08;軟件設計的最小單位&#xff09;來進行正確性檢驗的測試工作。程序單元是應用的最小可測試部件。 接下來是本人對單元測試的理解和實踐。里面沒有廢話&#xff0c;希望每句話能說到你心…

YOLOv8改進實戰 | 更換主干網絡Backbone(六)之輕量化模型VanillaNet進階篇

前言 輕量化網絡設計是一種針對移動設備等資源受限環境的深度學習模型設計方法。下面是一些常見的輕量化網絡設計方法: 網絡剪枝:移除神經網絡中冗余的連接和參數,以達到模型壓縮和加速的目的。分組卷積:將卷積操作分解為若干個較小的卷積操作,并將它們分別作用于輸入的不…