Hadoop集群的配置(二)

轉自:http://www.cnblogs.com/baiboy/p/4640640.html

摘要:?hadoop集群配置系列文檔,是筆者在實驗室真機環境實驗后整理而得。以便隨后工作所需,做以知識整理,另則與博客園朋友分享實驗成果,因為筆者在學習初期,也遇到不少問題。但是網上一些文檔大多互相抄襲,里面錯誤百出。筆者結合自學書籍視頻等資料,完成這一套配置資料。實驗結果和過程經過反復測試無誤后方整理出來的。配置過程中,初學者若有實驗環境,可以在真機環境下完成,若無條件,可補習下虛擬機與Linux操作系統的基礎知識,以及里面對linux常規命令使用,建議讀者邊配置學學習。(本文原創/整理,轉載請標注原文出處:?Hadoop集群的配置(二)?)

白寧超

2015年7月12日10:40:04

相關文章

  1. 【Oracle RAC集群搭建1】?集群概念介紹
  2. 【Oracle RAC集群搭建2】?ORACLE集群概念和原理
  3. 【Oracle RAC集群搭建3】?RAC 工作原理和相關組件
  4. 【Oracle RAC集群搭建4】?緩存融合技術
  5. 【Oracle RAC集群搭建5】?RAC 特殊問題和實戰經驗
  6. 【Oracle RAC集群搭建6】?ORACLE 11 G版本2 RAC在LINUX上使用NFS安裝前準備
  7. 【Oracle RAC集群搭建7】?ORACLE ENTERPRISE LINUX 5.7下DATABASE 11G RAC集群安裝
  8. 【Oracle RAC集群搭建8】?ORACLE ENTERPRISE LINUX 5.7下DATABASE 11G RAC數據庫安裝
  9. 【Oracle RAC集群搭建9】?ORACLE ENTERPRISE LINUX 5.7下DATABASE 11G RAC基本測試與使用
  10. 【MySql集群搭建】 ??真機環境下MySQL-Cluster搭建文檔

  11. 【Hadoop集群搭建1】Hadoop集群的配置

  12. 【Hadoop集群搭建2】Hadoop集群的配置?

2.8 節點之間的免密碼通信

1.什么是SSH

SSH是Secure Shell的縮寫,由IETF的網絡工作小組(Network Working Group)所制定;SSH為建立在應用層和傳輸層基礎上的安全協議。SSH是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用SSH協議可以有效防止遠程管理過程中的信息泄露問題。

從客戶端來看,SSH提供兩種級別的安全驗證。

第一種級別? 基于口令的安全驗證

只要知道自己的帳號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證你正在連接的服務器就是你想連接的服務器。可能會有別的服務器在冒充真正的服務器,也就是受到“中間人”這種方式的攻擊。

第二種級別? 基于密匙的安全驗證

需要依靠密匙,也就是你必須為自己創建一對密匙,并把公用密匙放在需要訪問的服務器上。如果你要連接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求用你的密匙進行安全驗證。服務器收到請求之后,先在該服務器上你的主目錄下尋找你的公用密匙,然后把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,服務器就用公用密匙加密“質詢”(challenge)并把它發送給客戶端軟件。客戶端軟件收到“質詢”之后就可以用你的私人密匙解密再把它發送給服務器。

用這種方式,你必須知道自己密匙的口令。但是,與第一種級別相比,第二種級別不需要在網絡上傳送口令。

第二種級別不僅加密所有傳送的數據,而且“中間人”這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。但是整個登錄的過程可能需要10秒。

2.虛擬機拷貝節點

關閉當前CentOS,然后右擊CentOS,選擇“管理”-->“克隆”。

? ? ? ?? ? ? ? ? ? ? ?

?

分別完成CentOS1、CentOS2、CentOS3的克隆工作,然后分別啟動,重復2.2修改網絡,用pietty登錄,重復2.5的操作步驟更改相應主機名。

思考:node節點上的hosts和其他節點上的hosts一樣嗎?其中hosts文件還不算大,手工改也不會耗費太多時間,如果搭建的是幾百個節點的集群呢?

我們可以登錄node節點,把node節點上的hosts遠程拷貝到其他節點。

使用scp命令: scp? fromAdd?? toAdd? 如圖

?

注意其中出現了和我們第一次連接出現的提示,The authenticity of host 'node1 (192.168.10.101)' can't be established.我們確認連接方安全輸入“yes”回車,輸入node1密碼連接成功,打開known_hosts我們可以看到生成的密鑰:

?

以后再與node1不會再出現提示,因為在known_hosts已經加入了node1。但仍然需要輸入密碼,下面我們解決免密碼登錄的問題,讀者先完成其他節點的hosts拷貝。

3.SSH免密碼登錄

在各節點上生成各自SSH秘鑰對(命令中的rsa可以改成dsa,安全性更高),以node1為例。

?

?

在本機上生成authorized_keys,并驗證能否對本機進行SSH無密碼登陸。

?

???????

所有節點都生成自己的authorized_keys之后,通過ssh-copy-id命令拷貝各自的公鑰到node2節點(可以隨機指定某個存在的節點),下面以node1節點為例,node1節點的公鑰復制到node2節點中并加入到授權的key中,并驗證是否配置成功。

?

?

以下是node2節點完成公鑰復制后的文件。

?

由此可見所有節點都已經加入了[微軟用戶1]?,只要通過遠程拷貝那么節點之間就可以實現免密碼登錄了。

只要在node2節點上執行:

scp /root/.ssh/authorized_keys node:/root/.ssh/;scp /root/.ssh/authorized_keys node1:/root/.ssh/;scp /root/.ssh/authorized_keys node3:/root/.ssh/

?

?

這樣,就可以測試節點之間的登錄了。

2.9 Hadoop啟動和測試

1.格式化文件系統

在node節點上首先格式化namenode,執行命令hdfs? namenode? -format

在出現提示信息的最后第二行出現“Exiting with status 0”表示格式化成功,在UNIX中0表示成功,1表示失敗,因此讀者如果返回“Exiting with status 1”應該好好分析下前面的錯誤提示信息,一般來說是因為前面配置文件和hosts文件問題,修改后一定要同步到其他節點上,保持相同環境。

?

注意:有些讀者以前用hadoop1.2或者更靠前的版本,會習慣用hadoop namenode -format格式化,這個時候會彈出一條WARNING信息,警告腳本已過時,但不會影響結果,因為Hadoop2.2版本對之前的Hadoop命令幾乎都兼容。

注意:格式化前可以先自定義集群名字,如果未定義,系統將自動生成[微軟用戶2]?。

hadoop namenode -format -clusterid clustername

?2.啟動HDFS

使用start-dfs.sh開啟hadoop dfs服務。

?

通過上面可以看到,我們啟動了HDFS,node節點作為namenode,node1、node2、node3作為datanode,而node1也作為secondnamenode。

可以通過jps命令驗證。Jps也是Windows上面的命令,表示開啟的Java進程。當出現如下結果,表示驗證成功。

???????

??????? ?????? ?

同樣,也可以通過網絡驗證HDFSs情況,在Lunix環境下,在Web瀏覽器中輸入:http://node:50070,當然也可以在Windows環境中通過該URL訪問,只需修改如下文件:

C:\Windows\System32\drivers\etc\hosts? 添加192.168.10.100 node即可。

?

3.啟動YARN集群

在主節點node[微軟用戶4]?上,執行命令:start-yarn.sh

?

通過輸出可以看到namenode已經作為了resourcemanager,而其他三個節點分別作為nodemanager。通過命令tail -f? /home/hadoop/hadoop2.2/logs/yarn-root-resourcemanager-node.out

可以查看啟動日志。

或者查看啟動對應進程情況: jps

?

其他節點可以通過類似命令驗證,當然最方便的是輸入地址:http://node:8088/。

?

NodeManager運行在從節點上,可以通過Web控制臺查看對應節點的資源狀態,如節點s1:http://node1:8042/

?

?

4.管理JobHistory Server

啟動可以[微軟用戶5]?JobHistory Server,能夠通過Web控制臺查看集群計算的任務的信息,執行如下命令:?????? mr-jobhistory-daemon.sh start historyserver


通過訪問http://?????? node:19888/查看任務執行歷史信息。


終止JobHistory Server,執行如下命令:mr-jobhistory-daemon.sh stop historyserver

5.集群驗證

可以使用Hadoop自帶的WordCount例子進行驗證。先在HDFS創建幾個數據目錄:

hadoop fs -mkdir -p /data/wordcount

?

hadoop fs -mkdir -p /output/

目錄/data/wordcount用來存放Hadoop自帶的WordCount例子的數據文件,運行這個MapReduce任務的結果輸出到/output/wordcount目錄中。

將本地文件上傳到HDFS中:

hadoop fs -put /home/hadoop/hadoop2.2/etc/hadoop/*.xml /data/wordcount/

可以查看上傳后的文件情況,執行如下命令:

hadoop fs -ls /data/wordcount

可以看到上傳到HDFS中的文件。

下面,運行WordCount例子,執行如下命令:

hadoop? jar? /home/hadoop/hadoop2.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount? /data/wordcount? /output/wordcount

通過http://node:8088/可以看到節點的運行情況。

?

運行結束后可以通過如下命令查看結果:

hadoop fs -cat /output/wordcount/part-r-00000 | head

以后我們掌握了相關api后可以自己編寫切詞統計程序。

6.需要了解的默認配置

在Hadoop 2.2.0中,YARN框架有很多默認的參數值,如果是在機器資源比較不足的情況下,需要修改這些默認值,來滿足一些任務需要。

NodeManager和ResourceManager都是在yarn-site.xml文件中配置的,而運行MapReduce任務時,是在mapred-site.xml中進行配置的。

下面看一下相關的參數及其默認值情況:

3.動態管理節點(了解)


3.1動態增加和刪除datanode

總的來說,正確的做法是優先通過配置文件,再在具體機器上進行相應進程的啟動/停止操作。

1. 配置文件

  • 在namenode下修改配置文件
  • 在hadoop 0.x中上述配置存放在文件conf/hadoop-site.xml中;
  • 在hadoop 2.x中變化很大,文件為conf/hdfs-site.xml中,參數名為:dfs.namenode.hosts和fs.namenode.hosts.exclude。

參數作用:

dfs.hosts:[微軟用戶6]?

?

Names ? a file that contains a list of hosts that are permitted to connect to the ? namenode. The full pathname of the file must be specified. If the value is ? empty, all hosts are permitted.

dfs.hosts.exclude:

?

Names a file that contains a list of hosts that are not permitted to connect to the namenode. The full pathname of the file must be specified. If the value is empty, no hosts are excluded

?

用法說明:

修改hdfs-site.xml,添加:

?

  • 如果不需要允許列表,就不要創建對應項了。然后創建value所指定的文件,一行寫一個主機名。
  • 在新slave上進行相關配置。
  • 在master上的slave列表加入該slave(非必須,方便以后重啟cluster用)
  • (若有)在datanode-allow.list中加入該slave
  • 在slave上啟動datanode進程:
  • 運行:hadoop-daemon.sh start datanode ?

2. 添加

3. 刪除

極端不建議直接在slave上通過:hadoop-daemon.sh stop datanode 命令關掉datanode,這會導致HDFS中出現missing block,具體步驟如下:

  • 在master上修改datanode-deny.list,添加相應機器
  • 在master上刷新節點配置情況:hadoop dfsadmin -refreshNodes ?

此時在Web UI上就可以看到該節點變為Decommissioning狀態,過一會就變為Dead了。也可以通過:hadoop dfsadmin -report命令查看。? namenode.stale.datanode.interval

  • 在slave上關閉datanode進程(非必須): ?

運行: hadoop-daemon.sh stop datanode?

4. 重新加入各個刪除的節點

  • 在master的datanode-deny.list刪除相應機器
  • 在master上刷新節點配置情況:hadoop dfsadmin -refreshNodes?
  • 在slave上重啟datanode進程:hadoop-daemon.sh start datanode?

注意:如果之前沒有關閉該slave上的datanode進程,需要先關閉再重新啟動。

3.2. 動態修改TaskTracker

1. 配置文件

對于hadoop 2.x下[微軟用戶7]?在namenode下修改配置文件conf/mapred-site.xml。關鍵參數mapred.hosts和mapred.hosts.exclude。

參數作用:和datanode的對應項一樣。

?

?

?

修改mapred-site.xml,添加參數:

?

然后創建value所指定的文件。一行寫一個主機名。

2. 添加

  • 在新slave上進行相關配置。
  • 在master上的slave列表加入該slave(非必須,方便以后重啟cluster用)
  • 若有)[微軟用戶8]?在tasktracker-allow.list中加入該slave
  • 在slave上啟動tasktracker進程:
  • 運行:hadoop-daemon.sh?start?tasktracker ?

注意:可以用jps命令查看機器上的java進程的pid和進程名。

3. 刪除

不建議直接在slave上通過:hadoop-daemon.sh?stop?tasktracker命令關掉tasktracker,這會導致namenode認為這些機器暫時失聯,在一個超時時間內(默認10min+30s)依然假設它們是正常的還會將任務發送給它們。

  • 在master上修改tasktracker-deny.list,添加相應機器
  • 在master上刷新節點配置情況:hadoop mradmin -refreshNodes ?

此時在Web UI上立即就可以看到Nodes的數量減少了,而Exclude Nodes的數量增加了。可以點進去具體查看。

  • 在slave上關閉tasktracker進程(非必須):運行:hadoop-daemon.sh?stop?tasktracker??

4. 重新加入各個刪除的節點

  • 在master的tasktracker-deny.list刪除相應機器
  • 在master上刷新節點配置情況:hadoop mradmin -refreshNodes ?
  • 在slave上重啟tasktracker進程:hadoop-daemon.sh?start?tasktracker ?

注意:如果之前沒有關閉該slave上的tasktracker進程,需要先關閉再重新啟動。

?


hadoop配置完

轉載于:https://www.cnblogs.com/Jace06/articles/6842838.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370738.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370738.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370738.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

允許使用抽象類類型 isearchboxinfo 的對象_Java學習5-設計模式+抽象類/方法

1.設計模式設計模式:一套被反復使用、多數人知曉的,經過分類編目的、代碼設計經驗的總結,是軟件開發人員在軟件開發過程中面臨的一般問題的解決方案。項目中合理的運用設計模式可以完美的解決很多問題; 每種模式在現實中都有相應的…

初始Windows程序

1.屬性 窗體標題 Name 窗體的圖標 Icon 背景圖片 BackgroundImage 背景顏色 BackColor 最大化按鈕 MaxIMonBox 最小化按鈕 Minimun 窗體邊框樣式 FormBorderStyle 窗體初始位置 StartPosition 窗體狀態 WindowsState 背景圖片拉伸 BackgroundImageLayout 窗體標題 Te…

計算機病毒是以獨立的文件形式存在的對嗎,計算機病毒以什么形式存在?

自從2113世紀出現第一種病毒以來,對于世界上共有5261種病毒的疾病數量有不同的看法. 無論有1,653種,病毒的數量仍在增加. 根據國外統計,計算機病毒以每周10種的速度增長. 根據我國部的統計,中國計算機病毒以每月4種的速度增長. 有…

HTML基礎實例

本節列舉了一些簡單的HTML例子&#xff0c;幫助大家更感性地認識HTML標簽。是不是對一些標簽還不熟悉&#xff1f;別擔心&#xff0c;后面幾個章節會有詳細說明&#xff0c;先跑幾個例子看看效果吧。 HTML文檔相關標簽所有HTML文檔必須以<!DOCTYPE html>聲明開頭。 HTM…

簽署Java代碼

在上一篇文章中&#xff0c;我們討論了如何保護移動代碼 。 提到的措施之一是簽名代碼。 這篇文章探討了Java程序如何工作。 數字簽名 數字簽名的基礎是密碼學 &#xff0c;特別是公鑰密碼學 。 我們使用一組加密密鑰&#xff1a;私有密鑰和公共密鑰。 私鑰用于簽名文件&am…

蜘蛛搜索引擎_SEO:搜索引擎蜘蛛要引導,不能佛系優化

又是一個不眠的夜晚&#xff0c;工作對生活節奏不斷地敲打&#xff0c;我們新一代的年輕小伙不得不進步&#xff0c;滿懷熱情來挑戰我們對于工作的激情&#xff0c;雖然每一天工作都是重復地進行&#xff0c;但是每一天都有我們留下的痕跡&#xff0c;為世界的美好增添一道絢麗…

SQL數據庫排序規則修改

修改SQL數據庫排序規則: 1.修改為單用戶模式 2.然后關閉所有的查詢窗口&#xff0c;修改Options的Collocation屬性&#xff0c;如&#xff1a;Chinese_PRC_90_CI_AS 3.再修改為多用戶模式 例如&#xff1a; ALTER DATABASE SRMain SET SINGLE_USER WITH ROLLBACK IMMEDIATE Go…

屬于計算機病毒主要特征的是,[單選] 不屬于計算機病毒的主要特征的是()

[單選] 不屬于計算機病毒的主要特征的是()更多相關問題已知兩直線l1&#xff1a;mx&#xff0b;y&#xff0d;20和l2&#xff1a;(m&#xff0b;2)x&#xff0b;y&#xff0b;40與兩坐標軸圍成的四邊形有外接圓&#xff0c;則實數m的值為()A&#xff0e;1B&#xff0e;&#xf…

小程序滴滴車主板塊的銀行卡管理左滑刪除編輯

最近在類似于滴滴軟件的一款小程序&#xff0c;工程確實有點大&#xff0c;很多東西都是第一次做。這次記錄一下關于左滑刪除的一個代碼記錄。主要的思想就是計算滑動距離的大小來使用css中的 transition 控制滑動的效果&#xff0c;主流的都是控制邊距margin來達到左滑的效果。…

華菱重卡儀表指示說明_儀表裝置11種常見故障的解決方法

1. 轉速表工作不正常或停止工作首先檢查轉速表背面的黑色3孔插頭與插座接觸是否良好及電壓正常與否。3個端子的連接情況&#xff1a;端子a是電源負極&#xff0c;與儀表盤14孔白色插座上的棕色導線連接后搭鐵(儀表盤上所有搭鐵點均由棕色導線匯集在一起&#xff0c;并通過膠布包…

WADL中的JSON模式

在其他工作之間&#xff0c;我最近一直在審查WADL規范&#xff0c;以解決一些文檔問題&#xff0c;以生成更新版本。 因為顯而易見的一件事是缺少對XML以外的語言的語法支持-是的&#xff0c;您可以使用JSON <-> XML Schema的映射&#xff0c;但這對于JSON純粹主義者而言…

怎么用python自制計算公式_如何使用Python和Numpy計算r平方?

我最初發布下面的基準是為了推薦numpy.corrcoef&#xff0c;愚蠢地沒有意識到原來的問題已經使用了corrcoef&#xff0c;實際上是在詢問高階多項式擬合。我已經使用statsmodels為多項式r-squared問題添加了一個實際的解決方案&#xff0c;并且我已經離開了原始的基準測試&#…

ASP .NET SVN emmet 插件

學習 ASP .NET 時間的第三周&#xff1a; 來講講如何在 visual studio 2013...上搭載 SVN吧: 廢話不多說&#xff1a; One Step&#xff1a; 電腦上已安裝 visual studio 2013 等版本&#xff08;未安裝時 紅色區域是不存在的&#xff09; Two Step&#xff1a; 從官網上下載對…

Python之路3【知識點】白話Python編碼和文件操作(截載)

無意發現這篇文章講的比較好&#xff0c;存下來供參考&#xff1a; http://www.cnblogs.com/luotianshuai/p/5735051.html轉載于:https://www.cnblogs.com/shikaihong/p/7778880.html

Http協議入門

[在此處輸入文章標題] 1 web web入門 1&#xff09;web服務軟件作用: 把本地資源共享給外部訪問 2&#xff09;tomcat服務器基本操作 &#xff1a; 啟動: %tomcat%/bin/startup.bat 關閉&#xff1a; %tomcat%/bin/shutdown.bat 訪問tomcat主頁&#xff1a; http://loca…

計算機硬件系統都是看得見的,計算機組成硬件系統).doc

計算機組成硬件系統)各位計算機協會的成員大家好&#xff0c;很高興大家能陪我們走過這段難忘的時光。為了讓大家更好的學到東西&#xff0c;我們特地將計算機方面的東西整理成技術文檔&#xff0c;共大家使用&#xff0c;祝大家學得愉快&#xff01;湘信院計算機協會一&#x…

Google Guava –期貨

這篇文章是我在Google Guava上的系列文章的延續&#xff0c;這次涵蓋了Future。 Futures類是用于使用Future / ListenableFuture接口的靜態實用程序方法的集合。 Future是提交給ExecutorService的異步任務&#xff08;可運行或可調用&#xff09;的句柄。 Future界面提供以下方…

iptables 配置后連接不上數據庫_Linux服務器配置-VSFTP服務配置(三)

上文&#xff1a;Linux服務器配置-VSFTP服務配置(二)一、vsftpd服務防火墻配置1、主動(POST)模式 FTP 防火墻配置CentOS6 系統 iptables 的配置iptables -t filter --line-number -nL INPUT#顯示現有防火墻規則&#xff0c;查看是否開啟20、21號端口。iptables -t filter -I IN…

下標索引必須為正整數類型或邏輯類型_Python3 基本數據類型

Python中的變量不需要聲明。每個變量在使用前都必須賦值&#xff0c;變量賦值以后該變量才會被創建。在Python中&#xff0c;變量就是變量&#xff0c;它沒有類型&#xff0c;我們所說的"類型"是變量所指的內存中對象的類型。Python 3中有六個標準的數據類型&#xf…

noip模擬賽 寫代碼

分析&#xff1a;這其實就是括號匹配題&#xff0c;一眼貪心題&#xff0c;不過一開始貪錯了&#xff0c;以為([)]是合法的......其實括號之間不能嵌套. 一開始的想法是盡量往左邊填左括號&#xff0c;因為每種括號的數量都確定了&#xff0c;那么左括號和右括號的數量也就確定…