2 Hadoop的安裝與配置


需要JDKSSH

對于偽分布式,Hadoop會采取與集群相同的處理方式:按次序啟動文件conf/slaves中記載的主機上的進程,只不過在偽分布式中Slavelocalhost(自身)。

?

Hadoop從三個角度將主機劃分為兩種角色:

最基本MasterSlave

HDFS角度:NameNodeDataNode

MapReduce角度:JobTrackerTaskTracker

?

三種運行方式:

單機模式:無需配置,Hadoop被認為是一個單獨的Java進程,用于調試

偽分布式:fs.default.name=hdfs://localhost:9000

?? ? ? ? ? ? ?dfs.replication=1

分布式:

?

格式化HDFS系統:hadoop namenode -format

HDFS web端口:50070

?

網絡拓撲

通常來說,一個Hadoop集群體系結構由兩層網絡拓撲組成

Switch

Switch1

Node1

Node2

Node3

Switch2

Node4

Node5

Node5

?

實際應用中,每個機架會有30-40臺機器,這些機器共享一個1GB帶寬的網絡交換機;

在所有機架之上還有一個核心交換機或路由器,通常來說其網絡交換能力為1GB或更高。

同一機架中機器節點之間的帶寬資源肯定比不同機架中機器節點豐富,這也是Hadoop隨后設計數據讀寫分發策略要考慮的一個重要因素。


在實際應用中,為了使Hadoop集群獲得更高的性能,需要配置集群,使Hadoop能夠感知其所在的網絡拓撲結構——使Hadoop清晰的知道每臺機器所在的機架。

在處理MapReduce任務時,優先選擇在機架內部做數據傳輸,以充分利用網絡帶寬資源。

HDFS可以更加智能地部署數據副本,并在性能和可靠性間找到最優的平衡。


網絡的拓撲結構、機器節點及機架的網絡位置定位都是通過樹結構來描述的。

通過樹結構來確定節點間的距離,這個距離是Hadoop做決策判斷時的參考因素。

在配置Hadoop時,Hadoop會確定節點地址和其網絡位置的映射,此映射在代碼中通過Java接口DNSToSwitchMapping實現,代碼如下

public interface DNSToSwitchMapping{

public List<string> resolve(List<String> names);

}

topology.node.switch.mapping.impl中的配置參數定義了一個DNSToSwitchMapping接口的實現,NameNode通過它確定完成任務的機器節點所在的網絡位置。

系統有一個默認的接口實現ScriptBasedMapping,可以運行用戶自定義的一個腳本去完成映射。如果沒有定義映射,則將所有的機器節點映射到一個單獨的網絡位置中默認的機架上;如果定義了映射,則腳本位置由topology.script.file.name指定。

腳本獲得一批IP,生成一個標準的網絡位置。

?

?

Hadoop集群配置

Hadoop通過org.apache.hadoop.conf.configuration來讀取配置文件

Hadoop運行定義最終參數(final parameter)——不能在進程中改變

允許參數傳遞,即定義了一個參數后,進行引用 ${basedir}

hadop-env.sh ?Hadoop守護進程設置環境變量

java路徑

core-site.xml

fs.default.name

hdfs-site.xml

dfs.name.dir

dfs.data.dir

mapred-site.xml

yarn-site.xml

mapred-queues.xml ?

設置MapReduce系統的隊列順序,例如把用戶分組,賦予不同級別,優先級高的job先執行

queue的有效性依賴于mapreduce.jobtracker.taskscheduler設置的調度規則(scheduler

一些調度算法可能只需一個queue,復雜調度算法需要設置多個queue

queue的大部分修改無需重啟系統。

?

通過logs目錄下的日志文件對過往進行分析。

例如:NameNodeDataNodenamespaceID不一致

這個問題是由于兩次或兩次以上格式化NameNode造成的

兩種解決辦法:

1、刪除DataNode所有資料

2、修改每個DataNodenamespaceID ?位于dfs/data/current/VERSION文件中

NameNodenamespaceID ?位于dfs/name/current/VERSION文件中

?

實際應用場景:

重啟壞掉的DataNodeJobTracker

動態加入DataNodeTaskTracker

hadoop-daemon.sh --config ./conf start datanode

hadoop-daemon.sh --config ./conf start tasktracker

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

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

相關文章

局域網訪問控制

訪問局域網內其他機器可用如下方式&#xff1a; \\PC-name\d$\dir 或者 \\192.168.xxx.xxx\d$\dir d代表d盤 但前提是對方機器已經把本機用戶設置為管理員賬戶轉載于:https://www.cnblogs.com/jimmy-c/p/4116804.html

Unity3d 插值同步

文中大體的思路&#xff1a; A玩家 移動時&#xff0c;本機自行移動&#xff0c;并發送移動指令給服務端&#xff0c;假設移動是成功的&#xff0c;服務端同步其他客戶端 B玩家&#xff0c;B玩家 中用一個隊列 Queue 來裝服務端來的移動指令&#xff0c;然后客戶端在updata中做…

laravel數據庫相關操作說明

輸出原生sql: DB::table(users)->where([[name,,張三]])->toSql(); //輸出sql為&#xff1a;select * from users where name?; DB::table(users)->where([[name,,張三]])->getQuery(); //輸出sql為&#xff1a;select * from users where name張三; 運行原生sql查…

1 數據挖掘基礎

1.1 什么是數據挖掘 從大量數據中挖掘出隱含的、未知的、對決策有潛在價值的關系、模式和趨勢&#xff0c;并用這些知識和規則建立用于決策支持的模型&#xff0c;提供預測性決策支持的方法、工具和過程&#xff0c;這就是數據挖掘。 是統計學、數據庫技術、人工智能技術的結…

R文件報錯的原因

一般R文件報錯&#xff0c;無非是資源文件錯誤&#xff0c;圖片命名錯誤&#xff0c;但是編譯都會報錯&#xff0c;可以很快解決。但是前幾天&#xff0c;引入一個第三方aar包后&#xff0c;項目編譯正確&#xff0c;但是就是R文件報錯&#xff0c;找不到R文件&#xff0c;整個…

1.0 算法本機調試方法

算法的本機調試方法&#xff1a; 從本地文件中讀取測試數據&#xff0c;進行算法調試。 例&#xff1a;讀取兩個數&#xff0c;輸出和。 1 2 11 22 111 222 輸出&#xff1a; 3 33 333 #include <fstream> //讀取本地文件需要此頭文件。調試完成后&#xff0c;提…

[轉]Excel數據轉化為sql腳本

在實際項目開發中&#xff0c;有時會遇到客戶讓我們把大量Excel數據導入數據庫的情況。這時我們就可以通過將Excel數據轉化為sql腳本來批量導入數據庫。 1 在數據前插入一列單元格&#xff0c;用來拼寫sql語句。 具體寫法&#xff1a;"insert into t_student (id,name,age…

void Update ( ) 更新 void FixedUpdate ( )

void Update ( ) 更新 void FixedUpdate ( ) 固定更新 相同點&#xff1a;當MonoBehaviour啟用時&#xff0c;其在每一幀被調用&#xff0c;都是用來更新的。 異同點&#xff1a;第一點不同&#xff1a; Update()每一幀的時間不固定&#xff0c;即第一幀與第二幀的時間間隔t…

海量數據庫的查詢優化及分頁算法方案(一)

隨著“金盾工程”建設的逐步深入和公安信息化的高速發展&#xff0c;公安計算機應用系統被廣泛應用在各警種、各部門。與此同時&#xff0c;應用系統體系的核心、系統數據的存放地――數據庫也隨著實際應用而急劇膨脹&#xff0c;一些大規模的系統&#xff0c;如人口系統的數據…

【點分治】luoguP2664 樹上游戲

應該是一道中等難度的點分&#xff1f;麻煩在一些細節。 題目描述 lrb有一棵樹&#xff0c;樹的每個節點有個顏色。給一個長度為n的顏色序列&#xff0c;定義s(i,j) 為i 到j 的顏色數量。以及 現在他想讓你求出所有的sum[i] 輸入輸出格式 輸入格式&#xff1a; 第一行為一個整數…

EasyJoyStick使用以及兩種操作桿 EasyJoyStick的使用方法,簡單的不能再簡單 Hedgehog Team-》Easy Touch -》Add Easy Touch For C#

EasyJoyStick使用以及兩種操作桿EasyJoyStick的使用方法&#xff0c;簡單的不能再簡單Hedgehog Team-》Easy Touch -》Add Easy Touch For C#Hedgehog Team-》Easy Touch -》Extensions-》Adding A New Joystick配置如圖&#xff1a;然后看一下配置&#xff0c;我喜歡掌控性強一…

2.1 vector

表結構的數組實現隨機訪問快速尾插動態調整所占內存空間#include<vector>從0開始計數創建vector對象的三種方法&#xff1a; 1. vector<int> v;2. vector<int> v(10); //默認值為03. vecotr<double> v(10,8.6); //為每個元素指定初始值尾插&#xff1a…

文件系統管理 之 文件和目錄訪問權限設置

一、文件和目錄權限概述 在linux中的每一個文件或目錄都包含有訪問權限&#xff0c;這些訪問權限決定了誰能訪問和如何訪問這些文件和目錄。 通過設定權限可以從以下三種訪問方式限制訪問權限&#xff1a;只允許用戶自己訪問&#xff1b;允許一個預先指定的用戶組中的用戶訪問&…

Web滲透實驗:基于Weblogic的一系列漏洞

1. 攻擊機windows10 192.168.2.104 2. 靶機ip: 192.168.2.109(linux Ubantu) 192.168.2.111(windows2008R264位) 第一步&#xff1a;啟動靶機服務 分別為linux和windows windows環境搭建&#xff1a; 鏈接&#xff1a;https://pan.baidu.com/s/16KyYb1v1rP9uJ6-5MBotVw   提取…

9 月 19 日,騰訊云安全中心監測到 ?Apache Tomcat 修復了2個嚴重級別的漏洞, 分別為: 信息泄露漏洞(CVE-2017-12616)、遠程代碼執行漏洞(CVE-2017-12615

9 月 19 日&#xff0c;騰訊云安全中心監測到 Apache Tomcat 修復了2個嚴重級別的漏洞&#xff0c; 分別為&#xff1a; 信息泄露漏洞&#xff08;CVE-2017-12616&#xff09;、遠程代碼執行漏洞&#xff08;CVE-2017-12615&#xff09;&#xff0c;在某些場景下&#xff0c;攻…

2.0 STL泛型編程

Standard Template Library 在命名空間std中定義了常用的數據結構和算法 三種類型的組件&#xff1a; 容器&#xff1a; ——vector、string ——set、multiset、map、multimap ——list ——bitset ——stack ——deque、queue、priority_queue 迭代器 算法&…

SQL聯合更新

update CCTDB..Area_Infoset ParentStrb.ParentStrfrom CCTDB..Area_Info a inner join TempArea bon a.AreaId b.AreaId轉載于:https://www.cnblogs.com/davidgu/archive/2012/08/10/2631289.html

集合之ArrayList(含JDK1.8源碼分析)

一、ArrayList的數據結構 ArrayList底層的數據結構就是數組&#xff0c;數組元素類型為Object類型&#xff0c;即可以存放所有類型數據。我們對ArrayList類的實例的所有的操作(增刪改查等)&#xff0c;其底層都是基于數組的。 定義底層數據結構&#xff1a;Object[] elementDat…

2.2 string

字符數組的封裝 基本操作與vector很像&#xff0c;它們內部采用的都是數組結構 #include<string> 創建string對象&#xff1a; string s; 給string對象賦值&#xff1a; 方式一&#xff1a;s"i love coding"; 方式二&#xff1a; char a[256]; scanf(&qu…

Unity3D 自動打包整個項目(以AssetBundle實現)

需求&#xff1a; 在移動開發中&#xff0c;手動控制資源的加載、釋放和熱更新&#xff0c;是很有必要的。 而Unity通過AssetBundle可以實現該需求&#xff0c;但是如果項目資源多起來的話一個個手動打包成AssetBundle則很麻煩。 而本文正為此提供一套一鍵打包的方案。 資源分…