您好,登錄后才能下訂單哦!
這篇文章主要講解了“Hadoop配置的模式有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Hadoop配置的模式有哪些”吧!
安裝Hadoop集群
1、需要專門制定一個服務器作為主節點。
2、這個節點會駐留NameNode和JobTracker的守護進程。
3、它也將作為一個基站,負責聯絡并激活所有從節點上的DataNode和TaskTracker守護進程。
4、因此我們需要為主節點定制一種手段,使它能夠遠程地訪問到集群中的每個節點。
如何使主節點遠程地訪問到集群中的每個節點呢?
使用無口令的 (passphraseless) SSH協議。
什么是SSH協議?
SSH采用標準的公鑰加密來生成一對用戶驗證密鑰-一個公鑰、一個私鑰。公鑰被本地存儲在集群的每個節點上,私鑰則由主節點在試圖訪問遠端節點時發送過來。結合這兩段信息,目標機可以對這次登錄嘗試進行驗證。
定義一個公共賬號
方便從一個節點的用戶賬號到目標機上的另一個用戶賬號。
對于Hadoop,所有節點上的賬號應該相同的用戶名。
如何檢查節點上是否安裝了SSH?
which ssh
which sshd
which ssh-keygen
Hadoop的配置文件說明
Hadoop的設置主要包含在XML配置文件中,在0.20版本之前,它們是hadoop-default.xml和hadoop.site.xml。顧名思義,hadoop-default.xml中包含了Hadoop會使用的默認設置,除非這些設置在hadoop-site.xml中被顯式地覆蓋。因此,在實際操作中你只需要處理hadoop-sitex.xml。在版本0.20中,這個文件被分離成3個XML文件:core-site.xml、hdfs-site,xnl與mapred-site.xml。這次重構更好地對應了它們所控制的Hadoop子系統。
Hadoop配置的三種模式
單機模式
偽分布式模式
完全分布式模式
單機模式是指?
單機模式是Hadoop的默認模式,當首次解壓Hadoop的源碼包時,Hadoop無法了解硬件安裝環境,便保守地選擇了最小配置。在這種默認模式下所有3個XML文件 (或者0.20版本之前的hadoop-site.xml)均為空。
當配置文件為空時,Hadoop會完全運行在本地。因為不需要與其他節點交互,單機模式就不適用HDFS,也不加載任何Hadoop的守護進程。該模式主要用于開發調試MapReduce程序的應用邏輯,而不會與守護進程交互,避免引起額外的復雜性。
偽分布式模式時指?
偽分布模式在 "單節點集群"上運行Hadoop,其中所有的守護進程都運行在同一臺機器上。該模式在單機模式之上增加了代碼調試功能,允許你檢查內存使用情況、HDFS輸入輸出,以及其他的守護進程交互。
簡單配置:
core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
我們在core-site.xml和mapred-site.xml中分別制定了NameNode和JobTracker的主機名與端口。在hdfs-site.xml中指定了HDFS的默認副本數,因為僅運行在一個節點上,這里副本數為1.我們還需要在文件masters中指定SNN的位置,并在文件salves中指定從節點的位置
vi masters
localhost
vi slaves
localhost
雖然所有的守護進程都運行在同一節點上,它們仍然像分布在集群中一樣,彼此通過相同的SSH協議進行通信。
使用什么裝載守護進程呢?
bin/start-all.sh
使用什么查看守護進程是否啟動?
jps
如何關閉Hadoop的守護進程?
bin/stop-all.sh
完全分布式模式是指?
真正用于生產環境的Hadoop集群。
集群節點說明:
master-集群的主節點,駐留NameNode和JobTracker守護進程
backup-駐留SNN守護進程的節點
hadoop1、hadoop2、hadoop3-集群的從節點,駐留DataNode和TaskTracker守護進程。
配置文件:
core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
不同于偽分布式的兩點:
1、明確地聲明了NameNode和JobTracker守護進程所在的主機名
2、增大了HDFS的備份參數以發揮分布式存儲的優勢,數據通過在HDFS上復制可以提高可用性與可靠性
vi masters
backup
vi slaves
hadoop1
hadoop2
hadoop3
在將這些文件復制到集群上的所有節點之后,一定要格式化HDFS以準備好存儲數據
bin/hadoop namenode -format
模式之間的切換如何做?
有一個技巧在開始使用Hadoop時是很有用的,就是使用符號鏈接而不是不斷編輯XML文件來切換Hadoop的模式,為了做到這一點,需要為每種模式分別生成一個配置目錄,并相應地放入恰當版本的XML文件
然后,就可以使用Linux的ln命令 (例如 ln -s conf.cluster conf) 在不同配置之間切換。這個技巧還有助于臨時把一個節點從集群中分離出來,從而通過偽分布模式來調試一個MapReduce程序,但需要確保這些模式在HDFS上有不同的文件存儲位置,并且在改變配置之前還應該停止所有的守護進程。
基于Web的集群用戶界面
NameNode通過端口50070提供常規報告,描繪集群上HDFS的狀態視圖。
通過這個界面,可以通覽文件系統,檢查集群每個DataNode的狀態,并詳細查看Hadoop守護進程的日志來判斷集群當前運行是否正確。
JobTracker通過端口50030提供視圖,包括MapReduce中任務的運行時狀態,以及整個作業的詳細報告。詳細報告指的是:這些日志描述了哪個節點執行了哪個任務,以及需要完成每個任務所需的時間或資源比,還可以獲得Hadoop對個作業的配置。
感謝各位的閱讀,以上就是“Hadoop配置的模式有哪些”的內容了,經過本文的學習后,相信大家對Hadoop配置的模式有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。