三分鐘部署Laxcus大數據管理系統

来源:http://www.cnblogs.com/laxcus/archive/2016/07/27/5681662.html
-Advertisement-
Play Games

Laxcus是Laxcus大數據實驗室歷時五年,全體系自主設計研發的國內首套大數據管理系統。能夠支撐百萬台級電腦節點,提供EB量級存儲和計算能力,相容SQL和關係資料庫。最新的2.x版本已經完整覆蓋和集成大數據主流技術和功能,並投入到國內多個超算項目中使用。部署laxcus集群很簡單,一個普通用戶... ...


  Laxcus是Laxcus大數據實驗室歷時五年,全體系自主設計研發的國內首套大數據管理系統。能夠支撐百萬台級電腦節點,提供EB量級存儲和計算能力,相容SQL和關係資料庫。最新的2.x版本已經實現對當前大數據主流技術和功能的完整覆蓋和集成,並投入到國內多個超算項目中使用。Laxcus同時保持了使用和部署的極簡性,這將使所有人都能很容易學習和掌握它。下麵演示在一臺Linux電腦上部署Laxcus demo系統的過程。根據我們的測試,這個部署過程大約需要三分鐘,或者您熟悉Linux系統 ,也許不需要這個時間。關於Laxcus的介紹,詳見產品論文:《Laxcus大數據管理系統》。

  在實際部署前,請確定已經滿足已下條件:

  <1> 保證這台Linux電腦是處於獨立且沒有聯網狀態(因為配置預設使用自迴路地址:127.0.0.1)。

  <2> 用戶能夠以root身份登錄Linux系統(Laxcus分佈節點需要在root狀態下工作)。

  <3> 運行Laxcus需要Java環境支持,請首先安裝一個JRE,Laxcus的最低版本要求是JRE1.6。

  以下進入部署狀態:

  <1> 用戶以root身份登錄Linux電腦,然後打開一個終端視窗。

  <2> 在根目錄建立一個Laxcus目錄,命令是:"mkdir laxcus"(註意是全小寫,Linux對大小寫敏感)。

  <3> 將laxcus demo包從其它目錄複製到這個目錄下麵。

  <4> 將Laxcus demo包解壓,命令是:“tar  -xzf  laxcus_demo_2.0.06_x32.tar.gz”,然後鍵入命令:"ls  -ltr",可以看到它的下麵分別出現了“top、home、log、aid、archive、data、work、call、build、watch、console、terminal”一系列目錄及文件。見圖1所示。

 

圖1  Laxcus demo包(Linux 32位版本)

  <5> 在“laxcus”目錄下有一個"java.sh"文件,用vim或者其它文本編輯工具打開它,設置自己的JAVA_HOME目錄(註意這裡是大寫)。圖中是" JAVA_HOME=/home/jdk1.6.0_18"。然後鍵入“wq!”保存退出。見圖2所示。

 

修改JAVA_HOME目錄

  <6> 將“java.sh”文件複製到“/etc/profile.d”目錄下,命令是:"cp java.sh  /etc/profile.d/java.sh"。見圖3所示。

 

複製java.sh文件

  <7> 在終端上鍵入命令:"echo  $JAVA_HOME"查看,如果java.sh被啟用,會顯示JAVA_HOME目錄的實際指向。如果沒有,請重新啟動電腦,再次以root身份登錄查看。見圖4所示。

 

顯示JAVA_HOME目錄

  <8> 將laxcus目錄下麵的全部".sh"尾碼文件設為可執行,命令是:"chmod +x *.sh"。見圖5所示。

 

修改*.sh文件屬性

  <9> 進入“laxcus”目錄下麵的所有子目錄,將這些目錄下麵的"bin"目錄中的全部".sh"尾碼文件設為可執行,命令同上。

  <10> 以上操作完成後,鍵入命令:“cd  /laxcus”回到laxcus目錄,再鍵入命令:“./runbatch.sh”,laxcus節點將按命令順序依次啟動 。見圖6所示。Laxcus已經在多地部署,為客戶提供分佈計算API介面,與用戶合作開發了很多分佈任務組件(基於Laxcus分佈演算法的中間件)。為保證軟體運行過程中的安全,防止出現惡意破壞的情況,Laxcus提供了沙箱服務,對第三方發佈、在Laxcus集群上運行的分佈任務組件進行安全限制和檢查。開啟沙箱模式是在啟動時,在“./runbatch.sh”後面加上“-sandbox”,這表示laxcus集群將在沙箱模式下運行。

 

以“沙箱”模式啟動laxcus集群節點(分佈任務組件被限制在沙箱中運行)

  <10> 以上操作完成後,可以使用命令:"ps -ef | grep java" 查看,這裡Laxcus各節點已經在Linux系統後臺運行。

  <11> 至此,Laxcus demo系統啟動完畢。如果停止Laxcus集群節點,請回到laxcus根目錄下鍵入命令:"./stopbatch.sh"。見圖7所示。使用過程中如有任意問題和建議,請通過郵箱或者微博我們聯繫。聯繫郵箱:[email protected] 或者微博:http://weibo.com/laxcus

 

停止laxcus集群節點

 

  Laxcus 圖形終端/字元控制台

  用戶可以使用圖形終端和字元控制台兩種方式登錄到Laxcus集群,通過在視窗中輸入命令,來驅動集群工作。因為只是單機模式,laxcus demo集群的登錄地址是:“localhost”,或者“127.0.0.1”,預設埠號是:5000(參數見conf/local.xml文件中配置)。系統管理員登錄用戶名是:“admin”,密碼是:“laxcus”(密碼區分大小寫)。字元控制台啟動命令是:“./console.sh”,圖形終端啟動命令是:“./terminal.sh”。見圖8、圖9、圖10。進入登錄狀態後,鍵入"help"可以查看Laxcus支持的全部命令。 退出時,字元控制台使用"exit"或者"quit"命令退出,圖形終端點擊菜單或者關閉按紐退出。

 

字元控制台

 

圖形終端登錄視窗

 

10 圖形終端主操作界面

  建立用戶賬號

  Laxcus是多用戶多集群的大數據管理系統,這意味著每個用戶在操作數據前,必須擁有一個屬於自己的賬號。建立用戶賬號的過程由系統管理員來完成,並對這個賬號的操作範圍進行授權。在賬號建立成功後,管理員將賬號轉交給用戶,用戶可以修改自己的賬號密碼,然後執行以後的數據操作,如建立資料庫、建表、寫入數據、查詢等操作。這些操作和關係資料庫的基本一致。在Laxcus demo系統里,已經內置了一個“demo”賬號相關的分佈計算服務。成功建立demo賬號後,即可獲得相關的業務操作能力。

11 系統管理員建立demo賬號

 

12 系統管理員對demo賬號授權

 

  demo用戶操作

  用戶獲得demo賬號後,以“demo/demo”登錄到localhost:7600。執行修改賬號密碼、建立資料庫、建立數據表的操作。

 

13  demo用戶登錄到:localhost 7600 主機

 

14 demo用戶修改自己的登錄密碼

 

15 建立資料庫

 

16 建立數據表

  分佈計算

  Laxcus大數據管理系統的分佈計算基於DIFFUSE/CONVERGE演算法。關於演算法和分佈任務組件(中間件)的介紹詳見《Laxcus大數據管理系統》一文,這裡不再贅述。圖11演示了一個在demo賬號下,隨機數的產生、排序、顯示、保存的過程。

  視窗文字解釋:

  <1>“conduct”,Laxcus系統命令,是diffuse/converge分佈演算法的語句化描述。

  <2>“demo_sort”,分佈計算的中間件命名(不區分大小寫)。這個中間件已經集成在Laxcus demo系統中。

  <3>“from、to、put”,conduct命令關鍵字,是diffuse/converge分佈計算的階段。

  <4>“sites”,conduct命令關鍵字,要求的節點數目(節點是一臺邏輯電腦)。

  <5>“writeto”,conduct命令關鍵字,指示數據寫入的磁碟文件。

  <6> “begin、end、total、orderby”,自定義關鍵字,格式是“名稱(數據類型)=參數”。這些關鍵字由用戶定義,然後在自己的中間件中解析和處理。

  命令說明:

  這個命令遵循DIFFUSE/CONVERGE分佈演算法,通過操縱一個名為“demo_sort”的分佈任務組件,由多個data節點產生隨機數,然後把它們分散到多個work節點上,進行排序計算和輸出的過程。在from階段,要求系統啟動6個data節點,每個節點平均分配2000(total)個數中的六分之一,產生從0到99999之間的隨機數。to階段要求3個work節點,它承接from階段產生的數字,每個work節點平均分配2000(total)個數中的三分之一,並對分配到的數字進行排序,排序採用降序方式。數據結果在終端上顯示,並寫入一個名為"/tracking/rnd.bin"的本地文件中(Linux文件名,如果終端運行在Windows系統,需要改為對應的目錄結構)。另:在demo_sort分佈任務組件執行過程中,會對參數中要求的節點數進行檢查,如果達不到指定要求,將自動降為實際可用數目。實際上,由於data、work節點達不到要求,demo_sort在執行過程中已經對此做了處理。

 

17 conduct命令

  SQL查詢

  Laxcus 2.x已經完全相容SQL,包括SQL四個操縱語句:INSERT、DELETE、UPDATE、SELECT,以及對SQL函數、GROUP BY、ORDER BY、嵌套查詢(Sub Select)、連接查詢(Join)的支持。這些操作在內部都遵循Diffuse/Converge演算法執行計算。在圖形視窗上, 則與關係資料庫表現完全一致。

 

18 嵌套查詢(支持SQL函數)

 

19 group by order by 查詢(支持SQL函數)

  數據構建

  數據構造對各種數據再處理業務的綜合。同分佈計算一樣,數據可以通過視窗命令進行。關於數據構建的詳見介紹,還是請見《Laxcus大數據管理系統》一文。在laxcus 2.x版本中,系統提供了兩個數據構建命令“regulate、modulate”,它們分別是對一個節點或者幾個節點的數據,以及一個Laxcus集群的數據進行數據優化和重新整理。同分佈計算一樣,laxcus也提供了數據構建的API介面,幫助用戶實現自己的數據構建業務。

 

圖20 regulate命令

 

21  modulate 命令

 

  流式處理

  流式處理是laxcus 2.x版本一項新的功能。它將原來基於硬碟的數據處理過程,轉移到記憶體上進行,能夠獲得了數十倍的效率提升。Laxcus流式處理很簡單,只要在圖形視窗上設置這個命令,以後所有的命令操作,都將預設為流式處理方式。反之,如果將命令改為“set process mode disk”, 以後的命令處理,都將是磁碟處理模式。

 

23 流處理命令(此命令生效後,以後所有數據處理命令,如selectconductmodulate都將預設採用流式處理執行)


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

-Advertisement-
Play Games
更多相關文章
  • 前端能獲得的時間有兩種:客戶端與伺服器的時間. 如何獲取伺服器當前時間,主要是處理客戶端本地機器時間錯誤問題。 方法一:原理:獲取伺服器返回的頭部信息中的Date屬性 由於得到的是GMT(格林尼治時間) 所以要轉換成東八區的時間 這個就是響應伺服器的當前時間。var date = new Date( ...
  • ...
  • 1. viewport:也就是可視區域。對於桌面瀏覽器,我們都很清楚viewport是什麼,就是出去了所有工具欄、狀態欄、滾動條等等之後用於看網頁的區域,這是真正有效的區域。由於移動設備屏幕寬度不同於傳統web,因此我們需要改變viewport; 實際上我們可以操作的屬性有4 個: width - ...
  • 1 <meta content=”width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;” name=”viewport” /> <meta content=”yes” name=”apple-mobile ...
  • 一、用js計算 12.32 * 7 結果是多少? 答案:86.24000000000001 為什麼會出現這種問題?怎麼解決? js在處理小數的乘除法的時候有一個bug,解決的方法可以是:將小數變為整數來處理。 以上的計算可以改為: 12.32 * 100 * 7 /100 得出的結果是:86.24, ...
  • 在JS中設置節點的屬性與屬性值用到setAttribute(),獲得節點的屬性與屬性值用到getAttribute(),而在jquery中,用一個attr()就可以全部搞定了,贊一個先 ^^ jquery中用attr()方法來獲取和設置元素屬性,attr是attribute(屬性)的縮寫,在jQue ...
  • 創建臨時表,往臨時表插入數據的時候報的錯誤。 一開始提示沒有打開主鍵,後來打開主鍵就提示上述錯誤異常。 從網上查找資料沒有找到,然後又到群里問各位大牛,一位大牛告訴我是沒有設置主鍵。 我又仔細看看提示,恍然大悟,我就給臨時設置了主鍵。 沒有主鍵之前的代碼: 執行的話就會報“表 '#TT' 沒有標識屬 ...
  • 我怎麼一步一步追到ODBO了? mondrian核心api—>olap4j—>jedox也在用olap4j—>ODBO? ODBO是什麼呢? OLE DB for OLAP (Object Linking and Embedding Database for Online Analytical Pr... ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...