hadoop集群namenode同時掛datanode

来源:https://www.cnblogs.com/pu20065226/archive/2018/03/20/8608128.html
-Advertisement-
Play Games

背景:(測試環境)只有兩台機器一臺namenode一臺namenode,但集群只有一個結點感覺不出來效果,在namenode上掛一個datanode就有兩個節點,弊端見最後 操作非常簡單(添加獨立節點參照:http://www.cnblogs.com/pu20065226/p/8493316.htm ...


背景:(測試環境)只有兩台機器一臺namenode一臺namenode,但集群只有一個結點感覺不出來效果,在namenode上掛一個datanode就有兩個節點,弊端見最後

操作非常簡單(添加獨立節點參照:http://www.cnblogs.com/pu20065226/p/8493316.html)

1.修改namenode節點的slave文件,增加新節點信息

 

[hadoop@hadoop-master hadoop]$ pwd
/usr/hadoop/hadoop-2.7.5/etc/hadoop
[hadoop@hadoop-master hadoop]$ cat slaves
slave1
hadoop-master
[hadoop@hadoop-master hadoop]$ 

 

 

 

2.啟動新datanodedatanodenodemanger進程

先確認namenode和當前的datanode中,etc/hoadoop/excludes文件中無待加入的主機,再進行下麵操作

[hadoop@slave2 hadoop-2.7.5]$ sbin/hadoop-daemon.sh start datanode
starting datanode, logging to /usr/hadoop/hadoop-2.7.5/logs/hadoop-hadoop-datanode-slave2.out
[hadoop@slave2 hadoop-2.7.5]$ sbin/yarn-daemon.sh start nodemanager
starting datanode, logging to /usr/hadoop/hadoop-2.7.5/logs/yarn-hadoop-datanode-slave2.out
[hadoop@slave2 hadoop-2.7.5]$
91284 SecondaryNameNode
90979 NameNode
91519 ResourceManager
41768 DataNode
41899 NodeManager
41999 Jps
[hadoop@slave2
~]$


3.在NameNode上刷新節點

 

[hadoop@hadoop-master ~]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful
[hadoop@hadoop-master ~]$sbin/start-balancer.sh

4.在namenode查看當前集群情況,

確認節點已經正常加入

 

[hadoop@hadoop-master hadoop-2.7.5]$ hdfs dfsadmin -report
Configured Capacity: 58663657472 (54.63 GB)
Present Capacity: 35990061540 (33.52 GB)
DFS Remaining: 35989540864 (33.52 GB)
DFS Used: 520676 (508.47 KB)
DFS Used%: 0.00%
Under replicated blocks: 12
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0

-------------------------------------------------
Live datanodes (2):

Name: 192.168.48.129:50010 (hadoop-master)
Hostname: hadoop-master
Decommission Status : Normal
Configured Capacity: 38588669952 (35.94 GB)
DFS Used: 213476 (208.47 KB)
Non DFS Used: 16331292188 (15.21 GB)
DFS Remaining: 22257164288 (20.73 GB)
DFS Used%: 0.00%
DFS Remaining%: 57.68%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Mon Mar 19 19:54:45 PDT 2018


Name: 192.168.48.132:50010 (slave1)
Hostname: slave1
Decommission Status : Normal
Configured Capacity: 20074987520 (18.70 GB)
DFS Used: 307200 (300 KB)
Non DFS Used: 6342303744 (5.91 GB)
DFS Remaining: 13732376576 (12.79 GB)
DFS Used%: 0.00%
DFS Remaining%: 68.41%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Mon Mar 19 19:54:46 PDT 2018

網頁查看

 

 

 

 

 

 

 

弊端(來源網路):首先NameNode將文件命名空間的狀態保存在狀態中,比如哪個文件塊在哪個datanode上,由於在較大的hadoop集群中,會存在很多文件塊,這樣就會占用NameNode很大的記憶體,所以不會浪費NameNode的計算資源 其次,對於長時間運行的集群來說,NameNode一致將命名空間的狀態變化寫入edits日誌文件,時間久了該文件也會很大,只要將NameNode的存儲規劃的合理,是不會浪費存儲的

hadoop集群重要的是保證namdenode的長期穩定運行,把datanode放在namenode上,增加了namenode的負擔,datanode占用大量的磁碟io,網路流量可能導致hdfs響應慢,錯誤率增加,要進行大量錯誤恢復,這影響集群的穩定性。

至於namenode是否浪費資源,namenode要維護整個集群的(一,二級關係)一、目錄樹,文件元信息,二、塊到數據節點的映射。對於一定規模的集群要消耗大量的記憶體,cpu資源。namenode還會把一級關係持久化到鏡像文件中,並且用編輯日誌保證數據被持久化。這也會占用大量的存儲資源,同事,有大量的datanode節點,可能還有大量的客戶端同namenode進行網路通信。綜上,namenode資源並沒浪費!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • MySQL常見錯誤代碼及代碼說明 1005:創建表失敗 1006:創建資料庫失敗 1007:資料庫已存在,創建資料庫失敗 1008:資料庫不存在,刪除資料庫失敗 1009:不能刪除資料庫文件導致刪除資料庫失敗 1010:不能刪除數據目錄導致刪除資料庫失敗 1011:刪除資料庫文件失敗 1012:不能 ...
  • 本文為mariadb官方手冊:XtraDB/InnoDB File Format的譯文。 原文:https://mariadb.com/kb/en/library/xtradbinnodb-file-format/我提交到MariaDB官方手冊的譯文:https://mariadb.com/kb/z ...
  • 有這樣的一個場景需求:有上億的用戶,要統計這批用戶的登陸情況,例如一周連續登陸,連續三天是是否登陸,一周活躍天數等用戶 存在的挑戰 如果使用文件保存 會有如下問題: 文件分割變得十分麻煩 數據檢索非常不方便 用戶關聯操作複雜 如果使用資料庫表 會有如下問題: 使用redis點陣圖進行存儲(setbit ...
  • NoSQL(NoSQL = Not Only SQL ):非關係型的資料庫。NoSQL有時也稱作Not Only SQL的縮寫,是對不同於傳統的關係型資料庫的資料庫管理系統的統稱。 今天我們可以通過第三方平臺(如:Google,Facebook等)可以很容易的訪問和抓取數據。用戶的個人信息,社交網路 ...
  • 一、安裝環境 MySQL在5.6之前和之後的安裝方式是不一樣的。 自己整理的mysql安裝,主從配置基於這篇安裝:http://www.cnblogs.com/cypress/p/8608496.html 首先保證3306埠的可用,或者關閉防火牆,兩台機子可以互相ping 二、Master的配置 ...
  • 本文為mariadb官方手冊:SET PASSWORD的譯文。 原文:https://mariadb.com/kb/en/library/set-password/我提交到MariaDB官方手冊的譯文:https://mariadb.com/kb/zh-cn/set-password/ 語法 描述 ...
  • 需求:開發要求導入某天某個表的數據,而我們的數據是全庫備份 例如: 從newbei_2017-08-31_402793782.tar.bz2中恢復表:bei_table 的數據 一、備份策略 備份全庫的數據:newbei 二、解壓 tar xvf newbei_2017-08-31_40279378 ...
  • 在安裝MySQL時總會出現一些小問題,導致安裝進度過慢,在百度搜加上自己實際操作,總結的安裝方式,共同進步 一、安裝mysql 1、下載安裝包使用wget命令安裝 2、卸載自帶的Mariadb 3、刪除etc目錄下的my.cnf 4、執行以下命令來創建mysql用戶組 5、執行以下命令來創建一個用戶 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...