.檢測(cè)主機(jī)環(huán)境:從sess1n中取出主機(jī)的相關(guān)信息,獲取到用戶名和密碼后,在服務(wù)器中登錄到各節(jié)點(diǎn),執(zhí)行check腳本命令,將依次檢測(cè)主機(jī)的連通性,主機(jī)cpu、內(nèi)存信息;最后檢測(cè)各個(gè)主機(jī)的相關(guān)服務(wù)是否支持,不支持的給予修復(fù)。
[0039]3.選擇可選組件:組件包括必選組件和可選組件兩部分內(nèi)容。其中必選組件是默認(rèn)必須安裝的,不可由用戶自行更改;而可選組件則是由用戶依據(jù)需要進(jìn)行選擇。在該頁(yè)面將會(huì)調(diào)用組件模板腳本信息,并通過(guò)JS0N的形式保存到內(nèi)存中,然后選擇所要安裝的組件信息保存到Sess1n中。必選組件包括Hadoop、Hbase兩個(gè)組件;可選組件目前有Hive、Kafka、Zookeeper 三個(gè)組件。
[0040]4.參數(shù)配置:根據(jù)組件模板的輸入?yún)?shù),以及解析的頁(yè)面input信息,動(dòng)態(tài)生成參數(shù)配置頁(yè)面,用戶可在該頁(yè)面輸入數(shù)據(jù)庫(kù)名稱,或者改變端口號(hào)等參數(shù),完成配置。
[0041]5.安裝部署:從sess1n中取出要安裝的組件的信息,然后復(fù)制需要安裝的組件包到默認(rèn)安裝目錄,復(fù)制完成后,根據(jù)各組件依賴關(guān)系,先后開(kāi)始安裝可選組件和必選組件,在安裝過(guò)程中進(jìn)度條可顯示出安裝的進(jìn)度,并在提示框中打印出安裝的詳細(xì)日志。
[0042]6.安裝報(bào)告:安裝完成后,檢驗(yàn)是否安裝成功,并給出驗(yàn)證報(bào)告,報(bào)告內(nèi)容包括已成功安裝某個(gè)組件,或安裝某個(gè)組件失敗,安裝時(shí)間和安裝路徑等信息。
[0043]并在服務(wù)器端成功啟動(dòng)已安裝組件的相應(yīng)進(jìn)程。
【主權(quán)項(xiàng)】
1.一種基于模板的大數(shù)據(jù)組件WEB部署系統(tǒng),其特征在于:該系統(tǒng)由四個(gè)模塊組成,分別是WEB模塊、管理模塊、模板模塊以及腳本模塊;這四個(gè)模塊主要被分成兩個(gè)部分,一個(gè)是WEB端,WEB端包括WEB模塊和管理模塊,另一個(gè)是服務(wù)器端,服務(wù)器端包括模板模塊和腳本模塊;系統(tǒng)程序采用JSCH方法成功連接WEB端和服務(wù)器端,并通過(guò)Servlet進(jìn)行前后臺(tái)交互和信息反饋; 整體系統(tǒng)流程如下:服務(wù)器啟動(dòng)tomcat后,本地瀏覽器即通過(guò)登錄服務(wù)器地址成功連接到服務(wù)器,此時(shí)頁(yè)面進(jìn)入WEB模塊,WEB模塊中需要輸入和選擇相關(guān)信息,這些信息通過(guò)服務(wù)器中主體程序的寫(xiě)入模板方法連接到模板模塊,按照信息中具體的內(nèi)容讀寫(xiě)對(duì)應(yīng)的模板,之后,模板模塊會(huì)根據(jù)操作需求和依賴關(guān)系分別調(diào)用腳本模塊中的check腳本和instil腳本執(zhí)行相應(yīng)功能,執(zhí)行后的結(jié)果會(huì)通過(guò)服務(wù)器反饋到WEB模塊,WEB模塊將這些反饋信息整合存入到管理模塊中,方便日后管理和操作;系統(tǒng)傳輸順序?yàn)榉?wù)器端-WEB端-WEB模塊-服務(wù)器端-應(yīng)用模塊-腳本模塊-服務(wù)器端-WEB模塊-管理模塊。2.根據(jù)權(quán)利要求1所述的一種基于模板的大數(shù)據(jù)組件WEB部署系統(tǒng),其特征在于:各模塊介紹如下: WEB模塊主要是用來(lái)在WEB界面進(jìn)行信息輸入和選擇功能,包括6部分,也就是安裝過(guò)程的6個(gè)頁(yè)面,每個(gè)頁(yè)面都包括一個(gè)內(nèi)容,分別是添加主機(jī),環(huán)境檢測(cè),選擇組件,配置參數(shù),安裝組件和驗(yàn)證報(bào)告; 管理模塊有兩個(gè)功能,一個(gè)是方便查看已安裝組件的詳細(xì)信息,包括安裝日志和安裝結(jié)果,還有一個(gè)是用來(lái)監(jiān)控各組件的運(yùn)行狀態(tài)和進(jìn)行相應(yīng)啟停操作; 模板模塊的功能就是相當(dāng)于一個(gè)中介,同時(shí)存放了WEB信息和各組件信息,并通過(guò)將WEB信息進(jìn)行整合后,依次調(diào)用腳本模塊中的腳本,執(zhí)行相應(yīng)功能; 腳本模塊主要是用來(lái)存放環(huán)境檢測(cè)的檢測(cè)腳本和各組件的安裝腳本,模板模塊會(huì)根據(jù)相應(yīng)功能需求調(diào)用對(duì)應(yīng)的腳本執(zhí)行,完成對(duì)應(yīng)的功能。3.—種基于模板的大數(shù)據(jù)組件WEB部署方法,其特征在于:本方法的核心是應(yīng)用模板和組件模板; 該方法用到的模板包括兩種類型,一種是應(yīng)用模板,主要用于保存全局信息:腳本存放路徑,需要安裝安裝的具體的組件實(shí)例和安裝順序信息;第二種是組件模板,主要用于存放具體組件的版本號(hào),依賴關(guān)系,輸入?yún)?shù)以及具體的安裝步驟; 1)應(yīng)用模板可包含多個(gè)組件實(shí)例,包括腳本存放路徑、集群用戶名和密碼、所需安裝組件名稱、端口號(hào)以及組件的安裝順序; 2)組件模板包含一個(gè)組件的配置及安裝步驟全局信息:組件名稱、版本號(hào)、輸入?yún)?shù)以及該組件與其他組件的依賴關(guān)系; S1將模板模塊和腳本模塊以及主體程序打成war包上傳至服務(wù)器,部署到tomcat中,然后啟動(dòng)tomcat,并將應(yīng)用模板Input中的srcPath參數(shù)更改為當(dāng)前服務(wù)器存放此war包的位置; S2通過(guò)本地瀏覽器訪問(wèn)地址http: //host IP: 8080//Hadooplnstal ler即進(jìn)入到web安裝頁(yè)面,進(jìn)行六步安裝步驟; S3通過(guò)J SCH方法將windows平臺(tái)與服務(wù)器進(jìn)行安全連接; S3.1加主機(jī)時(shí),需要在頁(yè)面輸入安裝組件的集群IP地址以及用戶名和密碼,頁(yè)面首先會(huì)對(duì)輸入的IP進(jìn)行格式檢查,并使用此用戶名和密碼登錄到服務(wù)器驗(yàn)證是否正確,若登錄進(jìn)去,貝會(huì)將信息保存到應(yīng)用模板Input方法中的IP,userName,password參數(shù)中,同時(shí)將反饋給頁(yè)面一個(gè)對(duì)號(hào)信息,即可點(diǎn)擊下一步; S3.2環(huán)境檢測(cè)包括檢測(cè)各IP下的CPU,內(nèi)存,硬盤(pán)容量,jdk是否安裝,防火墻是否關(guān)閉,節(jié)點(diǎn)之間是否可以互信內(nèi)容;這時(shí)應(yīng)用模板接到web發(fā)來(lái)的檢測(cè)命令,則會(huì)觸發(fā)其下Check方法調(diào)用腳本模塊中checkshell下面的checkinf0.sh腳本,便會(huì)在服務(wù)器進(jìn)行檢測(cè),檢測(cè)結(jié)果將以對(duì)號(hào)和錯(cuò)號(hào)的圖案形式返回到web界面中,對(duì)于不符合要求的結(jié)果,對(duì)其進(jìn)行修復(fù),修復(fù)命令調(diào)用的是checkshell下面的instal 1 Jdk.sh,和fixSupport.sh腳本執(zhí)行相應(yīng)的修復(fù)功能; S3.3選擇組件是在頁(yè)面進(jìn)行勾選需要安裝的組件名稱,因本系統(tǒng)內(nèi)含五個(gè)組件,所以用戶能夠根據(jù)需要進(jìn)行選擇安裝;在選擇好后,服務(wù)器端接到所需安裝的組件名稱后,將觸發(fā)應(yīng)用模板的Control方法,進(jìn)行選擇組件過(guò)程,并據(jù)此依次調(diào)用腳本模塊中installshell下面的各組件安裝腳本進(jìn)行依賴關(guān)系判斷,根據(jù)依賴關(guān)系決定安裝的先后順序,并將此順序保存到應(yīng)用模板中; S3.4配置參數(shù)主要是針對(duì)有些組件安裝過(guò)程中需要手動(dòng)設(shè)置一些參數(shù),比如Hadoop中NameNode和DataNode的節(jié)點(diǎn)選取,Zookeeper需要有奇數(shù)個(gè)節(jié)點(diǎn)安裝等要求,這些設(shè)置在頁(yè)面輸入后即可通過(guò)應(yīng)用模板保存到組件模板中各個(gè)組件下的Input方法中; S3.5組件安裝過(guò)程就是依賴之前應(yīng)用模板中存儲(chǔ)好的安裝順序,進(jìn)到組件模板中找到相應(yīng)的參數(shù)配置,結(jié)合這兩個(gè)模板中的信息,依次調(diào)用腳本模塊中installshell下面的各組件安裝腳本,進(jìn)行有序安裝;安裝過(guò)程中,頁(yè)面會(huì)一直返回安裝日志,詳細(xì)記錄每一步的進(jìn)展;installshell主要是各個(gè)待安裝組件的安裝腳本,每個(gè)腳本都包括安裝的版本信息,依賴關(guān)系,以及安裝的具體步驟;包含的腳本有installHadoop.sh, installHBase.sh,installHive.sh, installKafka.sh, ins tall Zookeeper.sh,若后期需要增加新的組件,即在installshell里面增加新組件的腳本,在組件模板中寫(xiě)入需要參數(shù)信息和條件,并在應(yīng)用模板中添加調(diào)用該腳本的方法即可; 安裝結(jié)束后,服務(wù)器會(huì)首先通過(guò)腳本模塊中的verify.sh腳本進(jìn)行安裝驗(yàn)證,待各節(jié)點(diǎn)上返回正確的進(jìn)程信息后,則會(huì)以對(duì)號(hào)的形式反饋給頁(yè)面,安裝報(bào)告頁(yè)面會(huì)顯示已安裝組件名稱,安裝時(shí)間,安裝地點(diǎn)以及安裝狀態(tài)信息; 安裝日志和報(bào)告會(huì)被存儲(chǔ)到服務(wù)器的數(shù)據(jù)庫(kù)中,在管理模塊的安裝日志中可進(jìn)行翻閱查看,除此之外,管理模塊還提供了監(jiān)控各組件運(yùn)行狀態(tài)的頁(yè)面,能實(shí)時(shí)監(jiān)控各組件的狀態(tài),及時(shí)發(fā)現(xiàn)進(jìn)程宕掉的問(wèn)題,并提供操作界面,進(jìn)行啟停某個(gè)作業(yè),啟停某個(gè)進(jìn)程,甚至能夠選擇重新安裝某個(gè)組件。4.根據(jù)權(quán)利要求3所述的一種基于模板的大數(shù)據(jù)組件WEB部署方法,其特征在于:將打包好的Hadooplnstal ler程序,部署到tomcat中,然后啟動(dòng)tomcat,通過(guò)本地瀏覽器訪問(wèn)地址http: //host IP: 8080//Hadooplnstal ler即進(jìn)入到安裝頁(yè)面,安裝流程包括6個(gè)步驟,分別是添加主機(jī)、檢測(cè)主機(jī)環(huán)境、選擇可選組件、參數(shù)配置、安裝部署和安裝報(bào)告; 1)添加主機(jī):輸入所要添加的主機(jī)的IP地址和賬戶信息,頁(yè)面將會(huì)動(dòng)態(tài)檢驗(yàn)所輸入的信息格式是否正確,如果不符合要求,提示重新輸入;如果符合要求,再輸入主機(jī)的用戶名及密碼,信息將保存到sess1n中去;為后面讀取做準(zhǔn)備; 2)檢測(cè)主機(jī)環(huán)境:從sess1n中取出主機(jī)的相關(guān)信息,獲取到用戶名和密碼后,在服務(wù)器中登錄到各節(jié)點(diǎn),執(zhí)行check腳本命令,將依次檢測(cè)主機(jī)的連通性,主機(jī)cpu、內(nèi)存信息;最后檢測(cè)各個(gè)主機(jī)的相關(guān)服務(wù)是否支持,不支持的給予修復(fù); 3)選擇可選組件:組件包括必選組件和可選組件兩部分內(nèi)容;其中必選組件是默認(rèn)必須安裝的,不可由用戶自行更改;而可選組件則是由用戶依據(jù)需要進(jìn)行選擇;在該頁(yè)面將會(huì)調(diào)用組件模板腳本信息,并通過(guò)JS0N的形式保存到內(nèi)存中,然后選擇所要安裝的組件信息保存到Sess1n中;必選組件包括Hadoop、Hbase兩個(gè)組件;可選組件目前有Hive、Kafka、Zookeeper三個(gè)組件; 4)參數(shù)配置:根據(jù)組件模板的輸入?yún)?shù),以及解析的頁(yè)面input信息,動(dòng)態(tài)生成參數(shù)配置頁(yè)面,用戶可在該頁(yè)面輸入數(shù)據(jù)庫(kù)名稱,或者改變端口號(hào)參數(shù),完成配置; 5)安裝部署:從sess1n中取出要安裝的組件的信息,然后復(fù)制需要安裝的組件包到默認(rèn)安裝目錄,復(fù)制完成后,根據(jù)各組件依賴關(guān)系,先后開(kāi)始安裝可選組件和必選組件,在安裝過(guò)程中進(jìn)度條可顯示出安裝的進(jìn)度,并在提示框中打印出安裝的詳細(xì)日志; 6)安裝報(bào)告:安裝完成后,檢驗(yàn)是否安裝成功,并給出驗(yàn)證報(bào)告,報(bào)告內(nèi)容包括已成功安裝某個(gè)組件,或安裝某個(gè)組件失敗,安裝時(shí)間和安裝路徑信息; 并在服務(wù)器端成功啟動(dòng)已安裝組件的相應(yīng)進(jìn)程。
【專利摘要】一種基于模板的大數(shù)據(jù)組件WEB部署方法,本發(fā)明的思想是:解析模板,獲取信息,安裝組件。1)解析模板:通過(guò)入口找到相應(yīng)的應(yīng)用模板和組件模板;2)獲取信息:主要對(duì)獲取的Input信息進(jìn)行初始化。有三種信息來(lái)源,一為后臺(tái)固定的信息;二為按Java內(nèi)部規(guī)則和算法自動(dòng)分配的信息;三為頁(yè)面能夠輸入的信息。3)安裝組件:通過(guò)前兩步獲得的信息調(diào)用相應(yīng)shell腳本進(jìn)行組件安裝。本發(fā)明屬于大數(shù)據(jù)組件應(yīng)用領(lǐng)域,特別是采用基于模板化安裝結(jié)構(gòu),WEB跨系統(tǒng)平臺(tái)操作,可視化監(jiān)控進(jìn)程技術(shù),方便快捷地實(shí)現(xiàn)同時(shí)在多個(gè)節(jié)點(diǎn)上安裝部署多個(gè)組件,簡(jiǎn)化開(kāi)發(fā)人員的安裝手續(xù),為后期實(shí)現(xiàn)大數(shù)組作業(yè)提供基礎(chǔ)環(huán)境。
【IPC分類】G06F9/44, G06F11/32
【公開(kāi)號(hào)】CN105487859
【申請(qǐng)?zhí)枴緾N201510830879
【發(fā)明人】鄭楠, 張新峰
【申請(qǐng)人】北京工業(yè)大學(xué)
【公開(kāi)日】2016年4月13日
【申請(qǐng)日】2015年11月25日