clickhouse節點重做(節點替換)

来源:https://www.cnblogs.com/zyp87/archive/2023/11/08/17813416.html
-Advertisement-
Play Games

在構建數據倉庫或做數據分析時,需要對原始數據的結構進行一定的處理,有時涉及到“行轉列”,有時涉及到“列轉行”,那麼這兩個轉換的方式具體是什麼,有什麼差異,怎麼實現。 ...


測試驗證環境:

docker容器化部署的4節點2分片和2副本(centos7+clickhouse22.1.3)

172.17.0.6 clickhouse01
172.17.0.7 clickhouse02
172.17.0.8 clickhouse03

172.17.0.9 clickhouse04(故障節點)
172.17.0.10 clickhouse04 (替換節點)

節點重做

一般情況,節點操作系統重裝或者硬碟故障節點重做處理情況

一般都是兩副本以上的集群,所以可以直接同步另一個副本節點的配置,拷貝過來,節點正常安裝服務進程

需要的拷貝的東西有一下幾點:

1、配置文件(config.xml、users.xml),需要調整config.xml的配置文件,修改macros中的replica改成當前節點

2、鑒權目錄access

3、數據的映射目錄data(裡面的軟連接目錄可以忽略不用管)

4、元數據目錄metadata

5、實際的建表目錄,這個需要查到metadata下麵的資料庫對應的軟連接目錄給打包到新節點

 將上面的三個目錄打成壓縮包,拷貝到重做節點,註意要是打包,不然軟連接會不存在,變成一個目錄了,這個沒有給連接到數據目錄等等的問題

比較複雜的是第五步的操作,一般情況下這個是作為一個數倉的存儲,創建的資料庫也不會很多,我們這邊的生產環境一般是7個資料庫,所以也就是拷貝store目錄下的7個目錄既即可,將他拷貝到重做節點的store目錄下就可以了,啟動之後,節點會檢測當前幾點與副本之前的區別,是空的節點會直接同步副本中的數據,但是這一步會很耗資源,需要挑一個合適的時間點來做

做好這些,啟動重做節點的clickhouse服務,查看啟動服務是否有報錯,沒有報錯的話就可以登錄節點查一下數據情況了,並且可以查看用戶和授權情況有沒有正常,然後測試數據寫入和讀取情況

節點故障替換

幾點替換操作可跟上面的操作一樣,但是集群需要使用的功能變數名稱映射的方式部署的,也就是不能通過ip來做的,如果是節點ip做的話,zookeeper元數據上的replicas下沒法對應 上,可能會有其他的問題,應該也可以通過命令來修複zookeeper的元數據

system restore replica default.st_order_mt_local on cluster two_shard_two_replica

這個是我的這個表元數據不在zookeeper上的,執行完成後查看zookeeper上就能查到這個元數據了

 

個人的見解說明,如有不足請指正

一般clickhouse節點的目錄都如下

 access這個是跟許可權相關,資料庫的和用戶的授權關係,用戶的創建語句都在這個下麵,如果只是數據盤故障重做的,這個可以去相同分片節點去拷貝過來,這樣節點重啟的時候,就可以得到原來集群的授權關係和用戶信息

 data這個目錄是實際數據存儲目錄,各個表的軟連接,全部都是連接到store目錄下,實際的數據存儲目錄是store下,可以用備用節點去查看備用節點的軟連接關係,這裡可以只創建軟連接地址,實際的數據不需要管,啟動之後會從副本中去同步數據

 


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

-Advertisement-
Play Games
更多相關文章
  • 實踐環境 Python 3.6.2 confluent-kafka 2.2.0 confluent-kafka簡介 Confluent在GitHub上開發和維護的confluent-kafka-python,Apache Kafka®的一個python客戶端,提供了一個與所有brokers>=v0. ...
  • 一:背景 1. 講故事 這段時間分析了幾個和網路故障有關的.NET程式之後,真的越來越體會到電腦基礎課的重要,比如 電腦網路 課,如果沒有對 tcpip協議 的深刻理解,解決這些問題真的很難,因為你只能在高層做黑盒測試,你無法看到 tcp 層面的握手和psh通訊。 這篇我們通過兩個小例子來理解一 ...
  • Span 提供任意記憶體的連續區域的類型安全和記憶體安全表示形式。它是在堆棧而不是托管堆上分配的ref結構,是對任意記憶體塊的抽象 。 1.關於Span 在NET Core 2.1中首次引入 提供對任意記憶體上的連續區域的讀寫視圖 利用索引/迭代來修改範圍內的記憶體 幾乎無開銷 2.和記憶體的關係 Span 表 ...
  • Nexus 是支持 Nuget、Docker、Npm 等多種包的倉庫管理器,可用做私有包的存儲分發,緩存官方包。本篇將手把手教學使用 Nexus 搭建自己的 NuGe t& Docker 私有倉庫。 ...
  • 有的時候我們會對程式進行單元測試, 為了測試的效果以及後期的維護, 我一般會將各個測試拆開, 根據需要測試的類分到各個類型中, 不過在實際操作的時候就出現了一些意想不到的問題, 各個測試的執行是亂序的, 按照我自己寫測試的習慣, 假如我需要測試新寫的增刪改查的功能, 我會將增刪改查分開測試, 會按照 ...
  • 接上篇 docker-bind 的使用搭建了一個 dns 服務,本篇將介紹另外一款 DnsServer 的部署和使用,更專註,更輕量。 ...
  • MongoDB+SignalR+Hangfire+Vue2+百度地圖實現GPS實時定位 一、實現效果 二、安裝MongoDB 可以自行參考菜鳥鏈接:MongoDB 教程 | 菜鳥教程 (runoob.com) 1.下載mongodb資料庫安裝包: 網盤鏈接:https://pan.baidu.com ...
  • 目錄String簡單介紹常見命令應用場景Hash簡單介紹常見命令應用場景List簡單介紹常見命令應用場景Set簡單介紹常見命令應用場景Sorted Set(Zset)簡單介紹常見命令應用場景Bitmap簡單介紹常見命令應用場景附錄 Redis支持多種數據類型,比如String、hash、list、S ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...