Hadoop集群设置文档hadoop273.docx

上传人:b****2 文档编号:1726849 上传时间:2023-05-01 格式:DOCX 页数:15 大小:21.70KB
下载 相关 举报
Hadoop集群设置文档hadoop273.docx_第1页
第1页 / 共15页
Hadoop集群设置文档hadoop273.docx_第2页
第2页 / 共15页
Hadoop集群设置文档hadoop273.docx_第3页
第3页 / 共15页
Hadoop集群设置文档hadoop273.docx_第4页
第4页 / 共15页
Hadoop集群设置文档hadoop273.docx_第5页
第5页 / 共15页
Hadoop集群设置文档hadoop273.docx_第6页
第6页 / 共15页
Hadoop集群设置文档hadoop273.docx_第7页
第7页 / 共15页
Hadoop集群设置文档hadoop273.docx_第8页
第8页 / 共15页
Hadoop集群设置文档hadoop273.docx_第9页
第9页 / 共15页
Hadoop集群设置文档hadoop273.docx_第10页
第10页 / 共15页
Hadoop集群设置文档hadoop273.docx_第11页
第11页 / 共15页
Hadoop集群设置文档hadoop273.docx_第12页
第12页 / 共15页
Hadoop集群设置文档hadoop273.docx_第13页
第13页 / 共15页
Hadoop集群设置文档hadoop273.docx_第14页
第14页 / 共15页
Hadoop集群设置文档hadoop273.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Hadoop集群设置文档hadoop273.docx

《Hadoop集群设置文档hadoop273.docx》由会员分享,可在线阅读,更多相关《Hadoop集群设置文档hadoop273.docx(15页珍藏版)》请在冰点文库上搜索。

Hadoop集群设置文档hadoop273.docx

Hadoop集群设置文档hadoop273

Hadoop集群设置文档

∙Hadoop集群安装

o目的

o先决条件

o安装

o安装Hadoop在非安全模式

▪配置HadoopDeamons运行环境

▪配置HadoopDeamons

o监控NodeManagers健康状况

oSlaves配置文件

oHadoop机架感知

o日志

oHadoop常见操作

▪Hadoop启动

▪Hadoop停止

oWeb接口

Hadoop集群设置

目的

本文档描述如何安装和配置Hadoop集群从几个节点到几千个节点,要使用Hadoop,你可能首先想要在一台机器上安装它。

(详见单节点安装)

本文档没有覆盖高级主题,如安全和高可用。

先决条件

∙安装Java.详见HadoopWiki说明的已知好用版本。

∙从Apache镜像网站下载一个稳定的Hadoop版本

安装

安装一个Hadoop集群,通常包括在集群的所有机器上解压软件并安装,或通过适合您操作系统包管理系统进行安装。

把硬件分成不同的功能模块是非常重要的。

通常在集群里面,一台机器被指定为NameNode,另一台机器作为ResourceManager,他们两个是主服务节点,其他服务(如:

WebAppProxy服务和MapReduceJobHistory服务)经常运行在专用硬件或者共享硬件之上,具体因负载而定。

集群里其他的机器作为DataNode和NodeManager,这些是从服务节点。

配置Hadoop在非安全模式

Hadoop的Java配置被分为两类重要配置文件:

∙默认配置core-default.xml, hdfs-default.xml, yarn-default.xml 和mapred-default.xml

∙特定配置etc/hadoop/core-site.xml, etc/hadoop/hdfs-site.xml, etc/hadoop/yarn-site.xml 和etc/hadoop/mapred-site.xml.

此外,你可以通过etc/hadoop/hadoop-env.sh 和etc/hadoop/yarn-env.sh配置文件,设置特定值来控制Hadoop的bin/分发目录,

要配置Hadoop集群,首先你要配置Hadoopdeamons执行所需的环境参数。

HDFSdeamons包括NameNode,SecondaryNameNode和DataNode,YARNdeamons包括ResourceManager,NodeManager和WebAppProxy。

如果使用MapReduce,还需要运行MapReduceJobHistoryServer。

在大型集群环境,这些组件都是运行在独立的机器上。

配置HadoopDeamons环境变量

管理员首先要使用etc/hadoop/hadoop-env.sh和 etc/hadoop/mapred-env.sh 和etc/hadoop/yarn-env.sh 脚本来做Hadoopdeamons程序运行环境的定制工作。

至少,你必须修改JAVA_HOME,并确保已经在所有远端节点上配置正确。

管理员可以根据下面表中的选项单独配置每个模块的参数。

守护进程

环境变量

NameNode

HADOOP_NAMENODE_OPTS

DataNode

HADOOP_DATANODE_OPTS

SecondaryNameNode

HADOOP_SECONDARYNAMENODE_OPTS

ResourceManager

YARN_RESOURCEMANAGER_OPTS

NodeManager

YARN_NODEMANAGER_OPTS

WebAppProxy

YARN_PROXYSERVER_OPTS

MapReduceJobHistoryServer

HADOOP_JOB_HISTORYSERVER_OPTS

例如,配置NameNode使用ParallelGC,下面的语句应该添加到hadoop-env.sh里面:

exportHADOOP_NAMENODE_OPTS="-XX:

+UseParallelGC"

可以查看etc/hadoop/hadoop-env.sh 其它的例子

其它你需要定制的有用配置参数包括:

∙HADOOP_PID_DIR-Hadoopdeamons的进程ID文件存放目录

∙HADOOP_LOG_DIR -Hadoopdeamons的日志文件存放目录,日志文件如果不存在会自动创建

∙HADOOP_HEAPSIZE / YARN_HEAPSIZE-可以使用的heapsize最大值,单位MB,如果变量设置为1000,则heap会被设置为1000MB,这个参数用了配置deamon的heap大小,默认值是1000,如果你想每个deamon配置单独的值,你可以使用这个参数。

大部分场景,你应该修改HADOOP_PID_DIR和HADOOP_LOG_DIR目录,保证它们只能被运行Hadoopdeamons的用户写入,否则会有链式攻击的风险。

同样,经常需要在系统脚本环境变量里面配置HADOOP_PREFIX 参数,例如,在/etc/profile里面配置简单的脚本如下:

HADOOP_PREFIX=/path/to/hadoop

exportHADOOP_PREFIX

守护进程

环境变量

ResourceManager

YARN_RESOURCEMANAGER_HEAPSIZE

NodeManager

YARN_NODEMANAGER_HEAPSIZE

WebAppProxy

YARN_PROXYSERVER_HEAPSIZE

MapReduceJobHistoryServer

HADOOP_JOB_HISTORYSERVER_HEAPSIZE

配置HadoopDaemons

这节讲述一些在特定的配置文件里面需要配置的重要参数,

配置文件:

etc/hadoop/core-site.xml

参数

说明

fs.defaultFS

hdfs:

//host:

port/

HDFS文件系统的全局访问接口

Host:

NameNode服务所在机器P地址

Port:

NameNode服务对外端口

默认值:

8020

io.file.buffer.size

131072

IO读写缓存大小.

配置文件:

etc/hadoop/hdfs-site.xml

∙NameNode相关配置

参数

说明

dfs.namenode.name.dir

PathonthelocalfilesystemwheretheNameNodestoresthenamespaceandtransactionslogspersistently.

如果这是一个逗号分隔的目录列表,则在所有目录中复制名称表,以实现冗余。

dfs.hosts /dfs.hosts.exclude

Listofpermitted/excludedDataNodes.

dfs.hostsof允许数据节点.如有必要,使用这些文件控制允许的数据节点列表。

dfs.blocksize

268435456

Blocksize256MB,HDFS系统文件最小文件块的大小

dfs.namenode.handler.count

100

更多的NameNode服务器线程来处理来自大量DataNode的RPC

∙DataNode相关配置

参数

说明

dfs.datanode.data.dir

CommaseparatedlistofpathsonthelocalfilesystemofaDataNode whereitshouldstoreitsblocks.

如果这是一个逗号分隔的目录列表,则数据将存储在所有命名的目录中,通常位于不同的设备上。

配置文件:

etc/hadoop/yarn-site.xml

∙ResourceManager和NodeManager相关配置

参数

说明

yarn.acl.enable

true /false

是否启动ACLs

默认值:

不启动

yarn.admin.acl

AdminACL

在群集上设置管理员的ACL。

ACL是用于逗号分隔的用户,组的.默认值为*,表示任何人。

只有空间的特殊价值意味着没有人能进入。

yarn.log-aggregation-enable

false

是否启用日志聚合

默认值:

不启用

∙ResourceManager相关配置

参数

说明

yarn.resourcemanager.address

ResourceManager host:

portforclientstosubmitjobs.

host:

port如果设置,则覆盖yarn.resourcem中设置的主机名anager.hostname.

yarn.resourcemanager.scheduler.address

ResourceManager host:

portforApplicationMasterstotalktoSchedulertoobtainresources.

host:

port如果设置,则覆盖yarn.resourcem中设置的主机名hostname.

yarn.resourcemanager.resource-tracker.address

ResourceManager host:

portforNodeManagers.

host:

port如果设置,则覆盖yarn.resourcem中设置的主机名urcemanager.hostname.

yarn.resourcemanager.admin.address

ResourceManager host:

portforadministrativecommands.

host:

port如果设置,则覆盖yarn.resourcem中设置的主机名anager.hostname.

yarn.resourcemanager.webapp.address

ResourceManager web-uihost:

port.

host:

port如果设置,则覆盖yarn.resourcem中设置的主机名emanager.hostname.

yarn.resourcemanager.hostname

ResourceManager host.

hhost可以设置的单一主机名设置allyarn.resourcemanager*地址资源。

结果在resourcemanager组件的默认端口中。

yarn.resourcemanager.scheduler.class

ResourceManager Schedulerclass.

Capacityscheduler(推荐),fairscheduler(也推荐),或者fifoscheduler(不推荐)

yarn.scheduler.minimum-allocation-mb

Minimumlimitofmemorytoallocatetoeachcontainerrequestatthe ResourceManager.

单位:

MB

yarn.scheduler.maximum-allocation-mb

Maximumlimitofmemorytoallocatetoeachcontainerrequestatthe ResourceManager.

单位:

MB

yarn.resourcemanager.nodes.include-path/ yarn.resourcemanager.nodes.exclude-path

Listofpermitted/excludedNodeManagers.

如有必要,使用这些文件控制允许的nodemanagers列表。

∙NodeManager相关配置

参数

说明

yarn.nodemanager.resource.memory-mb

Resourcei.e.availablephysicalmemory,inMB,forgiven NodeManager

定义可用于运行容器的nodemanager上的可用资源总数。

yarn.nodemanager.vmem-pmem-ratio

Maximumratiobywhichvirtualmemoryusageoftasksmayexceedphysicalmemory

每个任务的虚拟内存使用可能超过其物理内存限制。

在nodemanager上的任务使用的虚拟内存总量可能超过此比率的物理内存使用率。

yarn.nodemanager.local-dirs

Comma-separatedlistofpathsonthelocalfilesystemwhereintermediatedataiswritten.

在写入中间数据的本地文件系统上的yarn.nodemanager.local的路径列表。

多路径帮助扩展磁盘i/o

yarn.nodemanager.log-dirs

Comma-separatedlistofpathsonthelocalfilesystemwherelogsarewritten.

在写入日志的本地文件系统上的yarn.nodemanager.log的路径列表。

多路径帮助扩展磁盘i/o

yarn.nodemanager.log.retain-seconds

10800

只有在禁用了日志聚合的情况下,才能在nodemanager上保留日志文件的时间(以秒为单位)。

yarn.nodemanager.remote-app-log-dir

/logs

应用程序日志在应用程序完成时移动的HDFS目录。

需要设置适当的权限。

只有启用了日志聚合时才适用。

yarn.nodemanager.remote-app-log-dir-suffix

logs

后缀附加到远程日志目录。

仅当启用了日志聚合时,将聚合到${yarn.nodemanager.remote-应用程序}/${乌塞尔}/${thisparam}。

yarn.nodemanager.aux-services

mapreduce_shuffle

需要为MapReduce设置的洗牌服务

∙HistoryServer相关配置

参数

说明

yarn.log-aggregation.retain-seconds

-1

在删除聚合日志之前保留多长时间。

-1禁用。

小心,设置这个太小,您将垃圾邮件的名称节点。

yarn.log-aggregation.retain-check-interval-seconds

-1

检查聚合日志保留之间的时间。

如果设置为0或负值,则值将计算为聚合日志保留时间的十分之一。

小心,设定这个太小,你垃圾化你的NameNode

配置文件:

etc/hadoop/mapred-site.xml

∙MapReduce应用相关配置

参数

说明

mapreduce.framework.name

yarn

执行框架设置为YARN

mapreduce.map.memory.mb

1536

Maps的内存资源使用上限

mapreduce.map.java.opts

-Xmx1024M

Largerheap-sizeforchildjvmsofmaps.

Maps虚拟机堆栈的内存资源使用上限

mapreduce.reduce.memory.mb

3072

Reduce的内存资源使用上限

mapreduce.reduce.java.opts

-Xmx2560M

Reduce虚拟机堆栈的内存资源使用上限

mapreduce.task.io.sort.mb

512

排序任务的内存资源使用上限,单位:

MBs,

mapreduce.task.io.sort.factor

100

排序任务是要的factor个数。

mapreduce.reduce.shuffle.parallelcopies

50

Reduce并行拷贝个数

∙MapReduceJobHistoryServer相关配置

参数

说明

mapreduce.jobhistory.address

MapReduceJobHistoryServer host:

port

默认端口:

10020

mapreduce.jobhistory.webapp.address

MapReduceJobHistoryServerWebUI host:

port

默认端口:

19888

mapreduce.jobhistory.intermediate-done-dir

/mr-history/tmp

MapReduce写历史文件-临时文件目录

mapreduce.jobhistory.done-dir

/mr-history/done

MapReduce写历史文件-结果文件目录

监控NodeManager健康

Hadoop提供了方法,每个管理员可以配置NodeManager运行脚本定期检查节点是否健康。

管理员可以通过执行脚本检查节点是否处于健康状态,如果脚本发现节点处于不健康状态,他会在标准输出设备输出带有ERROR的字符串,NodeManager执行脚本定期检查他的输出,如果脚本输出ERROR,像上面提到的,节点会被报告为不健康,节点会被ResourceManager加到黑名单,后续就不会有任务被分派给该节点。

然后NodeManager会继续运行脚本,如果这个节点又恢复健康了,他就会自动被从黑名单节点中去除,这个节点的健康依赖于脚本的输出,如果不健康,就可以被管理员在web界面上看到,节点不健康的时间也会显示在web页面上。

在etc/hadoop/yarn-site.xml配置文件里,以下参数可以用来控制节点健康监控脚本。

Parameter

Value

Notes

yarn.nodemanager.health-checker.script.path

Nodehealthscript

Scripttocheckfornode’shealthstatus.

检查节点监控状态的脚本目录

yarn.nodemanager.health-checker.script.opts

Nodehealthscriptoptions

检查节点状态的脚本参数.

yarn.nodemanager.health-checker.script.interval-ms

Nodehealthscriptinterval

运行健康检查脚本的时间周期

yarn.nodemanager.health-checker.script.timeout-ms

Nodehealthscripttimeoutinterval

节点健康检查超时时间

如果只是一些本地磁盘坏了,健康检查脚本不会报告ERROR,NodeManager有能力检查本地磁盘的健康(特别检查nodemanager-local-dirsandnodemanager-log-dirs)并且在到达坏目录上限后,基于yarn.nodemanager.disk-health-checker.min-healthy-disks参数控制,这个节点被标识不健康,这些信息被发送给ResourceManager。

启动盘是否RAID或启动盘发生故障也会被健康检查脚本识别。

Slaves文件

在你的etc/hadoop/slaves文件里,列上所有的slave主机名或ip地址,一行一个,脚本将使用etc/hadoop/slaves文件同时在多台主机上运行命令。

他不是被基于Java的hadoop配置文件使用。

想要使用这个功能,需要在运行hadoop程序的账号之间配置Ssh信任访问(通过免密登录或其他方式,如Kerberos)。

Hadoop机架感知

很多Hadoop组件是有机架感知的,并且可以从网络拓扑获利提高性能和安全。

Hadoopdaemons通过管理配置模块获取集群中slave节点机柜信息。

请查看看RackAwareness文档关于更详细的信息.

强烈推荐在启动HDFS之前配置机架感知。

日志

Hadoop使用Apache通用日志框架Apachelog4j来管理log,编辑etc/hadoop/log4j.properties 文件来定制Hadoopdaemons的日志配置文件(日志格式等等)

操作Hadoop集群

配置完毕后,需要分发配置文件到所有机器的HADOOP_CONF_DIR目录。

在所有机器上,配置目录应该是相同的。

通常情况下,建议HDFS和YARN使用独立的用户运行。

在大多数安装中,HDFS进程使用hdfs用户,而YARN进程使用yarn用户。

Hadoop启动

要启动一个Hadoop集群,你需要把HDFS和YARN集群两个都启动。

首次启动HDFS时,需要格式化文件系统,通过hdfs用户,使用以下命令可以格式化一个新的分布式文件系统:

[hdfs]$$HADOOP_PREFIX/bin/hdfsnamenode-format

在指定节点上,通过hdfs用户,使用以下命令可以启动HDFSNameNode服务:

[hdfs]$$HADOOP_PREFIX/sbin/hadoop-daemon.sh--config$HADOOP_CONF_DIR--scripthdfsstartnamenode

在所有指定节点上,通过hdfs用户,使用以下命令可以启动HDFSDataNode服务:

[hdfs]$$HADOOP_PREFIX/sbin/hadoop-daemons.sh--config$HADOOP_CONF_DIR--scripthdfsstartdatanode

如果etc/hadoop/slaves 和ssh信任访问已配置,通过hdfs用户,使用以下实用脚本可以启动所有的HDFS进程:

[hdfs]$$HADOOP_PREFIX/sbin/start-dfs.sh

在指定ResourceManager节点上,通过yarn用户,使用以下命令可以启动YARN服务:

[yarn]$$HADOOP_YARN_HOME/sbin/yarn-daemon.sh--config$HADOOP_CONF_DIRstartresourcemanager

在所有指定节点上,通过yarn用户,运行以下脚本可以启动NodeManager服务:

[yarn]$$HADOOP_YARN_HOME/sbin/yarn-daemons.sh--config$HADOOP_CONF_DIRstartnodemanager

通过yarn用户,使用以下脚本可以启动WebAppProxyse

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

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2