hadoop271安装Word格式文档下载.docx

上传人:b****5 文档编号:19380260 上传时间:2023-01-05 格式:DOCX 页数:15 大小:118.54KB
下载 相关 举报
hadoop271安装Word格式文档下载.docx_第1页
第1页 / 共15页
hadoop271安装Word格式文档下载.docx_第2页
第2页 / 共15页
hadoop271安装Word格式文档下载.docx_第3页
第3页 / 共15页
hadoop271安装Word格式文档下载.docx_第4页
第4页 / 共15页
hadoop271安装Word格式文档下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

hadoop271安装Word格式文档下载.docx

《hadoop271安装Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《hadoop271安装Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。

hadoop271安装Word格式文档下载.docx

2.MapReduceV2(Yarn)

MR在集群上实现了分布式计算和任务处理。

HDFS在MR任务处理过程中提供了文件操作和存储等支持,MR在HDFS的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成分布式集群的主要任务。

工作原理

●ResourceManager是基于应用程序对资源的需求进行调度的;

每一个应用程序需要不同类型的资源因此就需要不同的容器。

资源包括:

内存,CPU,磁盘,网络等等。

可以看出,这同现Mapreduce固定类型的资源使用模型有显著区别,它给集群的使用带来负面的影响。

资源管理器提供一个调度策略的插件,它负责将集群资源分配给多个队列和应用程序。

调度插件可以基于现有的能力调度和公平调度模型。

●上图中NodeManager是每一台机器框架的代理,是执行应用程序的容器,监控应用程序的资源使用情况(CPU,内存,硬盘,网络)并且向调度器汇报。

●每一个应用的ApplicationMaster的职责有:

向调度器索要适当的资源容器,运行任务,跟踪应用程序的状态和监控它们的进程,处理任务的失败原因。

二、环境及版本

操作系统:

Centos7

Hadoop版本:

2.7.1

JDK版本:

8(Hadoop从2.7开始,对jdk要求最低是7)

三、安装和配置

1.机器规划

规划3台机,2台namenode,3台datanode

编辑/etc/hosts

192.168.229.132master

192.168.229.133slave01

192.168.229.134slave02

把内容复制到所有机器的/etc/hosts上

2.配置ssh无密码登录

1)在master上执行

mkdir~/.ssh

cd~/.ssh

ssh-keygen-trsa(按几次回车,代表无密码)

在~/.ssh下会生成id_rsa和id_rsa.pub

2)在slave01和slave02执行

把master上的id_rsa.pub文件复制到~/.ssh下,并改名为authorized_keys

3)配置slave02(namenode备机)无密码登录master

同样在slave02执行ssh-keygen-trsa

把id_rsa.pub改名为authorized_keys,复制到master上,并把master上的id_rsa.pub添回到文件末尾(本机也要无密码登录本机)

catid_rsa.pub>

>

authorized_keys

4)测试

在master上运行sshslave01和sshslave02,若无需密码登入即可

3.关闭防火墙(最好禁用)

systemctlstopfirewalld

systemctlstopiptables

4.修改默认java命令

cd/etc/alternatives/

rmjava

ln-s$JAVA_HOME/bin/javajava

5.安装zookeeper

由于zookeeper是选举算法,节点数最好是奇数。

1)建立目录

cd/opt/zookeeper-3.4.6

mkdir-pvar/data

mkdir-pvar/datalog

2)修改配置文件

cd/opt/zookeeper-3.4.6/conf

cpzoo_sample.cfgzoo.cfg

编辑zoo.cfg,设置数据保存目录和节点地址

vizoo.cfg

dataDir=/opt/zookeeper-3.4.6/var/data

dataLogDir=/opt/zookeeper-3.4.6/var/datalog

server.0=master:

2888:

3888

server.1=slave01:

server.2=slave02:

这里的0,1,2代表节点id

3)设置各节点myid

vivar/data/myid

在各节点的机器上,分别写入对应zoo.cfg的id

6.配置文件

解压缩hadoop-2.7.1.tar.gz,所有配置文件和脚本都在/opt/hadoop-2.7.1/etc/hadoop下:

1.core-site.xml

配置核心信息

若需要实现namenode的HA,定义集群命名mycluster,并配置zookeeper。

<

configuration>

<

property>

name>

fs.defaultFS<

/name>

value>

hdfs:

//mycluster<

/value>

/property>

hadoop.tmp.dir<

/opt/hadoop-2.7.1/tmp<

description>

Abaseforothertemporarydirectories.<

/description>

hadoop.proxyuser.spark.hosts<

*<

hadoop.proxyuser.spark.groups<

!

--namenodeha-->

ha.zookeeper.quorum<

master,slave01,slave02<

/configuration>

2.hdfs-site.xml

配置HDFS的目录,dfs.replication配置备份副本数,默认为3;

配置数据存储目录dfs.datanode.data.dir,如果有多个磁盘,可以写多个,用逗号分隔;

Apachehadoop2.0官方提供了两种HDFSHA的解决方案,一种是NFS,另一种是QJM。

以下配置是QJM,相对复杂;

NFS需要共享磁盘,相对简单;

对dfs.namenode.secondary.http-address配置,是用于只有单个namenode时,使用secondarynamenode对namenode进行备份,若已配置了namenode的HA,则此配置无效;

对dfs.namenode.shared.edits.dir配置,JournalNode集群是用于进行namenode信息共享,其中可以指定哪些节点开启此服务。

dfs.namenode.name.dir<

/opt/hadoop-2.7.1/hdfs/name<

dfs.datanode.data.dir<

/opt/hadoop-2.7.1/hdfs/data<

dfs.replication<

3<

dfs.namenode.secondary.http-address<

slave02:

9001<

--Ha-->

dfs.nameservices<

mycluster<

dfs.ha.namenodes.mycluster<

nn1,nn2<

dfs.namenode.rpc-address.mycluster.nn1<

master:

8020<

dfs.namenode.rpc-address.mycluster.nn2<

dfs.namenode.http-address.mycluster.nn1<

50070<

dfs.namenode.http-address.mycluster.nn2<

dfs.namenode.shared.edits.dir<

qjournal:

//master:

8485;

slave01:

8485/mycluster<

dfs.client.failover.proxy.provider.mycluster<

org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider<

dfs.ha.fencing.methods<

sshfence<

dfs.ha.fencing.ssh.private-key-files<

/root/.ssh/id_rsa<

dfs.journalnode.edits.dir<

/opt/hadoop-2.7.1/hdfs/journal<

dfs.ha.automatic-failover.enabled<

true<

3.mapred-site.xml

配置MapReduce,指定mapred的实现方式为yarn

mapreduce.framework.name<

yarn<

4.yarn-site.xml

配置yarn,实现resourcemanager的HA,同样需要zookeeper支持

<

yarn.resourcemanager.ha.enabled<

yarn.resourcemanager.cluster-id<

RM_HA_ID<

yarn.resourcemanager.ha.rm-ids<

rm1,rm2<

yarn.resourcemanager.hostname.rm1<

master<

yarn.resourcemanager.hostname.rm2<

slave02<

yarn.resourcemanager.recovery.enabled<

yarn.resourcemanager.store.class<

org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore<

yarn.resourcemanager.zk-address<

yarn.nodemanager.aux-services<

mapreduce_shuffle<

--<

yarn.nodemanager.resource.memory-mb<

768<

-->

5.slaves

记录DataNode的地址

#localhostNameNode一般不再做DataNode

slave01

slave02

6.设置JAVA_HOME

对以下文件进行JAVA_HOME配置hadoop-env.sh,mapred-env.sh,yarn-env.sh

7.初始化及启动

1.建立目录

在所有机器上建立如下目录:

hadoop2.7.1/hdfs/name

hadoop2.7.1/hdfs/data

hadoop2.7.1/hdfs/journal

hadoop2.7.1/tmp

2.启动zookeeper

启动

zkServer.shstart

查看状态

zkServer.shstatus

3.各节点启动journalnode

sbin/hadoop-daemon.shstartjournalnode

此命令只在格式化时使用,以后启动不需要

4.格式化(仅在master运行)

格式化zookeeper

bin/hdfszkfc-formatZK

格式化dfs

bin/hdfsnamenode-format

5.启动(仅在master运行)

●启动hadoop

sbin/start-dfs.sh

●启动yarn(仅在master运行)

sbin/start-yarn.sh

sbin/yarn-daemon.shstartresourcemanager(除主节点外,其他resourcemanager节点需要手动启动)

●查看进程(各节点均可)

$JAVA_HOME/bin/jps

执行启动,master和各slave都会启动相应的进程

⏹NameNode—命名节点,存在于NameNode集群上的节点

⏹JournalNode—QJM节点,在各节点上都有,用于NameNode同步存储

⏹DFSZKFailoverController—存在于NameNode集群上的节点,用于namenode集群切换

⏹DataNode—数据节点,组成dfs文件服务

⏹ResourceManager—Yarn资源管理节点,存在于ResourceManager集群上的节点

⏹NodeManager—Yarn计算节点

8.查看状态

●查看hadoop状态,访问

http:

50070

查看yarn计算状态,访问(端口是在yarn-site.xml配置)

8088

四、常用命令

1.文件操作

主要是通过bin/hdfs来进行,可通过hdfs-help查看命令帮助

主要文件操作:

hdfsdfs-help

包括ls,df,cp,mv,mkdir,rm,chmod,cat,tail等类似linux的文件操作命令

-copyFromLocal把本地文件存放到hdfs上

-copyToLocal把hdfs上的文件复制到本地

-count统计文件目录大小

2.平衡操作

当存储分布不均匀,可用sbin/start-balance.sh命令进行平衡,避免某个datanode磁盘占用率过高,或增加datanode时进行平衡。

执行时会影响集群的响应速度

1)影响hadoopbalance工具的几个参数

-threshold默认设置:

10,参数取值范围:

0-100,参数含义:

判断集群是否平衡的目标参数,每一个datanode存储使用率和集群总存储使用率的差值都应该小于这个阀值

可在hdfs-site.xml增加dfs.balance.bandwidthPerSec默认设置:

1048576(1M/S),参数含义:

设置balance工具在运行中所能占用的带宽,设置的过大可能会造成mapred运行缓慢

2)其他特点

balance工具在运行过程中,迭代的将文件块从高使用率的datanode移动到低使用率的datanode上,每一个迭代过程中移动的数据量不超过下面两个值的较小者:

10G或者指定阀值*容量,且每次迭代不超过20分钟。

每次迭代结束后,balance工具将更新该datanode的文件块分布情况

3.增加节点

1)安装和配置

参考前面章节,包括:

a)配置ssh无密码登录

b)关闭防火墙

c)安装jdk

d)安装hadoop

e)修改配置文件

f)建立文件目录(hdfs/name,hdfs/data,hdfs/journal,tmp等)

2)修改master的hosts和slaves文件,加入新的datanode地址

3)启动节点

在新的slave上运行:

sbin/hadoop-daemon.shstartdatanode

sbin/yarn-daemon.shstartnodemanager

4)平衡节点存储

在master上运行sbin/start-balance.sh,否则新的数据会首先存储在新的节点,造成新节点的存储和计算压力变大

4.集群节点的状态切换

1)HDFS的namenode

强制切换到Active,在failover.enabled为true的情况下,不能执行,避免脑裂

bin/hdfshaadmin-transitionToActive--forcemanualnn2

强制切换到Standby,这个可行

bin/hdfshaadmin-transitionToStandby--forcemanualnn1

2)Yarn的resourcemanager

查看状态的命令

yarnrmadmin-getServiceStaterm1

状态切换的命令

yarnrmadmin-transitionToStandbyrm1

yarnrmadmin-transitionToActive--forceactiverm2

五、常见问题

发现hadoop异常时,首先是检查日志文件内容,找异常原因。

1.NameNode同时为inactive

这种情况通常是zk问题,重新执行hdfszkfc–formatZK即可

 

1.安装

参考apache官网配置

//hadoop.apache.org/docs/r2.7.1/index.html

结合一些中文网站实践

yarn原理

2.hadoop-daemon.sh命令

可以单独启动节点服务,格式为:

./hadoop-daemon.sh(start|stop)<

hadoop-command>

有以下这些:

namenode|secondarynamenode|datanode|journalnode|dfs|dfsad

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1