欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種自適應硬件配置的大數(shù)據(jù)集群部署方法

文檔序號:10597245閱讀:364來源:國知局
一種自適應硬件配置的大數(shù)據(jù)集群部署方法
【專利摘要】本發(fā)明公開了一種自適應硬件配置的大數(shù)據(jù)集群部署方法,通過puppet?agent向puppet?master發(fā)出同步請求,認證通過后探測服務器硬件配置信息并發(fā)送到master;master生成偽代碼發(fā)送給agent;agent執(zhí)行屬于自己節(jié)點的偽代碼內(nèi)容,完成集群的自動化部署,結束本次同步。本發(fā)明實現(xiàn)大數(shù)據(jù)環(huán)境的自動化批量部署,從硬件信息探測獲取到軟件安裝和配置文件生成都是編程實現(xiàn),無需手動安裝軟件和更改配置文件的繁瑣工作,是一種自適應硬件配置的大數(shù)據(jù)集群自動化部署方法。該方法減輕了大數(shù)據(jù)集群搭建部署的工作量,節(jié)約了集群部署的時間成本,并且方便后續(xù)的統(tǒng)一管理和運維。
【專利說明】
一種自適應硬件配置的大數(shù)據(jù)集群部署方法
技術領域
[0001 ]本發(fā)明涉及一種自適應硬件配置的大數(shù)據(jù)集群部署方法。
【背景技術】
[0002] 大數(shù)據(jù)集群包括了數(shù)據(jù)批處理和實時流式處理框架,還包括認證和權限控制等系 統(tǒng),涉及的組件繁多,例如hadoop、hive、kafka、storm、spark、zooke eper、kerberos、 sentry等等,并且不同組件之間可能存在相互依賴關系。大數(shù)據(jù)集群的部署主要包括了這 些組件的安裝和依賴關系的配置。
[0003] Puppet是一種集群配置管理工具。該工具一般采用主機-代理架構,使用其內(nèi)置的 puppet建模語言對集群資源,包括用戶賬號、特定文件和文件夾、軟件包和服務等的最終狀 態(tài)以及依賴關系進行描述,以完成自動化集群部署和配置。
[0004] 由于分布式集群中服務器擔任的角色不一,不同集群使用的服務器品牌也不盡相 同,所以在集群部署安裝時必須考慮到硬件配置,如cpu核心數(shù)、內(nèi)存、文件系統(tǒng)劃分等。傳 統(tǒng)的人工手動部署方法,需要反復地進行人工修改,效率低且易出錯。

【發(fā)明內(nèi)容】

[0005] 為了克服現(xiàn)有技術的缺點,本發(fā)明提供了一種自適應硬件配置的大數(shù)據(jù)集群部署 方法。
[0006] 本發(fā)明所采用的技術方案是:一種自適應硬件配置的大數(shù)據(jù)集群部署方法,包括 如下步驟:
[0007]步驟一、puppet_agent 向puppet-master發(fā)出同步請求;
[0008]步驟二、puppet-master 對puppet-agent 進行認證;
[0009] 步驟三、puppet-agent探測服務器硬件配置信息并發(fā)送到puppet-master;
[0010] 步驟四、puppet-master結合puppet-agent發(fā)送的信息解析manifest中對應的節(jié) 點的配置內(nèi)容,生成偽代碼發(fā)送給puppet-agent;
[0011]步驟五、puppet-agent接收偽代碼,各個puppet-agent執(zhí)行屬于自己節(jié)點的偽代 碼內(nèi)容,完成集群的自動化部署,結束本次同步。
[0012] 與現(xiàn)有技術相比,本發(fā)明的積極效果是:本發(fā)明實現(xiàn)大數(shù)據(jù)環(huán)境的自動化批量部 署,從硬件信息探測獲取到軟件安裝和配置文件生成都是編程實現(xiàn),無需手動安裝軟件和 更改配置文件的繁瑣工作,是一種自適應硬件配置的大數(shù)據(jù)集群自動化部署方法。該方法 減輕了大數(shù)據(jù)集群搭建部署的工作量,節(jié)約了集群部署的時間成本,并且方便后續(xù)的統(tǒng)一 管理和運維。
【附圖說明】
[0013] 本發(fā)明將通過例子并參照附圖的方式說明,其中:
[0014] 圖1為一種自適應硬件配置的大數(shù)據(jù)集群部署方法流程框圖;
[0015]圖2為一種在puppet中自定義fact變量獲取硬件配置的方法流程框圖。
【具體實施方式】
[0016] -種自適應硬件配置的大數(shù)據(jù)集群部署方法,如圖1所示,包括如下步驟:
[0017] 步驟一、puppet_agent 向puppet-master發(fā)出同步請求;
[0018] 步驟二、puppet-master 對puppet-agent 進行認證:
[0019] 如果是第一次請求同步,需要puppet-master對puppet-agent進行認證。本實施例 采用自動注冊認證方式,在發(fā)出同步請求后自動完成認證。自動注冊方式需要刪除puppet 的mas ter和agent端的已有證書,然后修改puppet-mas ter中puppet的配置文件 autosign, conf,內(nèi)容改為:*。這樣在同步請求發(fā)出后,可自動完成認證。
[0020] 步驟三、puppet-agent探測服務器硬件配置信息并發(fā)送到puppet-master:
[0021 ] puppet-agent調(diào)用facter,facter探測出主機的一些硬件信息,并保存為fact變 量,然后將這些信息發(fā)送給puppet-master。其中包括在puppet-master端自定義的fact變 量,以hadoop模塊為例,定義f act變量的文件hadoop ? rb在同步前保存在puppet-master端, 該文件會在puppet-agent調(diào)用facter探測硬件前由mas ter端傳送到agent端的puppet目 錄:/var/lib/puppet/lib/facter/中。該步驟的成功執(zhí)行需依賴一種在puppet中自定義 fact變量獲取硬件配置的方法,該方法的流程如圖2所示,具體步驟如下:
[0022] 1)在puppet 的 hadoop 模塊中創(chuàng)建? rb 文件,位置為/etc/puppet/modules/hadoop/ 1 ib/facter/hadoop . rb,利用facter工具獲取服務器硬件配置信息,存為變量。以 hadoop .rb文件中定義hadoop_hdfs_data_dirs變量為例,以下內(nèi)容定義了hadoop_hdfs_ data_dirs變量,如果文件系統(tǒng)中存在/data[0_9]*格式的目錄,那么hadoop_hdf s_data_ dirs 的值為/data [0-9] */hadoop/dfs/data,否則hadoop_hdfs_data_dirs 的值為/data/ hadoop/dfs/data 〇
[0024] 該實施例中,集群namenode節(jié)點hadoop_hdfs_data_dirs的值為/data/hadoop/ dfs/data,所有 datanode 節(jié)點 hadoop_hdfs_data_dirs 的值為/data9/hadoop/dfs/data,/ data4/hadoop/df s/data,/data8/hadoop/df s/data,/datalO/hadoop/df s/data,/data7/ hadoop/df s/data,/data3/hadoop/df s/data,/data2/hadoop/df s/data,/data5/hadoop/ dfs/data,/datal/hadoop/dfs/data,/data6/hadoop/dfs/data??梢钥闯觯ㄟ^自定義 fact變量,達到了自適應服務器硬件配置的效果。
[0025] 2)在hadoop模塊中使用上述自定義變量。定義變量hadoop_hdfs_data_dirs的目 的是為了hadoop的配置文件hdf s-site ? xml中df s ? datanode ? data ? dir的值能夠根據(jù)硬件 配置動態(tài)生成,于是需要把定義的變量用在該配置文件的模板文件hdfs-site. xml. erb中, 位置為/61:(3/卩即卩61:/1]10(111168/11&(1〇0卩八6111卩1&七68/11(11^-8;^6.叉1111.61'13。該模板文件中使用 變量hadoop_hdf s_data_dirs的位置如下所示。
[0027] 3)在集群所有節(jié)點中的puppet .conf中添加 pluginsync,以支持以上自定義fact 變量方式。puppet-mas ter端,在puppet ? conf 的[main]中添加 :pluginsyn c = true ;在 puppet-agent 端,在puppet ? conf 的[agent ]中添加 :plug insync = true 〇
[0028] 步驟四、puppet-master結合puppet-agent發(fā)送的信息解析manifest中對應的節(jié) 點的配置內(nèi)容,生成偽代碼(catalog)發(fā)送給puppet-agent:
[0029] puppet-master根據(jù)puppet-agent的主機名找到manifest中對應的節(jié)點配置,并 對已經(jīng)通過puppet建模語言編程實現(xiàn)的節(jié)點配置內(nèi)容進行解析。同時,把fact變量替換成 puppet-agent傳過來的實際值。解析結果為puppet內(nèi)置的偽代碼(catalog),然后把偽代碼 發(fā)送到相應的puppet-agent。
[0030]步驟五、puppet-agent接收偽代碼,各個puppet-agent執(zhí)行屬于自己節(jié)點的偽代 碼內(nèi)容,同時進行配置文件傳輸,完成集群的自動化部署。結束本次同步。
[0031 ] puppet-agent在執(zhí)行時判斷有沒有File文件,如果有,貝lj向puppet-master請求, 完成文件的傳輸。針對不同的puppet-agent,在puppet-mas ter端的模板文件11(^8-site ? xml ? erb會根據(jù)相應puppet-agent探測并傳送過來的fact變量值生成配置文件11(11^-site. xml,并傳送到相應puppet-agent的指定位置。執(zhí)行完畢后結束同步,所有puppet-agent 同步結束后 ,即 完成了 大數(shù)據(jù)集群的 部署。
[0032]以上步驟中puppet-master和所有puppet-agent通信都采用ssl連接,所以首次請 求連接時需要進行認證,以確保后續(xù)傳輸數(shù)據(jù)的安全。
[0033]本發(fā)明主要使用puppet和facter編程實現(xiàn)了大數(shù)據(jù)集群部署,無需根據(jù)硬件配置 進行人工手動修改,達到了自適應硬件配置的目的,節(jié)約了工程實施的人力和時間成本。需 要說明的是,上述實施例中只是以hadoop模塊為例來說明本發(fā)明,實際工程部署時,還涉及 其他模塊,如hi ve、hbase、storm等,綜合這些模塊安裝和依賴配置,即能完成大數(shù)據(jù)集群的 搭建部署。
【主權項】
1. 一種自適應硬件配置的大數(shù)據(jù)集群部署方法,其特征在于:包括如下步驟: 步驟一、puppet-agent 向 puppet-master發(fā)出同步請求; 步驟二、puppet-master 對puppet-agent 進行認證; 步驟三、puppet-agent探測服務器硬件配置信息并發(fā)送到puppet-master; 步驟四、puppet-master結合puppet-agent發(fā)送的信息解析manifest中對應的節(jié)點的 配置內(nèi)容,生成偽代碼發(fā)送給puppet-agent; 步驟五、puppet-agent接收偽代碼,各個puppet-agent執(zhí)行屬于自己節(jié)點的偽代碼內(nèi) 容,完成集群的自動化部署,結束本次同步。2. 根據(jù)權利要求1所述的一種自適應硬件配置的大數(shù)據(jù)集群部署方法,其特征在于:所 述認證為自動注冊認證方式,自動注冊時刪除puppet的master和agent端的已有證書,然后 修改puppet-master中puppet的配置文件autosign· conf,內(nèi)容改為 "*"。3. 根據(jù)權利要求1所述的一種自適應硬件配置的大數(shù)據(jù)集群部署方法,其特征在于: puppet-agent通過調(diào)用facter探測服務器硬件配置信息,然后將硬件配置信息保存為fact 變量。4. 根據(jù)權利要求3所述的一種自適應硬件配置的大數(shù)據(jù)集群部署方法,其特征在于:所 述fact變量的自定義方法包括如下步驟: 1) 在口卯口61:的113(1〇(^模塊中創(chuàng)建.1'13文件,位置為/61:(3/^1^。61:/1110(11116 8/113(1〇0卩/ I ib/f acter/hadoop. rb,利用f acter工具獲取服務器硬件配置信息,存為變量; 2) 在hadoop模塊中使用上述變量; 3) 在集群所有節(jié)點中的puppet · conf中添加 pluginsync。5. 根據(jù)權利要求4所述的一種自適應硬件配置的大數(shù)據(jù)集群部署方法,其特征在于:在 集群所有節(jié)點中的puppet · conf中添加 plug insync的方法為:對于puppet-master端,在 puppet · conf 的[main]中添加 "pluginsync = true" ;對于puppet-agent端,在puppet · conf 的[agent]中添加 "pluginsync = true"。6. 根據(jù)權利要求1所述的一種自適應硬件配置的大數(shù)據(jù)集群部署方法,其特征在于:步 驟四所述的puppet-master結合puppet-agent發(fā)送的信息進行解析的方法為:puppet-master根據(jù)puppet-agent的主機名找到manifest中對應的節(jié)點配置,并對已經(jīng)通過puppet 建模語言編程實現(xiàn)的節(jié)點配置內(nèi)容進行解析;同時,把fact變量替換成puppet-agent傳過 來的實際值。7. 根據(jù)權利要求1所述的一種自適應硬件配置的大數(shù)據(jù)集群部署方法,其特征在于:步 驟五所述puppet-agent執(zhí)行屬于自己節(jié)點的偽代碼內(nèi)容時判斷有沒有File文件,如果有, 則向puppet-mas ter請求,完成文件的傳輸。8. 根據(jù)權利要求1所述的一種自適應硬件配置的大數(shù)據(jù)集群部署方法,其特征在于: puppet-master和所有puppet-agent通信均采用ss 1連接。
【文檔編號】H04L29/08GK105959363SQ201610264394
【公開日】2016年9月21日
【申請日】2016年4月26日
【發(fā)明人】唐明, 常夢楠, 任紅雷
【申請人】中國電子科技網(wǎng)絡信息安全有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
徐州市| 论坛| 浏阳市| 英吉沙县| 横山县| 三江| 北海市| 南漳县| 汉中市| 安远县| 红河县| 巴彦县| 勐海县| 彩票| 双江| 鄂托克前旗| 古田县| 全南县| 卓资县| 望都县| 惠东县| 台中县| 什邡市| 锡林郭勒盟| 电白县| 遂川县| 忻州市| 仪征市| 龙门县| 周宁县| 佛教| 封开县| 洮南市| 家居| 海晏县| 偃师市| 濮阳县| 英德市| 邢台市| 加查县| 武鸣县|