99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀Hadoop:分布式集群HDFS 、YARN等初次啟動(dòng)!
Hadoop:分布式集群HDFS 、YARN等初次啟動(dòng)!
2020-06-03
收藏

上篇文章中我們通過克隆已有虛擬機(jī)并修改相應(yīng)的參數(shù)配置將hadoop分布式集群搭建完成,接下來我們啟動(dòng)Hadoop分布式集群

1、ssh免密登錄

首先打開虛擬機(jī)軟件VMware然后開啟master、slave1、slave2三個(gè)虛擬機(jī)

一般搭建hadoop分布式集群時(shí)需要配置集群中各個(gè)節(jié)點(diǎn)間的ssh免密登錄,然后才可以啟動(dòng)hadoop分布式集群。我們?cè)趍aster虛擬機(jī)終端中輸入命令ssh slave1 , 此時(shí)出現(xiàn)如下提示,然后輸入yes

注意輸入exit命令退出slave2的登錄。接下來我們就可以遠(yuǎn)程登錄到slave2了。在登錄的過程中我們也無需輸入密碼。小伙伴們會(huì)不會(huì)有疑問,我們什么時(shí)候配置過ssh免密登錄?

其實(shí)我們還真的配置了,由于現(xiàn)在集群中的三個(gè)虛擬機(jī)最終的源頭都是由偽分布集群的虛擬機(jī)復(fù)制過來的,在這過程中也把.ssh目錄下的authorized_keys這個(gè)文件復(fù)制過來了。

這個(gè)文件的作用之前提前過,簡單來說就是認(rèn)證登錄ssh服務(wù)器的客戶機(jī),只要客戶機(jī)的公鑰在這里面就可以不用密碼登錄ssh服務(wù)器了。下圖為slave1節(jié)點(diǎn)hduser用戶主目錄下的.ssh目錄大家可以看到authorized_keys目錄已經(jīng)存在了。

2、格式化HDFS

由于我們集群中的虛擬機(jī)都是由偽分布集群虛擬機(jī)克隆出來的所以會(huì)有HDFS相關(guān)的目錄,而且目錄中還有數(shù)據(jù),為了不影響格式化操作我們需要將這些目錄中的數(shù)據(jù)都刪除,然后再執(zhí)行格式化。

2.1刪除master虛擬機(jī)HDFS目錄數(shù)據(jù)

輸入命令rm -rf tmp/dfs/ 刪除dfs目錄

2.2刪除slave1虛擬機(jī)HDFS目錄數(shù)據(jù)

首先通過ssh slave1登錄slave1然后執(zhí)行rm -rf tmp/dfs/刪除slave1 中的dfs目錄。記得exit退出slave1的登錄。

2.3刪除slave2虛擬機(jī)HDFS目錄數(shù)據(jù)

刪除方式與刪除slave1虛擬機(jī)HDFS目錄的方式一致,這里不再贅述,具體操作可參照下圖。一定記得最后執(zhí)行exit退出slave2的登錄,否則極易造成誤操作。

2.4格式化HDFS

在刪除各個(gè)節(jié)點(diǎn)HDFS文件后我們開始格式化HDFS。在master終端輸入命令 hadoop namenode –format然后回車執(zhí)行。執(zhí)行完成后會(huì)看到下圖標(biāo)注的那句話,表明格式化成功。

3、啟動(dòng)hadoop

格式化HDFS結(jié)束之后我們就可以啟動(dòng)hadoop分布式集群了。啟動(dòng)可以可以分步執(zhí)行當(dāng)然hadoop也給我們提供了更簡單的腳本通過一個(gè)命令自動(dòng)啟動(dòng)所有模塊。這里需要指出的是不管分步執(zhí)行啟動(dòng)過程還是通過腳本自動(dòng)啟動(dòng),模塊的啟動(dòng)順序都是一致的即先啟動(dòng)HDFS模塊然后再啟動(dòng)YARN模塊,停止的過程則是先停止YARN模塊再停HDFS模塊。下面我們來分別操作演示一下。

3.1啟動(dòng)HDFS進(jìn)程

啟動(dòng)HDFS模塊使用命令start-dfs.sh,啟動(dòng)過程如下圖所示。需要注意的是我們啟動(dòng)或者停止的命令都是只需在master節(jié)點(diǎn)終端中操作即可,底層hadoop會(huì)自動(dòng)啟動(dòng)其他節(jié)點(diǎn)的相關(guān)進(jìn)程。啟動(dòng)完成后可以通過jps命令查看啟動(dòng)了哪些進(jìn)程,這在下圖也有展示。我們可以看到HDFS模塊在master上有NameNode

SecondaryNameNode進(jìn)程。

HDFS模塊在slave1節(jié)點(diǎn)啟動(dòng)進(jìn)程DataNode

HDFS模塊在slave2節(jié)點(diǎn)啟動(dòng)進(jìn)程也是DataNode。

3.2啟動(dòng)YARN進(jìn)程

啟動(dòng)YARN模塊的命令為start-yarn.sh,啟動(dòng)過程如下圖所示

master節(jié)點(diǎn)啟動(dòng)的進(jìn)程如下圖所示,比啟動(dòng)HDFS時(shí)多了ResourceManager進(jìn)程。

在slave1與slave2節(jié)點(diǎn)上多了NodeManager進(jìn)程

3.2全部啟動(dòng)(包括YARN、HDFS

hadoop還提供了一個(gè)可以自動(dòng)啟動(dòng)HDFS與YARN的腳本命令start-all.sh和停止HDFS與YARN的命令stop-all.sh。在使用start-all.sh命令前我們需要先停止所有進(jìn)程否則會(huì)報(bào)錯(cuò)。在終端輸入命令stop-all.sh停止所有進(jìn)程過程如下圖所示。此時(shí)通過jps命令查看master所有hadoop相關(guān)進(jìn)程已經(jīng)關(guān)閉

查看slave1 slave2節(jié)點(diǎn)同樣的是hadoop進(jìn)程消失,說明命令執(zhí)行成功。

下面演示同時(shí)啟動(dòng)HDFS 、YARN,命令行執(zhí)行命令start-all.sh,并使用jps查看進(jìn)程,如下面三張圖所示,啟動(dòng)成功。

小伙伴們今天的內(nèi)容到這里就結(jié)束了,你Get到了沒。

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }