hadoop集群部署【二】YARN MapReduce 的部署

提前注意:請注意路徑是否和我的相同,放置的位置不同,請修改標紅處?

HDFS部署

HDFS介紹及部署icon-default.png?t=N7T8http://t.csdnimg.cn/Q3H3Y

部署說明

Hadoop HDFS分布式文件系統,我們會啟動:

NameNode進程作為管理節點

DataNode進程作為工作節點

SecondaryNamenode作為輔助

同理,Hadoop YARN分布式資源調度,會啟動:

ResourceManager進程作為管理節點

NodeManager進程作為工作節點

ProxyServer、JobHistoryServer這兩個輔助節點

那么,MapReduce呢?

?MapReduce運行在YARN容器內,無需啟動獨立進程

?所以關于MapReduce和YARN的部署,其實就是2件事情:

關于MapReduce: 修改相關配置文件,但是沒有進程可以啟動

關于YARN: 修改相關配置文件, 并啟動ResourceManager、NodeManager進程以及輔助進程(代理服務器、歷史服務器)。

通過表格進行匯總

集群規劃

?MapReduce配置文件

在 $HADOOP_HOME/etc/hadoop 文件夾內,修改:

mapred-env.sh文件,

添加如下

export JAVA_HOME=/export/server/jdk
export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000
export HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA

mapred-site.xml文件

<configuration>
? <property>
? ? <name>mapreduce.framework.name</name>
? ? <value>yarn</value>
? ? <description></description>
? </property>

? <property>
? ? <name>mapreduce.jobhistory.address</name>
? ? <value>node1:10020</value>
? ? <description></description>
? </property>


? <property>
? ? <name>mapreduce.jobhistory.webapp.address</name>
? ? <value>node1:19888</value>
? ? <description></description>
? </property>


? <property>
? ? <name>mapreduce.jobhistory.intermediate-done-dir</name>
? ? <value>/data/mr-history/tmp</value>
? ? <description></description>
? </property>


? <property>
? ? <name>mapreduce.jobhistory.done-dir</name>
? ? <value>/data/mr-history/done</value>
? ? <description></description>
? </property>
<property>
? <name>yarn.app.mapreduce.am.env</name>
? <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
? <name>mapreduce.map.env</name>
? <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
? <name>mapreduce.reduce.env</name>
? <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
</configuration>

?YARN配置文件

?在 $HADOOP_HOME/etc/hadoop 文件夾內,修改:

?yarn-env.sh文件

export JAVA_HOME=/export/server/jdk
export HADOOP_HOME=/export/server/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs
?

?yarn-site.xml文件

?

<configuration>

<property>
? ? <name>yarn.resourcemanager.hostname</name>
? ? <value>node1</value>
? ? <description></description>
? </property>

<property>
? ? <name>yarn.nodemanager.local-dirs</name>
? ? <value>/data/nm-local</value>
? ? <description>Comma-separated list of paths on the local filesystem where intermediate data is written.</description>
? </property>

? <property>
? ? <name>yarn.nodemanager.log-dirs</name>
? ? <value>/data/nm-log</value>
? ? <description>Comma-separated list of paths on the local filesystem where logs are written.</description>
? </property>

<property>
? ? <name>yarn.nodemanager.aux-services</name>
? ? <value>mapreduce_shuffle</value>
? ? <description>Shuffle service that needs to be set for Map Reduce applications.</description>
? </property>

<property>
? ? <name>yarn.log.server.url</name>
? ? <value>http://node1:19888/jobhistory/logs</value>
? ? <description></description>
</property>

? <property>
? ? <name>yarn.web-proxy.address</name>
? ? <value>node1:8089</value>
? ? <description>proxy server hostname and port</description>
? </property>


? <property>
? ? <name>yarn.log-aggregation-enable</name>
? ? <value>true</value>
? ? <description>Configuration to enable or disable log aggregation</description>
? </property>

? <property>
? ? <name>yarn.nodemanager.remote-app-log-dir</name>
? ? <value>/tmp/logs</value>
? ? <description>Configuration to enable or disable log aggregation</description>
? </property>


? <property>
? ? <name>yarn.resourcemanager.scheduler.class</name>
??<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
? ? <description></description>
? </property>

??<property>
? ? <name>yarn.nodemanager.log.retain-seconds</name>
? ? <value>10800</value>
? ? <description>Default time (in seconds) to retain log files on the NodeManager Only applicable if log-aggregation is disabled.</description>
? </property>
</configuration>

?解釋:

?MapReduce和YARN的配置文件修改好后,需要分發到其它的服務器節點中。

分發

scp mapred-env.sh mapred-site.xml yarn-env.sh yarn-site.xml node2:`pwd`/

scp mapred-env.sh mapred-site.xml yarn-env.sh yarn-site.xml node3:`pwd`/

分發完成配置文件,就可以啟動YARN的相關進程啦。

?集群啟動命令介紹

?常用的進程啟動命令如下:

一鍵啟動YARN集群:

$HADOOP_HOME/sbin/start-yarn.sh

會基于yarn-site.xml中配置的yarn.resourcemanager.hostname來決定在哪臺機器上啟動resourcemanager

會基于workers文件配置的主機啟動NodeManager

一鍵停止YARN集群:

$HADOOP_HOME/sbin/stop-yarn.sh

在當前機器,單獨啟動或停止進程

$HADOOP_HOME/bin/yarn --daemon start|stop resourcemanager|nodemanager|proxyserver

start和stop決定啟動和停止

可控制resourcemanager、nodemanager、proxyserver三種進程

歷史服務器啟動和停止

$HADOOP_HOME/bin/mapred --daemon start|stop historyserver

獨立進程啟停可用

$HADOOP_HOME/bin/yarn --daemon

控制resourcemanager、nodemanager、proxyserver

$HADOOP_HOME/bin/mapred --daemon

控制historyserver?

?開始啟動YARN集群

?在node1服務器,以hadoop用戶執行

?首先執行:

$HADOOP_HOME/sbin/start-yarn.sh

?

一鍵啟動所需的: ResourceManager NodeManager ProxyServer(代理服務器)

?其次執行:?

$HADOOP_HOME/bin/mapred --daemon start historyserver

?

啟動: HistoryServer(歷史服務器)

?jps

查看java進程

查看YARN的WEB UI頁面

打開 http://node1:8088 即可看到YARN集群的監控頁面(ResourceManager的WEB UI)

在最后,可以給虛擬機打上快照,保存安裝狀態

提交MapReduce程序至YARN運行?

?在部署并成功啟動YARN集群后,我們就可以在YARN上運行各類應用程序了。

們目前先來體驗一下在YARN上執行MapReduce程序的過程。?

?Hadoop官方內置了一些預置的MapReduce程序代碼,我們無需編程,只需要通過命令即可使用。

常用的有2個MapReduce內置程序:

wordcount:單詞計數程序。 統計指定文件內各個單詞出現的次數

pi:求圓周率 通過蒙特卡羅算法(統計模擬法)求圓周率

?這些內置的示例MapReduce程序代碼,都在: ?$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar 這個文件內。

可以通過 hadoop jar 命令來運行它,提交MapReduce程序到YARN中。

語法:

hadoop jar 程序文件 java類名 [程序參數] ... [程序參數]

?提交wordcount示例程序

?單詞計數示例程序的功能很簡單:

給定數據輸入的路徑(HDFS)、給定結果輸出的路徑(HDFS)

將輸入路徑內的數據中的單詞進行計數,將結果寫到輸出路徑

我們可以準備一份數據文件,并上傳到HDFS中。

?請隨意填寫內容,假設文件為words.txt,上傳到HDFS

hadoop fs -mkdir -p /input/wordcount

hadoop fs -mkdir /output

hadoop fs -put words.txt /input/wordcount/

執行如下命令,提交示例MapReduce程序WordCount到YARN中執行

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount hdfs://node1:8020/input/wordcount/ hdfs://node1:8020/output/wc1

?注意: 參數wordcount,表示運行jar包中的單詞計數程序(Java Class)

參數1是數據輸入路徑(hdfs://node1:8020/input/wordcount/)

參數2是結果輸出路徑(hdfs://node1:8020/output/wc1), 需要確保輸出的文件夾不存在

?提交程序后,可以在YARN的WEB UI頁面看到運行中的程序(http://node1:8088/cluster/apps)

?執行完成后,可以查看HDFS上的輸出結果

?

_SUCCESS文件是標記文件,表示運行成功,本身是空文件

part-r-00000,是結果文件,結果存儲在以part開頭的文件中?

?執行完成后,可以借助歷史服務器查看到程序的歷史運行信息 ps:如果沒有啟動歷史服務器和代理服務器,此操作無法完成(頁面信息由歷史服務器提供,鼠標點擊跳轉到新網頁功能由代理服務器提供)

?查看運行日志

?點擊logs鏈接,可以查看到詳細的運行日志信息。 此功能基于:

1. 配置文件中配置了日志聚合功能,并設置了歷史服務器

2. 啟動了代理服務器和歷史服務器

3. 歷史服務器進程會將日志收集整理,形成可以查看的網頁內容供我們查看。

所以,如果發現無法查看程序運行歷史以及無法查看程序運行日志信息,請檢查上述1、2、3是否都正確設置。

?hadoop集群完畢!

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

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

相關文章

歡太主題商店 官方資源提取與應用第三方資源方法一覽

前言疊甲&#xff1a;支持正版&#xff0c;尊重他人勞動成果&#xff0c;反對盜版提取&#xff0c;不要傳播提取版&#xff0c;我本人也在支持正版&#xff0c;但是最近懶得用主題&#xff0c;用一段時間的默認吧&#xff0c;如有主題開發者不滿&#xff0c;請聯系刪除 &#x…

JAVA 判斷一系列區間值有沒有重疊

判斷一系列區間值比喻 0-20 10-8 21-100 ...等等 這些區間有沒有重疊的方法&#xff1a; /*** Author Minco* Date 15:44 2024-07-01* Description 區間范圍*//***/ public class Interval implements Comparable<Interval> {double start;double end;public Interval(…

機器人入門路線及參考資料(機器人操作方向)

機器人&#xff08;操作方向&#xff09;入門路線及參考資料 前言1 數理基礎和編程2 機器人學理論3 計算機視覺4 機器人實操5 專攻方向總結Reference: 前言 隨著機器人和具身智能時代的到來&#xff0c;機器人越來越受到大家的重視&#xff0c;本文就介紹了機器人&#xff08;…

基于SpringBoot民宿管理系統設計和實現(源碼+LW+調試文檔+講解等)

&#x1f497;博主介紹&#xff1a;?全網粉絲10W,CSDN作者、博客專家、全棧領域優質創作者&#xff0c;博客之星、平臺優質作者、專注于Java、小程序技術領域和畢業項目實戰?&#x1f497; &#x1f31f;文末獲取源碼數據庫&#x1f31f; 感興趣的可以先收藏起來&#xff0c;…

13-4 GPT-5:博士級AI,人工智能的新時代

圖片來源&#xff1a;AI Disruptive 人工智能世界正在迅速發展&#xff0c;新的創新和突破層出不窮。在本文中&#xff0c;我們將深入探討最新的進展&#xff0c;從即將推出的 GPT-5 模型到 Apple 和 Meta 之間可能的合作。 GPT-5&#xff1a;博士級別的人工智能 雖然尚未正…

為何交易價格可能超出預期?

當你嘗試執行訂單時&#xff0c;如果收到“報價超出”的提示&#xff0c;這通常意味著交易無法按你的預期價格成交。對于某些交易者來說&#xff0c;這可能會帶來一些困擾&#xff0c;但在外匯等流動性極高的市場中&#xff0c;這種情況是相當常見的。 外匯市場之所以吸引眾多…

java 一鍵打包exe (GraalVM方式)

1.GraalVM 版本下載java地址 https://www.graalvm.org/downloads/ 這邊我選擇java17長期支持版本和window系統方式。 本次安裝電腦window10專業版本。 2.下載好后&#xff0c;進行解壓 tar -zxvf apache-maven-3.9.8-bin.tar.gz3.增加變量 名稱&#xff1a;GRAALVM_HOME 路徑…

Ubuntu20.04 有線網絡圖標消失解決方案

Ubuntu20.04 有線網絡圖標消失解決方案 問題描述&#xff1a; ubuntu20.04系統提示的software updater有軟件包更新&#xff0c;按提示安裝更新軟件包&#xff0c;重啟系統后&#xff0c;ubuntu系統的網絡圖標消失不見&#xff1b;無法正常上網&#xff1b;檢查網口&#xff0…

Linux:ollama+Dify大模型本地化部署打造個人知識庫 (2)

ollama大模型部署-CSDN博客文章瀏覽閱讀26次。Ollama 是一個能在本地機器上輕松構建和運行大型語言模型的輕量級、可擴展框架&#xff0c;適用于多種場景&#xff0c;具有易于使用、資源占用少、可擴展性強等特點。https://blog.csdn.net/weixin_72819498/article/details/1400…

高效批量復制與覆蓋:一鍵實現文件管理,輕松應對同名文件,簡化工作流程

在數字時代&#xff0c;我們每天都在與海量的文件和數據打交道。你是否曾經遇到過這樣的情況&#xff1a;需要批量復制文件到指定文件夾&#xff0c;但一遇到同名文件就頭疼不已&#xff0c;要么手動一個個確認覆蓋&#xff0c;要么冒著數據丟失的風險直接操作&#xff1f;別擔…

OpenSearch的演進與語義檢索技術革新

周末聽了一場關于Open Search的技術分析&#xff0c;整理如下&#xff0c;供大家參考。OpenSearch&#xff0c;作為ElasticSearch的一個分支&#xff0c;不僅繼承了其強大的搜索和分析能力&#xff0c;更在開源社區的驅動下&#xff0c;不斷演進和創新。本文將介紹OpenSearch的…

Pythonnet能導入clr,但無法引入System模塊?

【pythonnet詳解】—— Python 和 .NET 互操作的庫_pythonnet 詳細使用-CSDN博客 Python中動態調用C#的dll動態鏈接庫中方法_python 如何調用c# dll-CSDN博客 需求&#xff1a;Python調用并傳List<float>類型參數給.Net 起初&#xff1a;直接 # 創建一個Python浮點數…

【Altium】如何處理PCB上所有焊盤被誤蓋油

【更多軟件使用問題請點擊億道電子官方網站】 1、 文檔目標 解決焊盤被誤蓋油的操作 2、 問題場景 所有焊盤都可以設置為蓋油或不蓋油&#xff0c;由于焊盤需要用來焊接元器件&#xff0c;所以都不會設置蓋油。由于誤操作或者創建封裝時設置錯誤&#xff0c;造成一定數量的焊盤…

“論單元測試方法及應用”寫作框架,軟考高級論文,系統架構設計師論文

論文真題 1、概要敘述你參與管理和開發的軟件項目,以吸你所擔的主要工作。 2、結給你參與管理和開發的軟件項目&#xff0c;簡要敘述單元測試中靜態測試和動態測試方法的基本內容。 3、結給你慘與管理和研發的軟件項目,體闡述在玩測試過程中,如何確定白盒測試的覆蓋標準,及如…

IT行業:現狀、未來與無限可能

隨著技術的不斷進步&#xff0c;IT行業已成為推動全球經濟和社會發展的關鍵力量。從云計算、大數據、人工智能到物聯網、5G通信和區塊鏈&#xff0c;這些技術正在重塑我們的生活和工作方式。作為當今全球經濟和社會發展的核心驅動力&#xff0c;IT行業正經歷著前所未有的變革與…

Hadoop權威指南-讀書筆記-01-初識Hadoop

Hadoop權威指南-讀書筆記 記錄一下讀這本書的時候覺得有意思或者重要的點~ 第一章—初識Hadoop Tips&#xff1a; 這個引例很有哲理嘻嘻&#x1f604;&#xff0c;道出了分布式的靈魂。 1.1 數據&#xff01;數據&#xff01; 這一小節主要介紹了進入大數據時代&#xff0c;面…

方正小標宋簡體、仿宋GB2312、楷體GB2312字體

文章目錄 下載地址所有的文件wps使用方正小標宋簡體、仿宋GB2312、楷體GB2312 字體用途方正小標宋簡體仿宋GB2312楷體GB2312 下載地址 【金山文檔 | WPS云文檔】 方正小標宋簡體、仿宋GB2312、楷體GB2312 https://kdocs.cn/l/cksgHDLneqDk 所有的文件 wps使用 方正小標宋簡體…

監聽 web 容器內的網絡請求

需求 iOS 項目中 wkwebview 實現的 web 容器&#xff0c;需要監聽 web 容器內的所有網絡請求 實現 在 iOS 項目中使用 WKWebView 實現的 Web 容器&#xff0c;監聽 Web 容器內的網絡請求是一個常見需求。可以通過實現 WKURLSchemeHandler 協議來處理自定義的 URL scheme&#…

IoTDB Committer+Ratis PMC Member:“兩全其美”的秘訣是?

IoTDB & Ratis 雙向深耕&#xff01; 還記得一年前我們采訪過擁有 IoTDB 核心研發 Ratis Committer “雙重身份”的社區成員宋子陽嗎&#xff1f;&#xff08;點此閱讀&#xff09; 我們高興地發現&#xff0c;一年后&#xff0c;他在兩個項目都更進一步&#xff0c;已成為…

Vue 結合 Element-UI ,管理系統快速生成指南(一)

前言 Element UI 作為一個基于 Vue.js 的 UI 組件庫,提供了豐富的界面元素和交互組件,大大提高了開發效率。結合這兩大前端技術棧,開發者能夠快速搭建出一個功能強大、界面優雅的管理系統。 由于管理系統實現流程還是相對較多&#xff0c;所以分幾篇文章進行講解 本章主要先…