Hadoop安裝

1.Hadoop

廣義:以hadoop軟件為主的生態(tài)圈

狹義:hadoop軟件

hadoop 1.x

hdfs 存儲(chǔ)數(shù)據(jù)

mapreduce 分布式計(jì)算以及任務(wù)調(diào)度

hadoop 2.x

hdfs? 存儲(chǔ)數(shù)據(jù) 分布式文件系統(tǒng)

mapreduce 分布式計(jì)算 開發(fā)難度高、計(jì)算慢(使用磁盤shuffle) 生產(chǎn)使用hive/spark

yarn 資源+job調(diào)度管理系統(tǒng)

在部署hadoop的過程中换棚,一般不使用源碼部署式镐,使用CDH、ambari固蚤、hdp部署

CDH的hadoop與Apache的 Hadoop的區(qū)別:CDH修復(fù)Hadoop的bug娘汞。

2.安裝部署hadoop

添加hadoop用戶

[root@i-8ejfksrr ~]# useradd hadoop

配置hadoop的無密碼登陸

[root@i-8ejfksrr ~]# cat /etc/sudoers |grep hadoop

[root@i-8ejfksrr ~]# vim /etc/sudoers

在文件中添加:hadoop? ALL=(ALL)? ? ? NOPASSWD: ALL

修改主機(jī)名稱

[root@i-8ejfksrr ~]# vim /etc/hosts

修改內(nèi)容為:127.0.1.1? ? ? hadoop001

[root@i-8ejfksrr ~]# vim /etc/sysconfig/network

修改內(nèi)容如下:

NETWORKING=yes

HOSTNAME=hadoop001

登陸hadoop用戶:

[root@hadoop001 ~]# su - hadoop

創(chuàng)建存放hadoop文件的目錄

[hadoop@hadoop001 ~]$ mkdir app

下載hadoop文件

[root@hadoop001 app]# wget http://archive-primary.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz

解壓文件:

[hadoop@hadoop001 app]$ tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz

移動(dòng)到hadoop內(nèi)部修改環(huán)境變量文件

[hadoop@hadoop001 app]$ cd hadoop-2.6.0-cdh5.7.0/etc/hadoop

[hadoop@hadoop001 hadoop]$ vim hadoop-env.sh

添加的內(nèi)容如下:

export JAVA_HOME=/usr/java/jdk1.8.0_181 (java一定要配置,在jps時(shí)會(huì)出現(xiàn)錯(cuò)誤)

export HADOOP_PREFIX=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0

啟動(dòng)hadoop 有三種模式

Local (Standalone) Mode: 單機(jī) 沒有進(jìn)程? 不用

Pseudo-Distributed Mode: 偽分布式 1臺(tái)機(jī)器 進(jìn)程? 學(xué)習(xí)

Fully-Distributed Mode: 分布式 進(jìn)程? 生產(chǎn)

修改core-site.xml文件

[hadoop@hadoop001 hadoop]$ vim core-site.xml

<configuration>

? ? <property>

? ? ? ? <name>fs.defaultFS</name>

? ? ? ? <value>hdfs://hadoop001:9000</value> <!--hadoop@hadoop001為主機(jī)名-->

? ? </property>

</configuration>

修改配置文件設(shè)置文本的復(fù)制數(shù)量

[hadoop@hadoop001 hadoop]$ vim hdfs-site.xml

修改內(nèi)容如下:

<configuration>

? ? <property>

? ? ? ? <name>dfs.replication</name>

? ? ? ? <value>1</value>

? ? </property>

</configuration>

設(shè)置無密碼登陸

如果有.ssh 文件要先刪除

[hadoop@hadoop001 ~]$ rm -rf .ssh/

[hadoop@hadoop001 ~]$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

添加信任

[hadoop@hadoop001 ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

修改文件權(quán)限

[hadoop@hadoop001 .ssh]$ ls

[hadoop@hadoop001 .ssh]$ chmod 600 authorized_keys

下載相關(guān)軟件:

[hadoop@hadoop001 app]$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

[hadoop@hadoop001 app]$ wget http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.1.tar.gz

[hadoop@hadoop001 app]$ wget https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protobuf-all-3.6.1.tar.gz

解壓文件修改配置夕玩,添加環(huán)境變量

[hadoop@hadoop001 ~]# vim .bash_profile

export MVN_HOME=/home/hadoop/app/apache-maven-3.5.4

export PROTOC_HOME=/home/hadoop/app/protobuf-3.6.1

export FINDBUGS_HOME=/home/hadoop/app/findbugs-3.0.1

export HADOOP_PREFIX=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0

export PATH=$HADOOP_PREFIX/bin:$JAVA_HOME/bin:$PATH

登陸hadoop001

[hadoop@hadoop001 ~]$ ssh hadoop001

切換到相應(yīng)目錄:

[hadoop@hadoop001 ~]$ cd ~/app/hadoop-2.6.0-cdh5.7.0/

格式化namenode

[hadoop@hadoop001 hadoop-2.6.0-cdh5.7.0]$ bin/hdfs --format

啟動(dòng)dfs

[hadoop@hadoop001 hadoop-2.6.0-cdh5.7.0]$ sbin/start-dfs.sh

使用jps查看啟動(dòng)的進(jìn)程

[hadoop@hadoop001 hadoop-2.6.0-cdh5.7.0]$ jps

5953 NameNode

6227 SecondaryNameNode

6777 Jps

6074 DataNode

通過頁面查看自己部署是否成功: http://ip:50070

可以看到界面你弦,就表示已經(jīng)安裝完成惊豺。

修改yarn的配置文件

修改etc/hadoop/mapred-site.xml

[hadoop@hadoop001 hadoop-2.6.0-cdh5.7.0]$ vi etc/hadoop/mapred-site.xml

修改的內(nèi)容如下:

<configuration>

? ? <property>

? ? ? ? <name>mapreduce.framework.name</name>

? ? ? ? <value>yarn</value>

? ? </property>

</configuration>

修改etc/hadoop/yarn-site.xml:

[hadoop@hadoop001 hadoop-2.6.0-cdh5.7.0]$ vi etc/hadoop/yarn-site.xml

修改內(nèi)容如下:

<configuration>

? ? <property>

? ? ? ? <name>yarn.nodemanager.aux-services</name>

? ? ? ? <value>mapreduce_shuffle</value>

? ? </property>

</configuration>

啟動(dòng)yarn

[hadoop@hadoop001 hadoop-2.6.0-cdh5.7.0]$? sbin/start-yarn.sh

查看yarn是否啟動(dòng)成功:

http://ip:8088/

3.jps命令解析

jps命令的位置:

[hadoop@hadoop001 hadoop-2.6.0-cdh5.7.0]$ which jps

/usr/java/jdk1.8.0_181/bin/jps

使用hadoop用戶查看jps

[hadoop@hadoop001 hadoop-2.6.0-cdh5.7.0]$ jps

16188 DataNode

16379 SecondaryNameNode

16566 Jps

16094 NameNode

使用其他用戶(root)查找jps

[root@hadoop001 ~]$ jps

16188 process information unavailable

16379 process information unavailable

16566 Jps

16094 process information unavailable

出現(xiàn)process information unavailable的處理方法

1.查找進(jìn)程號(hào) pid

2.ps -ef|grep pip 查看當(dāng)前進(jìn)程是否存在

3.假如不存在,清空殘留信息

rm -f /tmp/hsperfdata_${user}/pid文件

4.假如存在禽作,可以看到進(jìn)程屬于的用戶尸昧,切換到相應(yīng)的用戶

假如刪除rm -f /tmp/hsperfdata_${user}/pid文件

? 進(jìn)程不掛,但是jps命令不顯示了旷偿,所依賴的腳本都會(huì)有問題

相關(guān)介紹

1.數(shù)據(jù)塊大小

dfs.blocksize 默認(rèn)值為134217728字節(jié)(128M)

在存儲(chǔ)的時(shí)候烹俗,一個(gè)數(shù)據(jù)大小為128M,這個(gè)可以根據(jù)具體情況修改

需要修改hdfs-default.xml,如下:

<configuration>

? ? <property>

? ? ? ? <name>dfs.blocksize</name>

? ? ? ? <value>134217728</value>

? ? </property>

</configuration>

如果存儲(chǔ)260M的文件,假設(shè)每個(gè)文件的副本數(shù)為3,文件大小為128M萍程,實(shí)際的存儲(chǔ)空間為780M幢妄,數(shù)據(jù)塊的大小為6個(gè)。

2.HDFS架構(gòu)設(shè)計(jì)

主從架構(gòu):一個(gè)主節(jié)點(diǎn)(NameNode,NN)和多個(gè)從數(shù)據(jù)節(jié)點(diǎn)(DataNode,DN),還有一個(gè)備份節(jié)點(diǎn)(SecondaryNameNode,SNN)

NameNode(NN)

含義:文件系統(tǒng)的命令空間

包含:

1.存儲(chǔ)文件名稱

2.存儲(chǔ)文件目錄結(jié)構(gòu)

3.文件屬性(文件創(chuàng)建時(shí)間茫负,文件的權(quán)限磁浇,文件的副本數(shù))

4.文件與數(shù)據(jù)塊之間的對(duì)應(yīng)關(guān)系,在讀寫文件時(shí)朽褪,查找那個(gè)DN節(jié)點(diǎn),這個(gè)映射關(guān)系通過blockmap存儲(chǔ)

NameNode節(jié)點(diǎn)不會(huì)持久化存儲(chǔ)blockmap(映射關(guān)系),集群在啟動(dòng)時(shí)和運(yùn)行時(shí)无虚,DataNode發(fā)送blockreport給NameNode,以此NameNode在內(nèi)存中動(dòng)態(tài)存儲(chǔ)blockmap缔赠。

作用:

1.管理文件系統(tǒng)的命名空間,維護(hù)文件系統(tǒng)樹友题,以兩種文件永久保存在磁盤嗤堰。

2.命名空間鏡像文件fsimage

3.編輯日志editlog

屬性:

1.設(shè)置檢查點(diǎn)的目錄:

<configuration>

? ? <property>

? ? ? ? <name>dfs.namenode.checkpoint.dir</name>

? ? ? ? <value>file://${hadoop.tmp.dir}/dfs/namesecondary</value>

? ? </property>

</configuration>

2.設(shè)置檢查點(diǎn)操作目錄:

<configuration>

? ? <property>

? ? ? ? <name>dfs.namenode.checkpoint.edits.dir</name>

? ? ? ? <value>${dfs.namenode.checkpoint.dir}</value>

? ? </property>

</configuration>

3.設(shè)置檢查點(diǎn)檢查的周期

<configuration>

? ? <property>

? ? ? ? <name>dfs.namenode.checkpoint.check.period</name>

? ? ? ? <value>60</value>? <!--默認(rèn)為60s,可以根據(jù)需要設(shè)置-->

? ? </property>

</configuration>

SecondaryNameNode

為了存儲(chǔ)fsimage+editlog,并且定期合并fsimage(鏡像)+editlog(操作日志),形成新的fsimage,將結(jié)果推送給NameNode,作為一個(gè)檢查點(diǎn)(checkpoint)

DataNode

存儲(chǔ)數(shù)據(jù)塊和數(shù)據(jù)塊的校驗(yàn)和

DataNodeN與NameNode的底層通信使用netty,DataNode向NameNode每3秒發(fā)送一個(gè)心跳包,表明自己還存活,并且每10秒發(fā)送一個(gè)blockreport到NameNode

副本存放策略

Hadoop的默認(rèn)布局策略是在運(yùn)行客戶端的節(jié)點(diǎn)上存放第一個(gè)副本(如果客戶端在集群之外,就隨機(jī)選擇一個(gè)節(jié)點(diǎn),不過系統(tǒng)會(huì)避免選擇哪些存儲(chǔ)太慢或者太忙的節(jié)點(diǎn))。第二個(gè)副本放在與第一個(gè)不同且隨機(jī)選擇的機(jī)架節(jié)點(diǎn)上度宦。第三個(gè)副本與第二個(gè)副本放在同一個(gè)機(jī)架上踢匣,且隨機(jī)選擇另外一個(gè)節(jié)點(diǎn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末戈抄,一起剝皮案震驚了整個(gè)濱河市离唬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌划鸽,老刑警劉巖输莺,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異裸诽,居然都是意外死亡嫂用,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門丈冬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嘱函,“玉大人,你說我怎么就攤上這事埂蕊⊥” “怎么了疏唾?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)亮航。 經(jīng)常有香客問我荸实,道長(zhǎng),這世上最難降的妖魔是什么缴淋? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任准给,我火速辦了婚禮,結(jié)果婚禮上重抖,老公的妹妹穿的比我還像新娘露氮。我一直安慰自己,他們只是感情好钟沛,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布畔规。 她就那樣靜靜地躺著,像睡著了一般恨统。 火紅的嫁衣襯著肌膚如雪叁扫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天畜埋,我揣著相機(jī)與錄音莫绣,去河邊找鬼。 笑死悠鞍,一個(gè)胖子當(dāng)著我的面吹牛对室,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播咖祭,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼掩宜,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼褂策!你這毒婦竟也來了芭碍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤妓盲,失蹤者是張志新(化名)和其女友劉穎硬鞍,沒想到半個(gè)月后慧瘤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡固该,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年锅减,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伐坏。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡怔匣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情每瞒,我是刑警寧澤金闽,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站剿骨,受9級(jí)特大地震影響代芜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜浓利,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一挤庇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贷掖,春花似錦嫡秕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至牙甫,卻和暖如春掷酗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背窟哺。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工汇在, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人脏答。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像亩鬼,于是被迫代替她去往敵國(guó)和親殖告。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354