Hadoop偽分布式安裝-創(chuàng)新互聯(lián)

前言:

創(chuàng)新互聯(lián)建站是一家集成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)站頁(yè)面設(shè)計(jì)、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站制作公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗(yàn),以探求精品塑造與理念升華,設(shè)計(jì)最適合用戶的網(wǎng)站頁(yè)面。 合作只是第一步,服務(wù)才是根本,我們始終堅(jiān)持講誠(chéng)信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場(chǎng)環(huán)境中,互促共生。

hadoop:存儲(chǔ)和處理平臺(tái)

hdfs:集群,NN,SNN,DN //SNN:將HDFS的日志和映像進(jìn)行合并操作

mapreduce: 集群,有中心node,jobTracker/Task tracker,

jT:集群資源管理

TT:任務(wù),map,reduce

hadoop 2.0

YARN:集群資源管理,分割

MapReduce:數(shù)據(jù)處理

RN,NM,AM //RN:資源節(jié)點(diǎn),NM:節(jié)點(diǎn)管理,AM:資源代理

container:mr任務(wù)

Tez:execution engine

MR:batch

能夠?qū)N節(jié)點(diǎn)做HA,YARN也可以高可用了

一、2.0工作模型

==================================================

A    【NM/Container A /APP M(B)】

 \ /

【RM】 --           【NM/Container B /APP M(A)】

 / \

B      【NM/Container A&A /】

client-->RM--->node1/node2/node n...

Resouce Manager: RM是獨(dú)立的

    node上運(yùn)行的有[node manager+App Master+ Container] //NM+AM

Node manager:NM,運(yùn)行在各node上,周期向RM報(bào)告node信息

clinet請(qǐng)求作業(yè):node上的Application master決定要啟動(dòng)幾個(gè)mapper 幾個(gè) reducer

    mapper和reducer 稱為 Container //作業(yè)都在容器內(nèi)運(yùn)行。

    Application master只有一個(gè),且同一個(gè)任務(wù)的APP M只在一個(gè)節(jié)點(diǎn)上,但是Container會(huì)分別運(yùn)行在多個(gè)節(jié)點(diǎn)上,并周期向APP M報(bào)告其處理狀態(tài)

    APP M向RM報(bào)告任務(wù)運(yùn)行狀況,在任務(wù)執(zhí)行完畢后,RM會(huì)把APP M關(guān)閉

        某一個(gè)任務(wù)故障后,由App M進(jìn)行管理,而不是RM管理

RM是全局的,NM在每一個(gè)節(jié)點(diǎn)上是唯一的,一個(gè)程序的AM只有一個(gè),但是contianer需要在多個(gè)node上

Hadoop 1.0 和 2.0

1.0 2.0

================ =================

/MR/Pig/Hive|

pig/Hive/Others [Tez ]RT/Service(HBase)

[MapReduce ] [YARN ]

[HDFS ] [HDFS2 ]

在Hadoop v1的時(shí)候:

Mapreduce是:

1.開發(fā)API

2.運(yùn)行框架

3.運(yùn)行環(huán)境

二、Hadoop的安裝

1.單機(jī)模型:測(cè)試使用

2.偽分布式模型:運(yùn)行于單機(jī)

3.分布式模型:集群模型

Hadoop:基于java語(yǔ)言,需要依賴于jvm

hadoop-2.6.2:jdk 1.6+

hadoop-2.7 jdk 1.7+

1.環(huán)境

vim /etc/profile.d/java.sh

JAVA_HOME=/usr

yum install java-1.8.0-openjdk-devel.x86_64

每一個(gè)java程序在運(yùn)行的時(shí)候,都會(huì)啟動(dòng)一個(gè)jvm,需要配置其堆內(nèi)存。

新生代,老年代,持久代 //垃圾收集器

slaves:

一個(gè)DN;data node,對(duì)于yarn來(lái)說是node manager

tar xvf hadoop-2.6.2.tar.gz -C /bdapps/

cd /bdapps/

ln -sv hadoop-2.6.2/ hadoop

cd hadoop

vim /etc/profile.d/hadoop.sh

export HADOOP_PREFIX=/bdapps/hadoop export PATH=$PATH:${HADOOP_PREFIX}/bin:${HADOOP_PREFIX}/sbin export HADOOP_YARN_HOME=${HADOOP_PREFIX} export HADOOP_MAPPERD_HOME=${HADOOP_PREFIX} export HADOOP_COMMON_HOME=${HADOOP_PREFIX} export HADOOP_HDFS_HOME=${HADOOP_PREFIX}

. /etc/profile.d/hadoop.sh

2.創(chuàng)建運(yùn)行Hadoop進(jìn)程的用戶和相關(guān)目

[root@node2 hadoop]# groupadd hadoop [root@node2 hadoop]# useradd -g hadoop yarn [root@node2 hadoop]# useradd -g hadoop hdfs [root@node2 hadoop]# useradd -g hadoop mapred 創(chuàng)建數(shù)據(jù)和日志目錄 [root@node2 hadoop]# mkdir -pv /data/hadoop/hdfs/{nn,snn,dn} [root@node2 hadoop]# chown -R hdfs:hadoop /data/hadoop/hdfs/ [root@node2 hadoop]# cd /bdapps/hadoop [root@node2 hadoop]# mkdir logs [root@node2 hadoop]# chmod g+w logs [root@node2 hadoop]# chown -R yarn:hadoop ./*

3.配置hadoop

core-site.xml包含了NameNode主機(jī)地址以及監(jiān)聽RPC端口信息,對(duì)于偽分布式模型的安裝來(lái)說,其主機(jī)地址為localhost,NameNode默認(rèn)使用的RPC端口為8020

vim etc/hadoop/core-site.xml

<configuration>     <property>         <name>fs.defaultFS</name>         <value>hdfs://localhost:8020</value>         <final>true</final>     </property> </configuration>

配置hdfs的相關(guān)屬性:例如復(fù)制因子(數(shù)據(jù)塊的副本)、NN和DN用于存儲(chǔ)數(shù)據(jù)的目錄等。數(shù)據(jù)塊的副本對(duì)于偽分布式的Hadoop應(yīng)該為1,

而NN和DN用于存儲(chǔ)的數(shù)據(jù)的目錄為前面的步驟中專門為其創(chuàng)建的路徑。

[root@node2 hadoop]# vim etc/hadoop/hdfs-site.xml

<configuration>     <property>           <name>dfs.replication</name>  //dfs的副本數(shù)量         <value>1</value>     </property> <proporty>         <name>dfs.namenode.name.dir</name>         <value>file:///data/hadoop/hdfs/nn</value> </property>     <proporty>         <name>dfs.datanode.data.dir</name>         <value>file:///data/hadoop/hdfs/dn</value>     </property>     <property>         <name>fs.checkpoint.dir</name>         <value>file:///data/hadoop/hdfs/snn</value>     </property>     <property>         <name>fs.checkpoint.edits.dir</name>         <value>file:///data/hadoop/hdfs/snn</value>     </property> </configuration>

配置MapReduce framework,此應(yīng)該指定使用yarn,另外的可用值還有l(wèi)ocal和classic

[root@node2 hadoop]# cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

[root@node2 hadoop]# vim etc/hadoop/mapred-site.xml

<configuration>     <property>         <name>mapreduce.framework.name</name>         <value>yarn</value>     </property> </configuration>

配置YARN進(jìn)程及YARN相關(guān)屬性,首先執(zhí)行ResourceManager守護(hù)進(jìn)程的主機(jī)和監(jiān)聽的端口。

對(duì)于偽分布式模型來(lái)講,其主機(jī)為localhost,默認(rèn)的端口為8032;其次指定ResourceManager使用的scheduler,以及NodeManager的輔助任務(wù)。

[root@node2 hadoop]# vim etc/hadoop/yarn-site.xml

<!-- Site specific YARN configuration properties --> <configuration>     <property>         <name>yarn.resourcemanager.address</name>         <value>localhost:8032</value>     </property>     <property>         <name>yarn.resourcemanager.scheduler.address</name>         <value>localhost:8030</value>     </property>     <property>         <name>yarn.resourcemanager.resource-tracker.address</name>         <value>localhost:8031</value>     </property>     <property>         <name>yarn.resourcemanager.admin.address</name>         <value>localhost:8033</value>     </property>     <property>         <name>yarn.resourcemanager.webapp.address</name>         <value>localhost:8088</value>     </property>     <property>         <name>yarn.nodemanager.aux-services</name>         <value>mapreduce_shuffle</value>     </property>     <property>         <name>yarn.nodemanager.auxservices.mapreduce_shuffle.class</name>         <value>org.apache.hadoop.mapred.ShuffleHandler</value>     </property>     <property>         <name>yarn.resourcemanager.scheduler.class</name>         <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>     </property> </configuration>

配置hadoop-devn.sh和yarn-env.sh--默認(rèn)即可

Hadoop的各守護(hù)進(jìn)程依賴于JAVA_HOME, Hadoop大多數(shù)守護(hù)進(jìn)程的堆內(nèi)存大小為1G

可根據(jù)需求調(diào)整。

slaves:定義hdfs的從節(jié)點(diǎn)列表--默認(rèn)為本機(jī)

4.格式化HDFS

假如hdfs-site.xml 中的dfs.namenode.name.dir目錄不存在,格式化會(huì)創(chuàng)建之

如果實(shí)現(xiàn)存在:需要確保其權(quán)限設(shè)置正確,格式化會(huì)清除其內(nèi)部數(shù)據(jù)并重新建立文件系統(tǒng)

切換hdfs用戶的身份執(zhí)行

[root@node2 hadoop]# su - hdfs

hdfs命令分類:

User Commands

dfs:文件系統(tǒng)命令,,rm,cat,put,get,rmr,ls,cp,du,...

hdfs dfs -put localfile /user/hadoop/hadoopfile

fetchdt

fsck

version

Administration Commands

balancer

datanode

dfsadmin

mover

namenode

secondarynamenode

簡(jiǎn)單配置拍錯(cuò):不能在/data目錄下生成文件

解決步驟:

1.diff 命令,把配置文件頭部的空白全部刪除

vim

::%s/^[[:space:]]\+//

[hdfs@localhost ~]$ hdfs namenode -format

/data/hadoop/hdfs/nn has been successfully formatted.

5.啟動(dòng)hadoop //NN,DN,SNN,RM,NM

NameNode: hadoop-daemon.sh start/stop namenode

DataNode: hadoop-daemon.sh start/stop datanode

Secondary NameNode: hadoop-daemon.sh start/stop secondarynamenode

ResourceManager: yarn-daemon.sh start/stop resourcemanager

NodeManager: yarn-daemon.sh start/stop nodemanager

啟動(dòng)HDFS服務(wù)

HDFS有三個(gè)守護(hù)進(jìn)程:

namenode、datanode、secondarynamenode都可以通過hadoop daemon.sh

YARN有兩個(gè)守護(hù)進(jìn)程:

resourcemanager和nodemanager,都可以通過yarn-daemon.sh 腳本啟動(dòng)

[hdfs@localhost ~]$ hadoop-daemon.sh start namenode

starting namenode, logging to /bdapps/hadoop/logs/hadoop-hdfs-namenode-localhost.o

[hdfs@localhost ~]$ jps //java的ps命令

4215 NameNode

4255 Jps

[hdfs@localhost ~]$ hadoop-daemon.sh start secondarynamenode

starting secondarynamenode, logging to /bdapps/hadoop/logs/hadoop-hdfs-secondarynamenode-localhost.out

[hdfs@localhost ~]$ hadoop-daemon.sh start datanode

starting datanode, logging to /bdapps/hadoop/logs/hadoop-hdfs-datanode-localhost.ou

//此時(shí)就可以上傳文件了

[hdfs@localhost ~]$ hdfs dfs -mkdir /test //創(chuàng)建組

[hdfs@localhost ~]$ hdfs dfs -ls /

Found 1 items

drwxr-xr-x  - hdfs supergroup      0 2017-05-13 22:18 /te

[hdfs@localhost ~]$ hdfs dfs -put /etc/fstab /test/

[hdfs@localhost ~]$ hdfs dfs -ls /test

Found 1 items

-rw-r--r--  1 hdfs supergroup     537 2017-05-13 22:21 /test/fstab

cat /data/hadoop/hdfs/dn/current/BP-1163334701-127.0.0.1-1494676927122/current/finalized/subdir0/subdir0/blk_1073741825

//可以進(jìn)行查看

hdfs dfs -cat /test/fstab //也可以查看內(nèi)容一樣

//文件過大的話,會(huì)被切割成n塊。

注意:如果要其他用戶對(duì)hdfs有寫入權(quán)限,需要在hdfs-site.xml添加一項(xiàng)屬性定義。

<property>     <value>dfs.permissions</name>     <value>false</value> </property>[root@node2 test]# su - yarn [yarn@localhost ~]$ yarn-daemon.sh start resourcemanager starting resourcemanager, logging to /bdapps/hadoop/logs/yarn-yarn-resourcemanager-localhost.out [yarn@localhost ~]$ yarn-daemon.sh start nodemanager starting nodemanager, logging to /bdapps/hadoop/logs/yarn-yarn-nodemanager-localhost.out [yarn@localhost ~]$ jps 5191 Jps 5068 NodeManager 4829 ResourceManager

6.Web UI概覽

HDFS和YARN ResourceManager各自提供了Web接口。

HDFS-NameNode:http://NameNodeHost:50070/

YARN-ResourceManager http://ResourceManagerHost:8088

http://192.168.4.105:50070/dfshealth.html#tab-overview

YARN-ResourceManager:只監(jiān)聽在127.0.0.1,

EditLog的內(nèi)容:

NameNode SecondaryNameNode

fs-p_w_picpath

|________>  合并為新的fs-p_w_picpath

EditLog滾動(dòng)一次 ------>取出    |

   |

覆蓋原有的fs-p_w_picpath__________________|

secondaryNameNode:合并NameNode上的Editlog合并到fs-imange上,以保證持久影響文件上,盡可能多的保持多的信息

真正的使用元數(shù)據(jù)在NameNode的內(nèi)存中,假如數(shù)據(jù)發(fā)生修改,會(huì)追加到editlog中

firefox localhost:8088 &

Applications

SUBMITED:已經(jīng)提交的作業(yè)

ACCEPTED:接受的作業(yè)

RUNNING

FINISHED

FAILED:失敗的

KILLED:

//SecnondaryNameNode從NameNode中取得

7.運(yùn)行測(cè)試程序

[root@localhost mapreduce]# su - hdfs

[hdfs@localhost ~]$ cd /bdapps/hadoop/share/hadoop/mapreduce/

yarn jar hadoop-mapreduce-examples-2.6.2.jar  //有很多測(cè)試程序

hdfs dfs -ls /test/fstab.out //查看

hdfs dfs -cat /test/fstab.out/paprt-r-00000 //查看

//統(tǒng)計(jì)每個(gè)單詞的出現(xiàn)次數(shù)

小結(jié)

1.配置環(huán)境

java.sh hadoop.sh

2.創(chuàng)建用戶和相關(guān)目錄

3.配置hadoop

core-site.xml

hdfs-site.xml

mapred-site.xml

yarn-site.xml

4.格式化HDFS

[hdfs@localhost ~]$ hdfs namenode -format

/data/hadoop/hdfs/nn has been successfully formatted.

5.啟動(dòng)hadoop

NameNode: hadoop-daemon.sh start/stop namenode

DataNode: hadoop-daemon.sh start/stop datanode

Secondary NameNode: hadoop-daemon.sh start/stop secondarynamenode

ResourceManager: yarn-daemon.sh start/stop resourcemanager

NodeManager: yarn-daemon.sh start/stop nodemanager

6.Web UI概覽

HDFS和YARN ResourceManager各自提供了Web接口。

HDFS-NameNode:http://NameNodeHost:50070/

YARN-ResourceManager http://ResourceManagerHost:8088

幫助文檔:http://hadoop.apache.org/docs/r2.6.5/

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章題目:Hadoop偽分布式安裝-創(chuàng)新互聯(lián)
本文URL:http://muchs.cn/article16/dpoegg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)頁(yè)設(shè)計(jì)公司、App設(shè)計(jì)、外貿(mào)建站、網(wǎng)站營(yíng)銷、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)