大數(shù)據(jù)學(xué)習(xí)之Hadoop

一、基礎(chǔ)概念

Hadoop包含HDFS和MapReduce冕房,HDFS實現(xiàn)分布式存儲躏啰,MapReduce實現(xiàn)數(shù)據(jù)分布式計算。
HDFS:

HDFS是由Namenode和Datanode組成耙册。Namenode負責(zé)管理文件系統(tǒng)的namespace和客戶端對文件的訪問给僵。Datanode負責(zé)管理節(jié)點上的存儲。在內(nèi)部详拙,一個文件其實分成一個或多個block帝际,這些block存儲在Datanode集合里。Namenode執(zhí)行文件系統(tǒng)的namespace操作饶辙,例如打開蹲诀、關(guān)閉、重命名文件和目錄弃揽,同時決定block到具體Datanode節(jié)點的映射脯爪。Datanode在Namenode的指揮下進行block的創(chuàng)建则北、刪除和復(fù)制。

yarn

NameNode Active
NameNode Standby
datanode
NodeManager
ResourceManager
JournalNode
QuorumPeerMain:zookeeper進程
FailoverController:NameNode故障轉(zhuǎn)移

二痕慢、安裝配置

  • 下載安裝包解壓到:/usr/local/hadoop
  • 環(huán)境變量:vim /etc/profile
export HADOOP_HOME=/usr/local/hadoop
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  • 編輯配置文件
  1. core-site.xml
  • 配置Service的URL地址尚揣、Hadoop集群臨時目錄等信息
  • 使用 fs.default.name 還是 使用 fs.defaultFS ,要首先判斷是否開啟了 NN 的HA (namenode 的 highavaliable)掖举,如果開啟了nn ha快骗,那么就用fs.defaultFS,在單一namenode的情況下塔次,就用 fs.default.name
<configuration>

        <!-- 配置HDFS的老大(namenode)的地址 -->
        <property>
                <name>fs.default.name</name>
                <value>hdfs://cluster1</value>
        </property>

        <!-- 配置hadoop運行時產(chǎn)生的文件的目錄 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/hadoop/tempdata</value>
        </property>

        <!-- 指定Zookeeper地址 -->
        <property>
                <name>ha.zookeeper.quorum</name>
                <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
        </property>

</configuration>
  1. hdfs-site.xml

配置Hadoop集群的HDFS別名方篮、通信地址、端口等信息俺叭。

<configuration>
<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>

<!-- namenode節(jié)點數(shù)據(jù)(即元數(shù)據(jù))的存放位置恭取,可以指定多個目錄實現(xiàn)容錯,多個目錄用逗號分隔 -->
<property>
  <name>dfs.namenode.name.dir</name>
  <value>/usr/local/hadoop/hadoopdata/namenode</value>
</property>

<!-- datanode節(jié)點數(shù)據(jù)(即數(shù)據(jù)塊)的存放位置 -->
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/usr/local/hadoop/hadoopdata/datanode</value>
</property>

<!-- JournalNode的元數(shù)據(jù)在JournalNode上的存放位置 -->
<property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/usr/local/hadoop/hadoopdata/journalnode</value>
</property>
          
<!-- 指定HDFS的NameService為cluster1熄守,需要和core-site.xml中保持一致 -->
<property>
  <name>dfs.nameservices</name>
  <value>cluster1</value>
</property> 

<!--cluster1中有兩個NameNode蜈垮,分別是hadoop01節(jié)點和hadoop02節(jié)點--> 
<property>
  <name>dfs.ha.namenodes.cluster1</name>
  <value>hadoop01,hadoop02</value>
</property> 
    
<!--hadoop01節(jié)點的RPC通訊地址-->
<property>
  <name>dfs.namenode.rpc-address.cluster1.hadoop01</name>
  <value>hadoop01:9000</value> 
</property>
<!--hadoop02節(jié)點的RPC通訊地址-->
<property>
  <name>dfs.namenode.rpc-address.cluster1.hadoop02</name>
  <value>hadoop02:9000</value>
</property>

<!--hadoop01的http地址-->
<property>
  <name>dfs.namenode.http-address.cluster1.hadoop01</name>
  <value>hadoop01:50070</value>
</property>
<!--hadoop02的http地址-->
<property>
  <name>dfs.namenode.http-address.cluster1.hadoop02</name>
  <value>hadoop02:50070</value>
</property>

<!-- 指定NameNode的元數(shù)據(jù)在JournalNode上的共享存儲存放位置-->
<property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://hadoop03:8485;hadoop04:8485;hadoop05:8485/cluster1</value>
</property>

<!-- 指定 cluster1 出故障時,哪個實現(xiàn)類負責(zé)執(zhí)行故障切換-->
<property>
  <name>dfs.client.failover.proxy.provider.cluster1</name>
  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>

<!-- 配置隔離機制裕照,確保在任何給定時間只有一個NameNode處于活動狀態(tài) -->
<property>
  <name>dfs.ha.fencing.methods</name>
  <value>sshfence</value>
</property>
<!-- 使用sshfence機制時需要ssh免密登錄 -->
<property>
 <name>dfs.ha.fencing.ssh.private-key-files</name>
 <value>/home/hadoop/.ssh/id_rsa</value>
</property>
<!-- 開啟高可用攒发,故障自動轉(zhuǎn)移 -->
<name>dfs.ha.automatic-failover.enabled</name>
  <value>true</value>
</property>

<!-- 指定可以通過web訪問HDFS目錄-->
<property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
</property>
<!-- 保證數(shù)據(jù)恢復(fù),通過0.0.0.0來保證內(nèi)網(wǎng)地址和外網(wǎng)地址都可以訪問-->
<property>
  <name>dfs.journalnode.http-address</name>
  <value>0.0.0.0:8480</value>
</property>
<property>
  <name>dfs.journalnode.rpc-address</name>
  <value>0.0.0.0:8480</value>
</property>

<!-- 通過ZKFailoverController來實現(xiàn)自動故障切換-->
<property>
  <name>ha.zookeeper.quorum</name>
  <value>hadoop03:2181,hadoop04:2181,hadoop05:2181</value>
</property>

</configuration>                                  
  1. map-site.xml

計算框架資源管理名稱晋南、歷史任務(wù)訪問地址等信息惠猿。

<configuration>
<!--計算任務(wù)托管的資源框架名稱-->
<property>
  <name>mapreduce.framework.name</name>    
  <value>yarn</value>
</property>
<!--配置 MapReduce JobHistory Server 地址,默認端口 1002000-->
<property>
  <name>mapreduce.jobhistory.address</name>    
  <value>0.0.0.0:10020</value>  
</property>
<!--配置 MapReduce JobHistory Server Web 地址负间,默認端仁 19888 -->
<property>
  <name>mapreduce.jobhistory.webapp.address</name>      
  <value>0.0.0.0:19888</value>      
</property>
</configuration>
  1. yarn-site.xml

配置yarn-site.xml偶妖,Hadoop 資源管理通過 YARN 來完成資源相關(guān)分配 作業(yè)的調(diào)度與監(jiān)控及數(shù)據(jù)的共
享等。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末政溃,一起剝皮案震驚了整個濱河市趾访,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌董虱,老刑警劉巖扼鞋,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異愤诱,居然都是意外死亡云头,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門淫半,熙熙樓的掌柜王于貴愁眉苦臉地迎上來溃槐,“玉大人,你說我怎么就攤上這事撮慨「吞担” “怎么了脆粥?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵砌溺,是天一觀的道長影涉。 經(jīng)常有香客問我,道長规伐,這世上最難降的妖魔是什么蟹倾? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮猖闪,結(jié)果婚禮上鲜棠,老公的妹妹穿的比我還像新娘。我一直安慰自己培慌,他們只是感情好豁陆,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著吵护,像睡著了一般盒音。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上馅而,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天祥诽,我揣著相機與錄音,去河邊找鬼瓮恭。 笑死雄坪,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的屯蹦。 我是一名探鬼主播维哈,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼登澜!你這毒婦竟也來了阔挠?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤帖渠,失蹤者是張志新(化名)和其女友劉穎谒亦,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體空郊,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡份招,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了狞甚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锁摔。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖哼审,靈堂內(nèi)的尸體忽然破棺而出谐腰,到底是詐尸還是另有隱情孕豹,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布十气,位于F島的核電站励背,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏砸西。R本人自食惡果不足惜叶眉,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望芹枷。 院中可真熱鬧衅疙,春花似錦、人聲如沸鸳慈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽走芋。三九已至绩郎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绿聘,已是汗流浹背嗽上。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留熄攘,地道東北人兽愤。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像挪圾,于是被迫代替她去往敵國和親浅萧。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容