大數據學習(1)Hadoop安裝

来源:http://www.cnblogs.com/huqiaoblog/archive/2017/12/16/8042205.html
-Advertisement-
Play Games

集群架構 Hadoop的安裝其實就是HDFS和YARN集群的配置,從下麵的架構圖可以看出,HDFS的每一個DataNode都需要配置NameNode的位置。同理YARN中的每一個NodeManager都需要配置ResourceManager的位置。 NameNode和ResourceManager的 ...


集群架構

Hadoop的安裝其實就是HDFS和YARN集群的配置,從下麵的架構圖可以看出,HDFS的每一個DataNode都需要配置NameNode的位置。同理YARN中的每一個NodeManager都需要配置ResourceManager的位置。

NameNode和ResourceManager的作用如此重要,在集群環境下,他們存在單點問題嗎?在Hadoop1.0中確實存在,不過在2.0中已經得到解決,具體參考:

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.html

https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-name-node/index.html

 

 

 

 

 

配置

因為每台機器上的配置都是一樣的,所以配置時一般是配置好一臺伺服器,然後複製到其他伺服器上。

JAVA_HOME

在hadoop-env.sh文件中配置JAVA_HOME.

core-site.xml

配置hdfs文件系統,通過fs.defaultFS配置hdfs的NameNode節點。

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://{hdfs-name-node-server-host}:9000</value>
</property>

通過hadoop.tmp.dir配置hadoop運行時產生文件的存儲目錄

<property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop-data/tmp</value>
</property>

 

hdfs-site.xml

配置文件副本數量和second namenode

<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
        
<property>
    <name>dfs.secondary.http.address</name>
    <value>{second-namenode-host}:50090</value>
</property>

 

yarn-site.xml

配置YARN的ResourceManager:

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>{resource-manager-host}</value>
</property>

和reducer獲取數據的方式:

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

 

最後記得把hadoop的bin和sbin目錄添加到環境變數中:

export HADOOP_HOME=/user/local/hadoop-2.6.5
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 

格式化namenode

hdfs namenode -format (hadoop namenode -format)

 

啟動Hadoop

先啟動HDFS的NameNode:

 hadoop-daemon.sh start datanode

在集群的DataNode上啟動DataNode:

 hadoop-daemon.sh start datanode

查看啟動結果

[root@server1 ~]# jps
2111 Jps
2077 NameNode

如果啟動成功,通過http://server1:50070,可以看到類似下麵的頁面:

 


再啟動YARN

[root@vcentos1 sbin]# start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /usr/local/hadoop-2.6.5/logs/yarn-root-resourcemanager-vcentos1.out
vcentos3: starting nodemanager, logging to /usr/local/hadoop-2.6.5/logs/yarn-root-nodemanager-vcentos3.out
vcentos2: starting nodemanager, logging to /usr/local/hadoop-2.6.5/logs/yarn-root-nodemanager-vcentos2.out
[root@server1 sbin]# jps
2450 ResourceManager
2516 Jps
2077 NameNode

hadoop下的sbin目錄下的文件是用來管理hadoop服務的:

hadoop-dameon.sh:用來單獨啟動namenode或datanode;

start/stop-dfs.sh:配合/etc/hadoop/slaves,可以批量啟動/關閉NameNode和集群中的其他DataNode;

start/stop-yarn.sh:配合/etc/hadoop/slaves,可以批量啟動/關閉ResourceManager和集群中的其他NodeManager;

bin目錄下的文件可以提供hdfs、yarn和mapreduce服務:

[root@server1 bin]# hadoop fs 
Usage: hadoop fs [generic options]
        [-appendToFile <localsrc> ... <dst>]
        [-cat [-ignoreCrc] <src> ...]
        [-checksum <src> ...]
        [-chgrp [-R] GROUP PATH...]
        [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
        [-chown [-R] [OWNER][:[GROUP]] PATH...]
        [-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>]
        [-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
        [-count [-q] [-h] <path> ...]
        [-cp [-f] [-p | -p[topax]] <src> ... <dst>]
        [-createSnapshot <snapshotDir> [<snapshotName>]]
        [-deleteSnapshot <snapshotDir> <snapshotName>]
        [-df [-h] [<path> ...]]
        [-du [-s] [-h] <path> ...]
        [-expunge]
        [-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
        [-getfacl [-R] <path>]
        [-getfattr [-R] {-n name | -d} [-e en] <path>]
        [-getmerge [-nl] <src> <localdst>]
        [-help [cmd ...]]
        [-ls [-d] [-h] [-R] [<path> ...]]
        [-mkdir [-p] <path> ...]
        [-moveFromLocal <localsrc> ... <dst>]
        [-moveToLocal <src> <localdst>]
        [-mv <src> ... <dst>]
        [-put [-f] [-p] [-l] <localsrc> ... <dst>]
        [-renameSnapshot <snapshotDir> <oldName> <newName>]
        [-rm [-f] [-r|-R] [-skipTrash] <src> ...]
        [-rmdir [--ignore-fail-on-non-empty] <dir> ...]
        [-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
        [-setfattr {-n name [-v value] | -x name} <path>]
        [-setrep [-R] [-w] <rep> <path> ...]
        [-stat [format] <path> ...]
        [-tail [-f] <file>]
        [-test -[defsz] <path>]
        [-text [-ignoreCrc] <src> ...]
        [-touchz <path> ...]
        [-usage [cmd ...]]

 

 


 

參考:

最新安裝文檔:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html

2.6.5安裝文檔:http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/SingleCluster.html

Secondary Namenode:http://blog.madhukaraphatak.com/secondary-namenode---what-it-really-do/

 


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

-Advertisement-
Play Games
更多相關文章
  • Lazy Load也叫惰性載入,延遲載入,顧名思義,就是在圖片未到達可視區域時,不載入圖片,我們常常在很多的優秀網站上看到類似的例子,例如迅雷、土豆、優酷等,由於一個網頁的圖片非常多,一次性載入增加伺服器壓力,而且用戶未必會拉到底部,浪費用戶流量,Lazy Load採用按需載入,更快的載入速度從而達 ...
  • 【學習實踐用】 後臺:nodejs 前臺:vue2 式樣:uiKit 圖表:echarts 存儲:json文件 打包:webpack 功能:調查問卷的添加,修改,投票以及結果查看 ...
  • 在ios或android如果直接用webview在打開H5鏈接例如: 打開:http://localhost:8080/#/answer?id=1509335039582001 會變成 http://localhost:8080/ 造成根本打開不了想要的頁面(微信中獲取網頁授權的時候有#號也會有問題 ...
  • Js阻塞機制,跟Js引擎的單線程處理方式有關,每個window一個JS線程。所謂單線程,在某個特定的時刻只有特定的代碼能夠被執行,並阻塞其它的代碼。 由於瀏覽器是事件驅動的(Event driven),因此瀏覽器中很多行為是非同步(Asynchronized)的,很容易有事件被同時或者連續觸發。當非同步 ...
  • accept表示打開的系統文件目錄;capture表示的是系統所捕獲的預設設備,camera:照相機;camcorder:攝像機;microphone:照相+攝像。 如果不加上capture,則只會顯示相應的,例如上述三種依次是:拍照或圖庫,錄像或圖庫,錄像或拍照或圖庫,加上capture之後不會調 ...
  • javascrpit面向對象之綜合 這一章是對前幾章的一個總結,通過一個案例來綜合認識javascript面向對象的基本用法 需求: 幾乎所有的web應用都需要保存數據一些到本地,那麼我們就來做一個數據儲存器吧。 詳細需求需求: 當本地儲存有數據時,取用本地的數據,沒有時使用預設的數據 判斷本地的數 ...
  • REST即表述性狀態傳遞(英文:Representational State Transfer,簡稱REST)是Roy Fielding博士在2000年他的博士論文中提出來的一種軟體架構風格 ...
  • HP-Socket是一套通用的高性能TCP/UDP/HTTP 通信框架,包含服務端組件、客戶端組件和Agent組件,廣泛適用於各種不同應用場景的TCP/UDP/HTTP通信系統,提供C/C++、C#、Delphi、E(易語言)、Java、Python等編程語言介面。HP-Socket對通信層完全封裝... ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...