hadoop的單機(jī)模式玷禽、偽分布式鞍历、完全分布式
1丰介、單機(jī)(非分布式)模式
這種模式是在一臺(tái)單機(jī)上運(yùn)行背蟆,沒(méi)有分布式文件系統(tǒng),而是直接讀寫(xiě)本地操作系統(tǒng)的文件系統(tǒng)
2哮幢、偽分布式運(yùn)行模式
這種模式也是在一種單機(jī)上運(yùn)行带膀,使用不同的java進(jìn)程模仿分布式運(yùn)行中的各類(lèi)節(jié)點(diǎn),namenode橙垢、datanode垛叨、jobtracker、tasktracker柜某、secondnamenode
2.1從分布式存儲(chǔ)的角度來(lái)說(shuō)
集群中的結(jié)點(diǎn)由一個(gè)NameNode和若干個(gè)DataNode組成,另有一個(gè)SecondaryNameNode作為NameNode的備份嗽元。
2.2從分布式應(yīng)用的角度來(lái)說(shuō)
集群中的結(jié)點(diǎn)由一個(gè)JobTracker和若干個(gè)TaskTracker組成敛纲,JobTracker負(fù)責(zé)任務(wù)的調(diào)度,TaskTracker負(fù)責(zé)并行執(zhí)行任務(wù)剂癌。TaskTracker必須運(yùn)行在DataNode上淤翔,這樣便于數(shù)據(jù)的本地計(jì)算。
JobTracker和NameNode則無(wú)須在同一臺(tái)機(jī)器上佩谷。一個(gè)機(jī)器上旁壮,既當(dāng)namenode,又當(dāng)datanode,或者說(shuō) 既 是jobtracker,又是tasktracker谐檀。沒(méi)有所謂的在多臺(tái)機(jī)器上進(jìn)行真正的分布式計(jì)算抡谐,故稱(chēng)為"偽分布式"。
3稚补、完全分布式
真正的分布式童叠,由3個(gè)以上的實(shí)體機(jī)或者虛擬機(jī)組建的機(jī)群。
hadoop偽分布式的搭建
1课幕、下載JDK并配置環(huán)境變量
官網(wǎng)下載JDK厦坛,安裝的時(shí)候注意,安裝路徑不要有空格乍惊。若是安裝在program files下杜秸,在java_home環(huán)境變量配置的時(shí)候,可以用program~1代替他润绎。
注意G说!莉撇! jdk版本不要太高呢蛤,下載最新版本的yarn無(wú)法啟動(dòng),換成jdk8就行了棍郎。其障。。
2涂佃、下載hadoop鏡像
地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/
本次下載的版本是hadoop-3.1.2.tar.gz
下載完成之后解壓励翼,同時(shí)也要保證存儲(chǔ)目錄不要有中文和空格。
前兩步完成之后可以在命令行查看辜荠。
java --version
Hadoop --version
3汽抚、下載win專(zhuān)用的二進(jìn)制的hadoop.dill和winutils
直接去github查找對(duì)應(yīng)版本的。
4伯病、修改etc目錄下的core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
5造烁、修改hdfs-site.xml配置文件
<configuration>
<!-- 這個(gè)參數(shù)設(shè)置為1,因?yàn)槭菃螜C(jī)版hadoop -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/C:/hadoop-3.1.2/data/namenode</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>/C:/hadoop-3.1.2/data/snn</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>/C:/hadoop-3.1.2/data/snn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/C:/hadoop-3.1.2/data/datanode</value>
</property>
</configuration>
6、修改mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
7惭蟋、修改yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hahoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>8</value>
</property>
</configuration>
8叠纹、節(jié)點(diǎn)格式化
CMD窗口切換到hadoop下的bin目錄,在執(zhí)行
hdfs namenode -format
9敞葛、啟動(dòng)hadoop
經(jīng)入hadoop目錄下的sbin目錄執(zhí)行 start-all.cmd,之后再web界面查看hdfs信息可以在瀏覽器輸入http://localhost:9870/ 查看namenode与涡,以及http://localhost:8088
10惹谐、安裝中遇到的問(wèn)題
1、yarn 無(wú)法啟動(dòng) 驼卖,原因是jdk版本過(guò)高氨肌,折騰了好久,換成了jdk8就解決了酌畜。
2怎囚、nodemanager無(wú)法啟動(dòng),錯(cuò)誤提示:org.apache.hadoop.yarn.exceptions.YarnRuntimeException: Permissions incorrectly set for dir /tmp/hadoop-wangz/nm-local-dir/nmPrivate, should be rwx------, actual value = rwxrwx---
最后google了一下桥胞,用管理員權(quán)限運(yùn)行start-yarn.cmd恳守,開(kāi)啟成功。