本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種數(shù)據(jù)集群的部署方法、裝置及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)的發(fā)展,為了滿足用戶對海量數(shù)據(jù)的存儲需求,通常會使用數(shù)據(jù)集群系統(tǒng)存儲海量數(shù)據(jù)。例如,使用apache開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu),即海杜普(hadoop)系統(tǒng),存儲海量數(shù)據(jù)。但是,很多數(shù)據(jù)集群系統(tǒng)往往存在部署和管理復(fù)雜的問題,下面以hadoop系統(tǒng)為例進行說明。
hadoop系統(tǒng)是一個能夠?qū)Υ罅繑?shù)據(jù)進行分布式處理的開源軟件框架,該系統(tǒng)包括分布式文件系統(tǒng)(hadoopdistributedfilesystem,簡稱為hdfs)和分布式數(shù)據(jù)庫(hbase),該系統(tǒng)的存儲核心是分布式文件系統(tǒng)(hdfs)。hdfs適合運行在通用的硬件上,并且需要部署在大量機器上,以此來支持大規(guī)模的數(shù)據(jù)集和高吞吐量的數(shù)據(jù)訪問。hdfs通過可以分布在不同機器上的多個副本數(shù)來實現(xiàn)高容錯性。
另外,hadoop系統(tǒng)還包括很多其他組件,用來實現(xiàn)資源調(diào)度、數(shù)據(jù)存儲以及和外部的連接,如yarn、hbase、zookeeper、hive、impala、mapreduce、oozie、sqoop、flume等,hadoop系統(tǒng)包括的組件如圖1所示。
hadoop集群功能強大,應(yīng)用廣泛,但是由于其系統(tǒng)復(fù)雜,hadoop集群的部署和管理非常繁雜,動輒需要數(shù)十臺服務(wù)器的安裝部署,十分耗費精力,如何快速自動化地構(gòu)建可用的hadoop集群并管理監(jiān)控其運行狀態(tài)成為值得研究的重要課題。
針對相關(guān)技術(shù)中,數(shù)據(jù)集群的部署和管理較為復(fù)雜的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種數(shù)據(jù)集群的部署方法、裝置及系統(tǒng),以至少解決相關(guān)技術(shù)中數(shù)據(jù)集群的部署和管理較為復(fù)雜的問題。
根據(jù)本發(fā)明的一個方面,提供了一種數(shù)據(jù)集群的部署方法,包括:獲取用于數(shù)據(jù)集群系統(tǒng)部署的第一配置信息,其中,第一配置信息包括部署數(shù)據(jù)集群系統(tǒng)所需的硬件資源和/或配置的信息;向云平臺發(fā)送攜帶有第一配置信息的第一部署請求,其中,第一部署請求用于請求云平臺根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置。
進一步地,獲取用于數(shù)據(jù)集群系統(tǒng)部署的第一配置信息包括:接收用戶定義的第一配置文件;根據(jù)第一配置文件獲取第一配置信息。
進一步地,根據(jù)第一配置文件獲取第一配置信息包括:解析第一配置文件,得到與數(shù)據(jù)集群系統(tǒng)部署相關(guān)的第一配置參數(shù);根據(jù)第一配置參數(shù)計算第一配置信息。
進一步地,第一配置文件中還包括用于數(shù)據(jù)集群系統(tǒng)部署的組件的信息,在向云平臺發(fā)送攜帶有第一配置信息的第一部署請求之后,還包括:檢測硬件資源是否創(chuàng)建成功;在硬件資源創(chuàng)建成功的情況下,根據(jù)用于數(shù)據(jù)集群系統(tǒng)部署的組件的信息生成插件。
進一步地,根據(jù)用于數(shù)據(jù)集群系統(tǒng)部署的組件的信息生成插件包括:獲取第一數(shù)據(jù)集群系統(tǒng)版本文件信息,其中,第一數(shù)據(jù)集群系統(tǒng)版本文件信息為所部署的數(shù)據(jù)集群系統(tǒng)的版本文件的信息;根據(jù)用于數(shù)據(jù)集群系統(tǒng)部署的組件的信息和第一數(shù)據(jù)集群系統(tǒng)版本文件信息對應(yīng)的版本文件,生成插件。
進一步地,插件為具備組件功能的插件。
進一步地,插件為多個插件,多個插件以層狀結(jié)構(gòu)部署。
進一步地,在根據(jù)用于數(shù)據(jù)集群系統(tǒng)部署的組件的信息生成插件之后,還包括:運行插件,以實現(xiàn)以下過程至少之一:網(wǎng)絡(luò)環(huán)境配置;組件資源分配;時鐘同步;將組件配置到所部署的數(shù)據(jù)集群系統(tǒng)的目標節(jié)點。
進一步地,在運行插件之后,還包括:監(jiān)測數(shù)據(jù)集群系統(tǒng)的運行環(huán)境,其中,運行環(huán)境包括資源占用狀況,在監(jiān)測到發(fā)生資源占用狀況異常的情況下,自動對數(shù)據(jù)集群系統(tǒng)進行調(diào)優(yōu);和/或,監(jiān)測數(shù)據(jù)集群系統(tǒng)的運行狀態(tài),在發(fā)生數(shù)據(jù)集群系統(tǒng)的運行狀態(tài)異常的情況下,自動對數(shù)據(jù)集群系統(tǒng)進行調(diào)優(yōu)。
進一步地,該方法還包括:接收用于數(shù)據(jù)集群系統(tǒng)升級的第二配置文件;解析第二配置文件,得到與數(shù)據(jù)集群系統(tǒng)升級相關(guān)的第二配置參數(shù);根據(jù)第二配置參數(shù)判斷數(shù)據(jù)集群系統(tǒng)升級是否需要增加硬件資源和/或配置;在需要增加硬件資源和/或配置的情況下,向云平臺發(fā)送攜帶有第二配置參數(shù)的第二部署請求,其中,第二部署請求用于請求云平臺根據(jù)第二配置參數(shù)創(chuàng)建數(shù)據(jù)集群系統(tǒng)升級所需的硬件資源和/或配置。
進一步地,第二配置文件中還包括用于數(shù)據(jù)集群系統(tǒng)升級的組件的信息,在不需要增加硬件資源和/或配置的情況下,還包括:獲取第二數(shù)據(jù)集群系統(tǒng)版本文件信息,其中,第二數(shù)據(jù)集群系統(tǒng)版本文件信息為升級后的數(shù)據(jù)集群系統(tǒng)的版本文件的信息;根據(jù)用于數(shù)據(jù)集群系統(tǒng)升級的組件的信息和第二數(shù)據(jù)集群系統(tǒng)版本文件信息對應(yīng)的版本文件,生成插件。
根據(jù)本發(fā)明的另一方面,提供了一種數(shù)據(jù)集群的部署裝置,包括:獲取模塊,用于獲取用于數(shù)據(jù)集群系統(tǒng)部署的第一配置信息,其中,第一配置信息包括部署數(shù)據(jù)集群系統(tǒng)所需的硬件資源和/或配置的信息;發(fā)送模塊,用于向云平臺發(fā)送攜帶有第一配置信 息的第一部署請求,其中,第一部署請求用于請求云平臺根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置。
根據(jù)本發(fā)明的另一方面,提供了一種數(shù)據(jù)集群的部署系統(tǒng),包括:處理器,用于獲取用于數(shù)據(jù)集群系統(tǒng)部署的第一配置信息,并向云平臺發(fā)送攜帶有第一配置信息的第一部署請求,其中,第一配置信息包括部署數(shù)據(jù)集群系統(tǒng)所需的硬件資源和/或配置的信息,第一部署請求用于請求云平臺根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置;云平臺,用于根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置。
本發(fā)明通過獲取用于數(shù)據(jù)集群系統(tǒng)部署的第一配置信息,其中,第一配置信息包括部署數(shù)據(jù)集群系統(tǒng)所需的硬件資源和/或配置的信息;向云平臺發(fā)送攜帶有第一配置信息的第一部署請求,其中,第一部署請求用于請求云平臺根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置,實現(xiàn)了通過云平臺批量創(chuàng)建硬件資源和/或配置,解決了數(shù)據(jù)集群的部署和管理較為復(fù)雜的問題,進而有效簡化了數(shù)據(jù)集群的實際開發(fā)環(huán)境、測試環(huán)境及生產(chǎn)環(huán)境等方面的部署過程,能夠大幅度節(jié)約設(shè)備和人力,提高了數(shù)據(jù)集群的部署效率。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
圖1是相關(guān)技術(shù)中hadoop系統(tǒng)的組件結(jié)構(gòu)示意圖;
圖2是根據(jù)本發(fā)明實施例的數(shù)據(jù)集群的部署方法的流程圖;
圖3是根據(jù)本發(fā)明實施例的數(shù)據(jù)集群的部署裝置的結(jié)構(gòu)框圖;
圖4是根據(jù)本發(fā)明實施例的數(shù)據(jù)集群的部署系統(tǒng)的示意圖;
圖5是根據(jù)本發(fā)明實施例的一種數(shù)據(jù)集群的部署系統(tǒng)的示意圖。
具體實施方式
下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。
在本實施例中提供了一種數(shù)據(jù)集群的部署方法,圖2是根據(jù)本發(fā)明實施例的數(shù)據(jù)集群的部署方法的流程圖,如圖2所示,該流程包括如下步驟:
步驟s202,獲取用于數(shù)據(jù)集群系統(tǒng)部署的第一配置信息,其中,第一配置信息包括部署數(shù)據(jù)集群系統(tǒng)所需的硬件資源和/或配置的信息;
步驟s204,向云平臺發(fā)送攜帶有第一配置信息的第一部署請求,其中,第一部署請求用于請求云平臺根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置。
其中,云平臺為利用云集署搭建起來的一個服務(wù)平臺,可以提供基礎(chǔ)設(shè)施或者虛擬化環(huán)境等服務(wù)。
其中,部署數(shù)據(jù)集群系統(tǒng)所需的硬件資源包括系統(tǒng)部署所需的基礎(chǔ)設(shè)施。
其中,云平臺可以是基于paas(platform-as-a-service)的云平臺,基于paas的云平臺能夠為hadoop系統(tǒng)提供足夠的硬件支持。
在該實施中,第一配置信息可以是用戶自定義的配置文件中的相關(guān)配置信息,例如,第一配置信息可以包括用戶選定的虛擬機模板的相關(guān)數(shù)據(jù);用戶自定義的待部署的數(shù)據(jù)集群系統(tǒng)中需要安裝的組件、基礎(chǔ)設(shè)施搭建相關(guān)的參數(shù)等。另外,可以預(yù)先將配置文件系列化標準化,在使用時用戶只需要更改少量的參數(shù)就可以完成數(shù)據(jù)集群系統(tǒng)的配置,并且該配置文件是用戶唯一需要填寫的部署清單,數(shù)據(jù)集群系統(tǒng)的部署變得更加簡單。
需要說明的是,該數(shù)據(jù)集群的部署方法特別適用于大數(shù)據(jù)集群的部署,例如,hadoop系統(tǒng)的部署。
上述實施例,通過獲取用于數(shù)據(jù)集群系統(tǒng)部署的第一配置信息,其中,第一配置信息包括部署數(shù)據(jù)集群系統(tǒng)所需的硬件資源和/或配置的信息;向云平臺發(fā)送攜帶有第一配置信息的第一部署請求,其中,第一部署請求用于請求云平臺根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置,實現(xiàn)了通過云平臺批量創(chuàng)建硬件資源和/或配置,解決了數(shù)據(jù)集群的部署和管理較為復(fù)雜的問題,進而有效簡化了數(shù)據(jù)集群的實際開發(fā)環(huán)境、測試環(huán)境及生產(chǎn)環(huán)境等方面的部署過程,能夠大幅度節(jié)約設(shè)備和人力,提高了數(shù)據(jù)集群的部署效率。
可選地,獲取用于數(shù)據(jù)集群系統(tǒng)部署的第一配置信息包括:接收用戶定義的第一配置文件;根據(jù)第一配置文件獲取第一配置信息。其中,所述第一配置文件是用戶自定義的(用戶根據(jù)自身需求對標準配置文件進行參數(shù)的修改、選擇,以得到第一配置文件),配置方法更能滿足用戶的需求,并且部署操作更加便捷。
可選地,根據(jù)第一配置文件獲取第一配置信息包括:解析第一配置文件,得到與數(shù)據(jù)集群系統(tǒng)部署相關(guān)的第一配置參數(shù);根據(jù)第一配置參數(shù)計算第一配置信息。
在該實施例中,用戶提供數(shù)據(jù)集群系統(tǒng)部署需要的第一配置文件,處理器接收到該第一配置文件后,解析第一配置文件中的參數(shù),自動計算出需要的硬件資源(基礎(chǔ)設(shè) 施)和配置情況,然后觸發(fā)自動部署請求,向paas云平臺發(fā)送創(chuàng)建硬件資源和/或配置的請求,請求中攜帶有計算得到的硬件資源和/或配置信息。該實施例在接收到用戶的配置文件后,會自動觸發(fā)一系列的解析、請求等操作,無需用戶再投入精力,部署過程十分高效、便捷。
可選地,第一配置文件中還包括用于數(shù)據(jù)集群系統(tǒng)部署的組件的信息,在向云平臺發(fā)送攜帶有第一配置信息的第一部署請求之后,還包括:檢測硬件資源是否創(chuàng)建成功;在硬件資源創(chuàng)建成功的情況下,根據(jù)用于數(shù)據(jù)集群系統(tǒng)部署的組件的信息生成插件。
在該實施例中,在硬件資源創(chuàng)建成功之后,可自動生成一個主控模塊,在主控模塊的控制下,可根據(jù)第一配置文件自動生成插件,并將插件配置并運行起來。
可選地,根據(jù)用于數(shù)據(jù)集群系統(tǒng)部署的組件的信息生成插件包括:獲取第一數(shù)據(jù)集群系統(tǒng)版本文件信息,其中,第一數(shù)據(jù)集群系統(tǒng)版本文件信息為所部署的數(shù)據(jù)集群系統(tǒng)的版本文件的信息;根據(jù)用于數(shù)據(jù)集群系統(tǒng)部署的組件的信息和第一數(shù)據(jù)集群系統(tǒng)版本文件信息對應(yīng)的版本文件,生成插件。
其中,第一數(shù)據(jù)集群系統(tǒng)版本文件信息可以是待部署的大數(shù)據(jù)集群系統(tǒng)的版本安裝包,可通過操作人員從版本機上獲取并放至版本目錄中。
例如,在hadoop系統(tǒng)的部署中,在硬件資源創(chuàng)建成功之后,可自動生成一個主控模塊,在主控模塊的控制下,可以根據(jù)用戶定義的配置文件(包括組件的參數(shù))和hadoop版本文件自動生成插件。
可選地,第一部署請求還用于請求從云平臺中存儲的多個數(shù)據(jù)集群系統(tǒng)版本文件中選擇需要的虛擬主機模板,以生成虛擬機。
在該實施例中,云平臺可預(yù)先存儲多個虛擬主機模板,用戶根據(jù)需要在配置文件中選定需要的虛擬主機模板,并通過請求消息發(fā)送至云平臺,云平臺根據(jù)請求確定需要生成的虛擬機。
可選地,插件為帶有組件功能的插件,插件能夠獨立運行。
在該實施例中,通過遠程命令自動生成包含組件功能的插件,該插件可脫離操作系統(tǒng)獨立運行。其中,插件可以看作是組件的載體。大數(shù)據(jù)集群系統(tǒng)可以看作是由一系列的組件構(gòu)成的。帶有組件功能的插件是指一個可隨時部署的插件,該插件具有需要部署的組件的功能。例如,一個hive版本包的安裝需要涉及諸多的配置,而該實施例通過生成具有組件功能的插件,僅僅需要配置該插件即可完成對組件的復(fù)雜配置過程,有效提高了組件的配置效率。該實施例有效克服了現(xiàn)有大數(shù)據(jù)集群系統(tǒng)的部署中需要多個組件按照次序逐個部署而造成的效率低下的缺陷,有效提升了大數(shù)據(jù)集群系統(tǒng)的部署效率。
可選地,在根據(jù)用于數(shù)據(jù)集群系統(tǒng)部署的組件的信息生成插件之后,還包括:運行插件,以實現(xiàn)以下過程至少之一:網(wǎng)絡(luò)環(huán)境配置;組件資源分配;時鐘同步;將所述組件配置到所部署的數(shù)據(jù)集群系統(tǒng)的目標節(jié)點。
在該實施例中,可以通過批量配置工具自動配置所有的插件,以實現(xiàn)網(wǎng)絡(luò)環(huán)境配置、組件資源分配、時鐘同步、將所述組件配置到所部署的數(shù)據(jù)集群系統(tǒng)的目標節(jié)點等操作。
可選地,插件為多個插件,多個插件以層狀結(jié)構(gòu)部署。
在該實施例中,通過大數(shù)據(jù)插件層狀化部署,可以支持插件的靈活使用,方便系統(tǒng)的調(diào)整和擴容,以及自動進行性能調(diào)優(yōu)。
可選地,在運行插件之后,還包括:監(jiān)測數(shù)據(jù)集群系統(tǒng)的運行環(huán)境,其中,運行環(huán)境包括資源占用狀況,在監(jiān)測到發(fā)生資源占用狀況異常的情況下,自動對數(shù)據(jù)集群系統(tǒng)進行調(diào)優(yōu);和/或,監(jiān)測數(shù)據(jù)集群系統(tǒng)的運行狀態(tài),在發(fā)生數(shù)據(jù)集群系統(tǒng)的運行狀態(tài)異常的情況下,自動對數(shù)據(jù)集群系統(tǒng)進行調(diào)優(yōu)。
該實施例可以實現(xiàn)安全和監(jiān)控的自動化,優(yōu)選地,利用kerberos進行身份認證,自動化監(jiān)控數(shù)據(jù)集群系統(tǒng)的相關(guān)組件的運行情況。環(huán)境若運行正常,和/或系統(tǒng)正常運行,則持續(xù)監(jiān)控;環(huán)境若發(fā)生資源占用異常,和/或系統(tǒng)處于異常狀態(tài),則自動通知主控進程,主控進程自動完成對數(shù)據(jù)集群系統(tǒng)的自動調(diào)優(yōu)。
可選地,該方法還包括:接收用于數(shù)據(jù)集群系統(tǒng)升級的第二配置文件;解析第二配置文件,得到與數(shù)據(jù)集群系統(tǒng)升級相關(guān)的第二配置參數(shù);根據(jù)第二配置參數(shù)判斷數(shù)據(jù)集群系統(tǒng)升級是否需要增加硬件資源和/或配置;在需要增加硬件資源和/或配置的情況下,向云平臺發(fā)送攜帶有第二配置參數(shù)的第二部署請求,其中,第二部署請求用于請求云平臺根據(jù)第二配置參數(shù)創(chuàng)建數(shù)據(jù)集群系統(tǒng)升級所需的硬件資源和/或配置。
可選地,第二配置文件中還包括用于數(shù)據(jù)集群系統(tǒng)升級的組件的信息,在不需要增加硬件資源和/或配置的情況下,還包括:獲取第二數(shù)據(jù)集群系統(tǒng)版本文件信息,其中,第二數(shù)據(jù)集群系統(tǒng)版本文件信息為升級后的數(shù)據(jù)集群系統(tǒng)的版本文件的信息;根據(jù)用于數(shù)據(jù)集群系統(tǒng)升級的組件的信息和第二數(shù)據(jù)集群系統(tǒng)版本文件信息對應(yīng)的版本文件,生成插件。
其中,第二數(shù)據(jù)集群系統(tǒng)版本文件信息可以是待升級到的大數(shù)據(jù)集群系統(tǒng)的版本包,可通過操作人員從版本機上獲取并放至版本目錄中。
上述實施例提供了數(shù)據(jù)集群系統(tǒng)需要升級時的配置方法。具體地,用戶提供數(shù)據(jù)集群系統(tǒng)升級需要的配置文件(第二配置文件),處理器接收到配置文件后,解析配置文件中的參數(shù),自動計算出升級是否需要增加硬件資源(基礎(chǔ)設(shè)施)和配置情況。若需要,則觸發(fā)自動部署請求,向paas平臺發(fā)送創(chuàng)建基礎(chǔ)設(shè)施的請求,請求攜帶有計算出的配置信息,在基礎(chǔ)設(shè)施創(chuàng)建成功后,自動通知主控模塊,以通過主控模塊控制相應(yīng)的插件 生成;若不需要,則處理器(處理器中的插件自動生成模塊)通過主控模塊,并基于配置文件和新的數(shù)據(jù)集群系統(tǒng)版本文件(第二數(shù)據(jù)集群系統(tǒng)版本文件信息對應(yīng)的版本文件)自動生成插件;處理器(處理器中的批量配置模塊)按照配置文件把待升級插件停止并替換成新的插件然后配置并運行起來。
在上述過程中,處理器同樣可利用安全和監(jiān)控自動化功能通過kerberos進行身份認證,自動化監(jiān)控數(shù)據(jù)集群系統(tǒng)相關(guān)組件的運行情況。其中,環(huán)境若運行正常,和/或數(shù)據(jù)集群系統(tǒng)正常運行,持續(xù)監(jiān)控;環(huán)境若發(fā)生資源占用異常和/或系統(tǒng)出現(xiàn)異常狀態(tài),可自動通知主控進程,主控進程自動完成對數(shù)據(jù)集群系統(tǒng)的自動調(diào)優(yōu)。
通過上述實施例,在數(shù)據(jù)集群系統(tǒng)需要升級時,無需停止數(shù)據(jù)集群系統(tǒng)的運行即可實現(xiàn)系統(tǒng)的升級,從而實現(xiàn)了無縫升級,提高了用戶體驗。
上述實施提出的數(shù)據(jù)集群的部署方法,可通過組件的插件化進行大數(shù)據(jù)環(huán)境的部署,擴展可更新的組件插件倉庫,通過paas云平臺進行存儲和管理,通過自動化部署腳本和管理腳本進行部署和管理,并通過自動收集系統(tǒng)信息,對大數(shù)據(jù)集群的健康情況進行監(jiān)控,從而達到了自動部署和管理大數(shù)據(jù)環(huán)境的效果。另外,大數(shù)據(jù)插件層狀化部署,可以支持插件的靈活使用,方便調(diào)整和擴容,支持自動執(zhí)行性能調(diào)優(yōu)。此外,該方法易于對應(yīng)用進行自動打包和部署、創(chuàng)建輕量paas環(huán)境等優(yōu)點,在實際開發(fā)/測試環(huán)境部署或者生產(chǎn)環(huán)境部署方面能夠大幅度地節(jié)約設(shè)備和人力資源,提高部署效率,同時該方法還實現(xiàn)了大數(shù)據(jù)平臺的無縫升級。
下面,根據(jù)兩種具體實施方式來進一步說明本發(fā)明提供的數(shù)據(jù)集群的部署方法。
實施例一
下面根據(jù)本發(fā)明實施例提供了一種數(shù)據(jù)集群的部署方法,該方法包括以下的步驟:
步驟11:用戶提供hadoop系統(tǒng)部署需要的配置文件;其中,配置文件相當于上述的第一配置文件。
步驟12:處理器接收到配置文件后,解析配置文件中參數(shù),自動計算出需要的基礎(chǔ)設(shè)施和配置情況,然后觸發(fā)自動部署請求,向paas平臺發(fā)送創(chuàng)建基礎(chǔ)設(shè)施和/或配置的請求,請求中攜帶計算得到的配置信息;其中,該請求相當于上述的第一部署請求。
步驟13:基礎(chǔ)設(shè)施創(chuàng)建成功后,自動生成hadoop主控模塊。
步驟14:插件自動生成模塊在主控模塊的控制下,根據(jù)標準配置文件和hadoop版本文件(第一數(shù)據(jù)集群版本文件信息對應(yīng)的版本文件)自動生成組件插件。
步驟15:批量配置模塊按照配置文件把插件配置并運行起來。
步驟16:安全和監(jiān)控模塊自動利用kerberos進行身份認證,自動化監(jiān)控hadoop相關(guān)組件的運行情況
步驟17:環(huán)境若運行正常,和/或系統(tǒng)正常運行,則持續(xù)監(jiān)控。
步驟18:環(huán)境若發(fā)生資源占用異常或者系統(tǒng)出現(xiàn)異常狀況,則自動通知主控進程,主控進程自動完成對hadoop系統(tǒng)的自動調(diào)優(yōu)。
實施例二
下面根據(jù)本發(fā)明實施例提供了另外一種數(shù)據(jù)集群的部署方法,該方法應(yīng)用于大數(shù)據(jù)系統(tǒng)的升級,該方法包括以下的步驟:
步驟21:用戶提供hadoop系統(tǒng)升級需要的配置文件。
步驟22:處理器接收到配置文件后,解析配置文件中的參數(shù),自動計算出升級是否需要增加基礎(chǔ)設(shè)施和/或配置,若需要,則觸發(fā)執(zhí)行步驟23;若不需要,則觸發(fā)執(zhí)行步驟25。
步驟23:觸發(fā)自動部署請求,向paas平臺發(fā)送創(chuàng)建基礎(chǔ)設(shè)施請求(相當于上述的第二部署請求),該請求攜帶有計算得到的配置信息。
步驟24:基礎(chǔ)設(shè)施創(chuàng)建成功后,自動通知hadoop主控模塊。
步驟25:插件自動生成模塊在主控模塊的控制下,根據(jù)配置文件和新的hadoop版本文件(第二數(shù)據(jù)集群系統(tǒng)版本文件信息對應(yīng)的版本文件)自動生成組件插件。
步驟26:批量配置模塊按照配置文件把待升級插件停止并替換成新的插件,并將新的插件配置并運行起來。
步驟27:安全和監(jiān)控模塊自動利用kerberos進行身份認證,自動化監(jiān)控hadoop相關(guān)組件的運行情況。
步驟28:環(huán)境若運行正常,和/或系統(tǒng)正常運行,則持續(xù)監(jiān)控。
步驟29:環(huán)境若發(fā)生資源占用異常或者系統(tǒng)出現(xiàn)異常狀況,則自動通知主控進程,主控進程自動完成對hadoop系統(tǒng)的自動調(diào)優(yōu)。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
在本實施例中還提供了一種數(shù)據(jù)集群的部署裝置,該裝置用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經(jīng)進行過說明的不再贅述。如以下所使用的,術(shù)語“模塊”可以實現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn), 但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。
圖3是根據(jù)本發(fā)明實施例的數(shù)據(jù)集群的部署裝置的結(jié)構(gòu)框圖,如圖3所示,該裝置包括:
獲取模塊30,用于獲取用于數(shù)據(jù)集群系統(tǒng)部署的第一配置信息,其中,第一配置信息包括部署數(shù)據(jù)集群系統(tǒng)所需的硬件資源和/或配置的信息;
發(fā)送模塊32,用于向云平臺發(fā)送攜帶有第一配置信息的第一部署請求,其中,第一部署請求用于請求云平臺根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置。
在該實施例中,通過獲取模塊30獲取用于數(shù)據(jù)集群系統(tǒng)部署的第一配置信息,其中,第一配置信息包括部署數(shù)據(jù)集群系統(tǒng)所需的硬件資源和/或配置的信息;發(fā)送模塊32向云平臺發(fā)送攜帶有第一配置信息的第一部署請求,其中,第一部署請求用于請求云平臺根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置,實現(xiàn)了通過云平臺批量創(chuàng)建硬件資源和/或配置,解決了數(shù)據(jù)集群的部署和管理較為復(fù)雜的問題,進而有效簡化了數(shù)據(jù)集群的實際開發(fā)環(huán)境、測試環(huán)境及生產(chǎn)環(huán)境等方面的部署過程,能夠大幅度節(jié)約設(shè)備和人力,提高了數(shù)據(jù)集群的部署效率。
需要說明的是,上述各個模塊是可以通過軟件或硬件來實現(xiàn)的:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個處理器中。
在本實施例中還提供了一種數(shù)據(jù)集群的部署系統(tǒng),該系統(tǒng)用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經(jīng)進行過說明的不再贅述。
圖4是根據(jù)本發(fā)明實施例的數(shù)據(jù)集群的部署系統(tǒng)的示意圖,如圖4所示,該系統(tǒng)包括:
處理器40,用于獲取用于數(shù)據(jù)集群系統(tǒng)部署的第一配置信息,并向云平臺發(fā)送攜帶有第一配置信息的第一部署請求,其中,第一配置信息包括部署數(shù)據(jù)集群系統(tǒng)所需的硬件資源和/或配置的信息,第一部署請求用于請求云平臺根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置;
云平臺42,用于根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置。
在該實施例中,通過處理器40獲取用于數(shù)據(jù)集群系統(tǒng)部署的第一配置信息,并向云平臺發(fā)送攜帶有第一配置信息的第一部署請求,其中,第一配置信息包括部署數(shù)據(jù)集群系統(tǒng)所需的硬件資源和/或配置的信息,第一部署請求用于請求云平臺根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置,云平臺42根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置,實現(xiàn)了通過云平臺批量創(chuàng)建硬件資源和/或配置,解決了數(shù)據(jù)集群的部署和管理較為復(fù)雜的問題,進而有效簡化了數(shù)據(jù)集群 的實際開發(fā)環(huán)境、測試環(huán)境及生產(chǎn)環(huán)境等方面的部署過程,能夠大幅度節(jié)約設(shè)備和人力,提高了數(shù)據(jù)集群的部署效率。
圖5是根據(jù)本發(fā)明實施例的一種數(shù)據(jù)集群的部署系統(tǒng)的示意圖。其中,在該數(shù)據(jù)集群的部署系統(tǒng)中,上述的處理器40還可以包括:主控模塊502、插件生成模塊504、標準配置模塊506、批量配置模塊508以及安全和監(jiān)控模塊510。各模塊的功能具體如下:
主控模塊502:該模塊用于將插件組裝并運行起來,以及具有將數(shù)據(jù)集群系統(tǒng)版本文件組裝成可以不依賴于硬件和操作系統(tǒng)獨立運行的插件的功能。例如,可以將大數(shù)據(jù)的組件,如yarn、hbase、zookeeper、hive、impala、mapreduce、oozie、sqoop、flume等,封裝成單獨的插件,使得插件可以脫離操作系統(tǒng)和硬件獨立部署,具有完全的隔離性,并且可以復(fù)用硬件和操作系統(tǒng)的資源。
插件生成模塊504:用于利用容器技術(shù)和集裝箱技術(shù),通過主控模塊,按照定制的功能將數(shù)據(jù)集群系統(tǒng)版本文件組裝成插件,以供部署和使用。
標準配置模塊506(可實現(xiàn)數(shù)據(jù)集群的部署裝置中獲取模塊和發(fā)送模塊的功能):用于將數(shù)據(jù)集群系統(tǒng)配置文件系列化、標準化,在使用時只需更改少量的參數(shù)即可完成數(shù)據(jù)集群系統(tǒng)的配置。其中,配置文件是用戶唯一需要填寫的部署清單。標準配置模塊可實現(xiàn)配置文件的標準化,通過提取數(shù)據(jù)集群的可配置項,形成標準配置文件,簡化了用戶操作,提高了用戶體驗。
批量配置模塊508:使用批量配置工具,根據(jù)配置文件(如上述的第一配置文件和第二配置文件),自動配置所有的插件,用于支持包括網(wǎng)絡(luò)環(huán)境構(gòu)建、組件資源分配、時鐘同步以及應(yīng)用配置到節(jié)點等操作,用于為數(shù)據(jù)集群系統(tǒng)組件提供統(tǒng)一的配置環(huán)境。
安全和監(jiān)控模塊510:用于利用kerberos(hadoop自帶的kerberos身份認證系統(tǒng))進行身份認證。該模塊可自動化監(jiān)控數(shù)據(jù)集群系統(tǒng)相關(guān)組件的運行情況,并根據(jù)資源占用情況完成對數(shù)據(jù)集群系統(tǒng)的調(diào)優(yōu)。
云平臺42用于為數(shù)據(jù)集群系統(tǒng)提供足夠的硬件支持。在云計算平臺(云平臺)中存儲常用操作系統(tǒng)的虛擬主機模版,云平臺可通過用戶選定的虛擬機模版以及配置參數(shù)為用戶搭建數(shù)據(jù)集群所需的主控計算機,然后再通過配置文件,確定需要安裝的組件,確認無誤后,處理器40會自動生成需要的插件,并將其部署為層狀結(jié)構(gòu),搭建好大數(shù)據(jù)集群。
根據(jù)該實施例的數(shù)據(jù)集群的部署系統(tǒng),實現(xiàn)了基于插件化的數(shù)據(jù)集群系統(tǒng)的部署,并且支持自動化部署和組件分配,將插件以層狀插件的形式部署在集群中,可支持靈活使用,方便調(diào)整和擴容,可實現(xiàn)自動性能調(diào)優(yōu)。該數(shù)據(jù)集群的部署系統(tǒng)通過云平臺實現(xiàn)了批量構(gòu)造硬件資源和/或配置,解決了現(xiàn)有技術(shù)中數(shù)據(jù)集群的部署和管理較為復(fù)雜的問題。
本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
s202,獲取用于數(shù)據(jù)集群系統(tǒng)部署的第一配置信息,其中,第一配置信息包括部署數(shù)據(jù)集群系統(tǒng)所需的硬件資源和/或配置的信息;
s204,向云平臺發(fā)送攜帶有第一配置信息的第一部署請求,其中,第一部署請求用于請求云平臺根據(jù)第一配置信息創(chuàng)建數(shù)據(jù)集群系統(tǒng)部署所需的硬件資源和/或配置。
可選地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
可選地,本實施例中的具體示例可以參考上述實施例及可選實施方式中所描述的示例,本實施例在此不再贅述。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。