Laxcus大數據管理系統(4)- 第一章 基礎概述 1.3 節點

来源:http://www.cnblogs.com/laxcus/archive/2016/04/03/5349031.html
-Advertisement-
Play Games

1.3 節點 按照我們給Laxcus集群的設計定義,Laxcus集群被分為內部和外部兩個網路環境。內部網路由集群的所有權人負責實施和管理,為保證集群能夠有效可靠運行,需要遵守一系列的集群部署和管理規定。外部網路是用戶負責範圍,用戶可以通過互聯網或者VPN的方式,遠程登錄進入集群,然後通過交互命令傳達 ...


1.3 節點

  按照我們給Laxcus集群的設計定義,Laxcus集群被分為內部和外部兩個網路環境。內部網路由集群的所有權人負責實施和管理,為保證集群能夠有效可靠運行,需要遵守一系列的集群部署和管理規定。外部網路是用戶負責範圍,用戶可以通過互聯網或者VPN的方式,遠程登錄進入集群,然後通過交互命令傳達到集群上,執行數據操作。這樣一個佈局,可以理解為集群層面的客戶機/伺服器結構。此外,如果集群組織者沒有對外服務的需要,也可以將集群全部部署在內部網路里,成為一個純粹的Intranet集群。

  如前所述,節點是Laxcus集群的基本單位,由前端節點、網關節點、工作節點、管理節點4類節點組成。理論上,一臺物理電腦上可以部署任意多個節點,包括組成一個小型的集群。從節點的工作性質來看,它具有雙重身份,即是伺服器又是客戶機。當它做為伺服器使用時,它接受其它節點的命令請求和執行數據處理;當處於客戶機狀態時,又可以向其它節點發送命令。軟體層面上,節點實質是操作系統下的一個進程,在後臺運行,通過網路與外界保持聯繫。在Laxcus 2.0版本中,節點共設計有4類11種節點。對每一種節點,我們都規定了它們的工作內容和處理範圍,以下將逐一進行介紹。

 

 

圖1.1   Laxcus集群

 

1.3.1 Top節點

  Top是管理節點,在Laxcus集群的二級管理構架中,是整個集群的核心,必須保證絕對存在。集群中的其它節點都是Top節點的下屬節點。按照Laxcus集群管理規定,這些節點的工作,必須在Top節點啟動後啟動,在Top節點停止前停止。因為Top的頂級管理節點身份,它節點只負責最關鍵的數據資源管理工作,包括用戶賬號的建立、刪除、查詢,用戶操作許可權的授權和回收,資料庫資源的分配、釋放、檢查。Top有兩個直接的下屬節點:Home、Aid,Top要接受它們的註冊,以及監測它們的運行狀態。由於Top節點在集群中的重要性,它的故障將造成整個集群的管理混亂,所以在實際部署時,要求一個Top節點在運行的同時,還應該有最少一個Top備用節點。為了區分這兩類節點,在Laxcus集群管理規定里,我們把接受和執行業務處理中的Top節點稱為Master節點,備用的Top節點稱為Monitor節點。Monitor節點的工作,除了監視Master節點運行外,還會同步備份它的數據資源和運行記錄。當Master節點發生故障失效後,Monitor節點將啟動故障切換過程,接手它的全部管理工作。如果有多個Monitor節點,它們會通過協商的方式,在它們中間推舉一個Monitor節點成為新的Master節點。新的Master節點會要求原來的下屬節點重新註冊它的下麵,來保證集群繼續有效運行,同時新Master節點還把故障和切換過程通知集群管理員,由管理員來負責後續的故障電腦檢查、維修工作。

  因為Top節點只負責數據資源管理,以及與Home、Aid節點保持少量的通信,所以通常情況下,它的工作負荷很輕。

1.3.2 Home節點

  Home是管理節點,在Laxcus集群二級管理架構中,它是子域集群的核心。對上,向Top節點註冊,和接受Top節點的管理;對下,接受下屬節點的註冊,以及監督和協調它們的運行。在Laxcus集群里,工作節點全部運行在Home節點下麵,並且弱中心化管理思想也主要體現在Home節點上。運行過程中,它只負責兩項工作:追蹤工作節點運行狀態,收集和分析工作節點元數據。這些工作的數據量和產生的計算量都很小,不會對Home節點正常運行構成影響。與Top節點一樣,Home也要求有一個Master節點和最少一個Monitor節點。當Master節點發生故障時,Monitor節點可以接替Master節點的工作。

1.3.3 Task節點

  Task是工作節點,註冊到Top節點下麵,為用戶的分佈任務組件提供存儲、管理、轉發服務。在實際使用時,Top會把它重定向給關聯的Home節點,再經過Home節點結合自己的數據資源進行判斷後,分派給自己的下屬節點,讓它們與Task節點進行數據交互。與Task節點進行直接數據交互的節點有Data、Work、Build、Call四種節點,它們將根據自己的業務需要,請求關聯的分佈任務組件,並把分佈任務組件下載下來,部署在自己的節點上,為用戶提供分佈數據處理。同時,每一個與Task節點執行過成功交互的節點,Task節點會記錄下它們的信息,當有新的分佈任務組件上傳後,Task節點會把這些新的分佈組件,同步推送給這些節點,使得用戶在發佈分佈任務組件後,集群可以立即部署和生效,省卻了用戶的等待時間。

  按照上述流程介紹,實質上,Task節點是跨子域集群存在的,我們為Task節點設計了一個Top/Home/Home下屬節點的三層定向機制,每個Task節點可以為整個集群提供分佈任務組件服務,而不必拘泥於某個子域集群的限制。管理員也可以按照自己的需要,設置規則,為不同的用戶選擇合適的發佈空間,提高了管理靈活性。

1.3.4 Log節點

  Log節點是工作節點,註冊到Home節點下麵。為本集群的其它節點保存它們的日誌數據,並提供格式化的日誌檢索服務。這樣的工作內容使得Log節點成為Laxcus集群里最簡單的一個節點。對於上傳的日誌,Log節點將根據每個節點的類型和地址,在磁碟上分別建立目錄和文件,然後按照時間的格式排列保存下來。在Laxcus集群里,各節點上傳的日誌內容,通常是它們的工作流程和運行錯誤,這些信息為分佈狀態下的數據追蹤和分析、程式調試、快速定位和判斷節點運行故障提供了重要的依據。所以Log節點的工作雖然簡單,但是非常重要,這也是為什麼要單獨把日誌單獨保存並且列為一類節點的原因。

1.3.5 Data節點

  Data節點是工作節點,註冊到Home節點下麵,提供基於磁碟和記憶體的數據存取服務。在Laxcus集群里,Data節點保存著整個集群的數據,是所有數據處理的源頭。為了保證正確的數據處理,我們在Data節點上,為數據處理設計了一系列的可靠性保證,包括數據完整性、一致性要求,以及各種數據糾錯和冗餘能力。這些元素的加入,使得Data節點的複雜性,遠高於集群中的其它節點,它在集群中的重要性,也僅次於Top、Home節點。

  另外Data節點與其它節點不同的是,Data節點具有“級別”概念,在運行時,被分為主節點(Prime Site)和從節點(Slave Site)兩種類型。它們的區別在於,主節點具有“讀寫”能力,可以執行全部數據操作,包括添加、刪除、更新、檢索。從節點只擁有“讀”的能力,即數據檢索操作。這個特點在實際應用中是非常重要的,它為Laxcus集群的許多初始指標,如數據冗餘、平衡計算、並行處理,提供了基本的保證,成為了Laxcus集群實施大規模數據處理的必要條件。

1.3.6 Work節點

  Work節點是工作節點,註冊到Home節點下麵,提供數據計算服務。在Laxcus集群中,Work節點承接來自Data節點的數據,大量重要性高、計算量大的數據處理工作都發生在Work節點上,這使得Work節點在整個Laxcus集群中,成為工作負荷最重的節點,也因此成為體現數據處理效率最關鍵的一環。

  為了獲得更高的數據處理效率,在Laxcus 2.0中,Work節點通常會把有限的硬體資源集中起來,採用任務隊列的手段和快進快出的原則,來解決幾個最重要的數據計算工作,從而避免因為無謂的任務空耗硬體資源,而其它需要作業的任務又不能獲得工作許可的問題。使得Work節點在應對大規模數據處理時,能夠充分利用硬體資源,來加快數據計算速度,同時也提高了數據處理效率。

1.3.7 Build節點

  Build節點是工作節點,註冊到Home節點,提供ETL服務。ETL是的提取、轉換、裝載(extract、transform、load)的簡稱,這個名詞很好地描述了一種數據處理過程,是當前許多商業數據應用和互聯網數據處理業務的重要組成部分,可以理解為數據計算的前奏和加速器。ETL的核心要旨是把各種數據,按照各自不同的需求,經過重新組織整理後,形成新的數據。這些新的數據,將成為後續數據計算的必要材料。

  在許多業務處理中,我們通常是採用ETL的方式,把一些數據組合工作從數據計算過程中分離出來,做成一個獨立的單元,提前完成,來供後面的數據計算使用,以達到簡化數據計算流程的目的。實際上,這種簡化的數據計算工作,在很多大規模數據處理業務中使用時,不止是簡化了數據處理流程,往往還獲得了更高的處理效率。

1.3.8 Call節點

  Call節點是網關節點,註冊到Home節點下,提供分佈數據管理和任務調度服務。在Laxcus集群中,Call節點是一個“中間人”的角色,起到類似路由器的作用。對內,它收集Data、Work、Build節點的元數據,並把這些元數據按照各種要求重新組合,保存在記憶體里。對外,它只接受Front節點的註冊和命令請求,同時具有對外屏蔽了集群內部拓撲結構的作用,防止可能由外部發起的網路攻擊,即使因此發生宕機現象,也可以做到儘量避免波及到集群內部其它節點。當收到Front節點的命令後,它將按照命令的要求,為Front節點篩選集群內部的數據資源,和定位目標節點。在目標節點完成數據處理後,Call節點把數據結果返回給Front節點,從而完成一次數據處理工作。

  與Task節點一樣,Call節點也是可以跨越多個子域集群的。至於是否需要跨越,則由註冊的Front節點來決定。當Front節點需要的數據分別存在於多個子域集群時,那麼Call節點將自動發生跨越子域集群行為。

1.3.9 Aid節點

  Aid節點是網關節點,註冊到Top節點下麵,提供賬號和賬號資源的管理服務。Aid節點唯一的服務對象是Front節點,所有類型的Front節點都要首先註冊到Aid節點下麵,才能獲得進入集群和操縱數據的權力。Front節點發出的每一道命令,當通過Aid節點審核後,才能交給Call節點並轉發到集群內部。與Call節點一樣,Aid節點也對Front節點屏蔽內部網路環境,避免可能的網路攻擊行為影響到內部集群運行。Aid節點這種佈局和處理方式,具有分解數據業務負荷和保證集群安全的雙重作用。

  在Laxcus 2.0版本中,Aid節點新增加事務處理能力,這樣命令在獲得核准前,為了防止命令之間可能存在的事務衝突,Aid節點給每個命令都增加了事務檢查環節。

1.3.10 Front節點

  Front節點是Laxcus集群唯一的前端節點,由用戶操作和使用,被要求註冊到Aid節點下麵,為用戶提供進入集群和操作集群數據的能力。當Front節點成功註冊到Aid節點後,Front節點會向Aid節點請求關聯的Call節點地址,然後主動與它們建立聯繫,來獲得執行命令的能力。

  在Laxcus集群里,Front節點被分為三種類型:字元界面的控制台、圖形界面的終端、沒有操作界面的驅動程式。前兩種被用戶直接使用,分別針對了Linux和Windows用戶的使用習慣。用戶在視窗上輸入命令後,通過Aid、Call這兩道網關節點的審查,被髮往集群內部處理。後一種是嵌入到其它軟體中使用(如Apache、Tomcat這類Web軟體),命令由這些開放介面傳遞過來,經過Aid、Call節點審查通過,發往集群內部處理。圖形界面的Front節點現在有三種語言版本:英文、中文、西里爾語,另外其它語種的圖形版Front節點也在籌劃中。

  三類Front節點允許同時並行存在,每一類又可以同時併發多組命令,所有命令都在Aid節點管理下,各自執行自己的數據處理工作,不會發生衝突。至於命令最大併發數,則由集群管理員分配,Aid節點負責執行。

 

圖1.3.10.1 Front控制台

 

圖1.3.10.2 Front終端

1.3.11 Watch節點

  Watch是工作節點,可以選擇註冊到Top或者Home節點下麵,提供監視主域集群或者子域集群的服務。在Laxcus集群里,Watch節點是唯一完全由集群管理員操縱的節點,它也是Laxcus集群另一種擁有圖形操作界面的節點,為集群管理員提供可視化的管理工作。集群管理員通過Watch節點,能夠實時追蹤和檢查所有節點、所有用戶的當前狀態。當集群中的節點需要通知管理員,或者感知、捕獲到運行故障時,也會通過網路傳遞給Watch節點,Watch節點將以文字、圖像、聲音的方式,提醒管理員加予關註,或者要求管理員去排除已經發生的故障。

 

圖1.3.11 Watch節點圖形界面

 


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

-Advertisement-
Play Games
更多相關文章
  • 【原】博客園第三方客戶端-i博客園App開源 本文轉載請註明出處 —— polobymulberry-博客園 1.前言 目前i博客園App已經更新到2.0.0版本了,使用了最新的博客園Web API。相比於第一個版本,添加了很多新的功能,也修改了很多功能。整體來說改動比較大,代碼也比較混亂。所以趁著 ...
  • 在iOS中,JSON的常見解析方案有4種 第三方框架:JSONKit,SBJson,TouchJSON(性能從左到右,越差) 蘋果原生(自帶):NSJSONSerialization(性能最好) JSON與OC的轉換 JSON->OC對象 用這個類對第一個參數data進行json解析, 第二個參數: ...
  • 原文鏈接:http://www.orlion.ga/578/ Android系統中主要提供了三種方式用於簡單地實現數據持久化功能,即文件存儲、SharedPreference存儲以及資料庫存儲。當然,除了這三種方式之外,你還可以將數據保存在手機的 SD卡中,不過使用文件、SharedPreferen ...
  • 原文鏈接:http://www.orlion.ga/427/ 一、隱藏activity的標題 在activity的java代碼的onCreate()方法中入requestWindowFeature(Window.FEATURE_NO_TITLE);如下: 二、在Activity中使用Toast 首先 ...
  • android在strings.xml文件中,寫string對象時,如何加入空格 <string name="password">密&#160;&#160;&#160;&#160;碼:</string> &#160; 表示空格,上面的字元串表示在“密”和“碼”兩個字之間加入四個空格 結果顯示為: 密 ...
  • 部門常用控制項的列舉 今天介紹一下最最常用的最基本的控制項 1.Button 按鈕 2.TextView 文本顯示(相當於java控制項中的Label) 3.EditText 編輯文本框 (相當於java控制項中的TextField) 4.RadioGroup和RadioButton 單選按鈕控制項。因為兩個 ...
  • 一、標識列的定義以及特點SQL Server中的標識列又稱標識符列,習慣上又叫自增列。該種列具有以下三種特點:1、列的數據類型為不帶小數的數值類型2、在進行插入(Insert)操作時,該列的值是由系統按一定規律生成,不允許空值3、列值不重覆,具有標識表中每一行的作用,每個表只能有一個標識列。由於以上 ...
  • 錯誤代碼 1045Access denied for user 'root'@'localhost' (using password:YES) 解決辦法是重新設置root用戶密碼,在Windows平臺下操作步驟如下: 1、以系統管理員身份登錄到系統; 2、如果MySQL伺服器正在運行,停止它。 如果 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...