Hadoop分散式集群的搭建

来源:https://www.cnblogs.com/163yun/archive/2018/04/24/8929093.html
-Advertisement-
Play Games

本文由 網易雲 發佈。 上一篇文章介紹瞭如何搭建Hadoop偽分散式集群,本篇將向大家介紹下Hadoop分散式集群的搭建。內容淺顯,但能夠為新手們提供 一個參考,讓像我一樣的小白們對Hadoop的環境能夠有一定的瞭解。 本文由 網易雲 發佈。 上一篇文章介紹瞭如何搭建Hadoop偽分散式集群,本篇將 ...


本文由  網易雲 發佈。    上一篇文章介紹瞭如何搭建Hadoop偽分散式集群,本篇將向大家介紹下Hadoop分散式集群的搭建。內容淺顯,但能夠為新手們提供 一個參考,讓像我一樣的小白們對Hadoop的環境能夠有一定的瞭解。   環境: 系統環境:CentOS7.3.1611 64位 Java版本:OpenJDK 1.8.0 使用兩個節點作為集群環境:一個作為Master節點,另一個作為Slave節點   集群搭建流程: Hadoop集群的安裝配置主要流程如下: (1)選定一臺機器作為Master; (2)在Master節點上配置hadoop用戶、Java環境及安裝SSH server; (3)在 Master 節點上安裝 Hadoop,完成配置; (4)其餘機器作為Slave節點,同理,在 Slave 節點上配置 hadoop 用戶、Java環境、安裝 SSH Server; (5)將 Master 節點上的Hadoop安裝目錄內容複製到其他 Slave 節點上; (6)在 Master 節點上開啟 Hadoop;   以上步驟中,配置hadoop用戶、Java環境,安裝SSH server,安裝Hadoop的步驟在《Hadoop單機/偽分散式集群搭建(新手向)》 一文中做了比較詳細的介紹,大家可以參照此文中的步驟來:http://ks.netease.com/blog?id=8333。   集群所有的節點都需要位於同一個區域網,因此在完成上述步驟的前4步驟後,先進行以下的網路配置,實現節點間的互連。   網路配置   本文使用的是VMware虛擬機安裝的系統,所以只需要更改網路連接方式為橋接(Bridge)模式,便能實現節點互連。如圖: 配置完成後可以在各個節點上查看節點的ip,Linux中查看節點IP地址的命令為:ifconfig,如下圖所示,Master節點的ip為10.240.193.67: 網路配置完成後,便可進行hadoop分散式集群的配置了。 為了能夠方便的區分Master和Slave,我們可以修改節點的主機名用以區分。在CentOS7中,我們在Master節點上執行以下命令來修改 主機名: sudo vim /etc/hostname 將主機名修改為Master: 同理,修改Slave節點的主機名為Slave。 然後,在Master和Slave節點上都執行如下命令修改IP映射,添加所有節點的IP映射: sudo vim /etc/hosts 本文中使用的兩個節點的名稱與對應IP關係如下: 修改完成後需要重啟節點,使得以上配置生效。可以在各個節點上ping其他節點的主機名,若能ping通說明配置成功。 SSH無密碼登陸節點 分散式集群搭建需要Master節點能夠無密碼SSH登陸至各個Slave節點上。因此,我們需要生成Master節點的公鑰,並將Master公鑰 在Slave節點中加入授權。步驟如下:   (1)首先生成Master節點的公鑰,執行如下命令: cd ~/.ssh --若無該目錄,先執行ssh localhost rm ./id_rsa* --若已生成過公鑰,則刪除原有的公鑰 ssh-keygen -t rsa --一路回車   (2)Master節點需能無密碼SSH登陸本機,在Master節點上執行命令: cat ./id_rsa.pub >> ./authorized_keys chmod 600 ./authorized_keys   若不執行修改許可權,會出現以下問題,仍無法實現無密碼SSH登陸本機。 完成後,執行ssh Master驗證是否可以無密碼SSH登陸本機,首次登陸需要輸入yes,輸入exit即可退出登陸。 上述scp命令遠程將Master節點的公鑰拷貝至了Slave節點的/home/hadoop目錄下,執行過程中會要求輸入Slave節點hadoop用戶的密 碼,輸入完成後會顯示傳輸的進度:   (4)在Slave節點上,將Master節點的ssh公鑰加入授權,執行命令: ssh localhost --執行該命令是為了生成~/.ssh目錄,或者mkdir ~/.ssh創建 cat ~/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys (5)至此,已經完成 了Master節點無密碼SSH登陸到Slave節點的配置。在Master節點上輸入命令:ssh Slave 進行驗證,登陸成功如下 圖:   配置hadoop分散式環境 配置hadoop分散式環境需要修改hadoop中的五個配置文件,分別為:slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、 yarn-site.xml。具體的配置項及作用可以參考官網的說明,這裡對正常啟動分散式集群所必須的配置項進行配置。 1、slaves 將作為DataNode節點的主機名寫入文件。該文件預設為localhost,因此偽分佈配置時,節點是NameNode的同時也是 DataNode。localhost可以刪除有可以保留。本文Master僅作為NameNode節點,Slave作為DataNode節點,因此刪除localhost。 2、core-site.xml   3、hdfs-site.xml 由於只有一個Slave節點,所有dfs.replication的值設為1。   4、mapred-site.xml 預設文件名為mapred-site.xml.template,重命名為mapred-site.xml後,修改配置。 5、yarn-site.xml   配置完成後,將Master上的hadoop文件夾複製到Slave節點上相同路徑下(/usr/local/),並修改文件夾的owner為hadoop。 接著便可啟動分散式hadoop集群了,啟動集群前需要先關閉集群中每個節點的防火牆,否則會引起DataNode啟動了,但Live datanode為0。   啟動分散式集群 首次啟動需要先在Master節點執行NameNode的格式化,命令: hdfs namenode -format 然後啟動hadoop,hadoop的啟動與關閉需要在Master節點上進行。 啟動hadoop,執行hadoop/sbin中的啟動腳本 cd /usr/local/hadoop/sbin ./start-dfs.sh ./start-yarn.sh ./mr-jobhistory-daemon.sh start historyserver 在Slave節點中可以看到NodeManager和DataNode進程,如圖。 任一進程缺少都表示啟動出錯。同時,我們還需要在Master節點通過命令hdfs dfsadmin -report查看DataNode是否正常啟動,如果 Live datanode為0,則說明啟動失敗。由於我們只配置了一個DataNode,所以顯示Live datanode為1,如圖。     我們還可以通過web頁面查看DataNode和NameNode的狀態:http://master:50070 接著我們便可以執行分散式實例了,我們啟動了mr-jobhistory服務,可以通過Web頁http://master:8088/cluster,點擊Tracking UI 中的history查看任務運行信息。   關閉hadoop集群   在Master節點上執行腳本: stop-yarn.sh Stop-dfs.sh Mr-jobhistory-daemon.sh stop historyserver    

網易有數

企業級大數據可視化分析平臺。面向業務人員的自助式敏捷分析平臺,採用PPT模式的報告製作,更加易學易用,具備強大的探索分析功能,真正幫助用戶洞察數據發現價值。

點擊這裡---免費試用。

 

瞭解 網易雲 :
網易雲官網:https://www.163yun.com/
新用戶大禮包:https://www.163yun.com/gift
網易雲社區:https://sq.163yun.com/
   
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 起因:想修改一下自己電腦上的MySQL的 long_query_time 值,以此來測試 MySQL的慢查詢功能。 可是,無論怎麼改,show variables like 'long_query_time' 命令的結果依然是10(如下圖),修改之後,重啟MySQL依然沒用。 解決方法:最後發現 m ...
  • NoSQL介紹 NoSQL,即not only sql,泛指非關係型資料庫 關係型資料庫,保證數據的完整性、關聯性 id   name   age   salary 非關係型資料庫,不保證數據的完整性、關聯性,對數據的讀寫操作效率高 保證鍵值存儲:key= value ...
  • 以上為資料庫中存儲過程傳入參數為table類型 table類型在資料庫中存在為: 最後在C 實現方式為: ...
  • 超強、超詳細Redis入門教程 轉載 2017年03月04日 16:20:02 轉載 2017年03月04日 16:20:02 轉載自: http://www.h5min.cn/article/56448.htm 這篇文章主要介紹了超強、超詳細Redis入門教程,本文詳細介紹了Redis資料庫各個方 ...
  • 資料庫學習番外篇 神奇的Redis 由於最近呢小猿我找到了自己的女神,所以整個學習計劃都被打亂了,本來想著一天看一張《SQLServer寶典》的。沒成想,我竟然脫離了單身狗的隊伍。 最近準備重新開始我的學習計劃,同時還要準備項目管理的考試,之前還看了幾章python的內容,我知道同時開展所有內容是不 ...
  • 假如一個SQL Server實例只允許“SQL身份認證”模式登錄資料庫,而糟糕的是你忘記了sa的密碼(sa出於安全考慮應該被禁用,這裡僅僅為了描述問題)或其它具有sysadmin角色的登錄名的密碼?個人就遇到這樣一個案例,HK一同事在一臺測試伺服器安裝了一個測試用途的SQL Server資料庫,然後... ...
  • 1.下載 mongodb 安裝包 2.在磁碟 創建 mongdb文件夾 data 文件夾(db空文件夾) log 空文件夾 mongod.cfg 配置文件 cfg 配置文件指定日誌存放路徑 以及 db存放路徑 3.cmd 命令切入到 mongodb安裝目錄 bin 文件夾下 4 .輸入指令 D:\P ...
  • 在編寫程式時,資料庫結構會經常變化,所以經常需要編寫一些資料庫腳本,編寫完成後需發往現場執行,如果已經存在或者重覆執行,有些腳本會報錯,所以需要判斷其是否存在,現在我就把經常用到的一些判斷方法和大家分享下: 一。判斷Oracle表是否存在的方法 二。判斷Oracle表中的列是否存在的方法 三。判斷O ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...