Hadoop 2.7.1 集群模式安装【二】环境配置

配置守护进程

参数

守护进程环境参数脚本文件
NameNodeHADOOP_NAMENODE_OPTShadoop-env
DataNodeHADOOP_DATANODE_OPTShadoop-env
Secondary NameNodeHADOOP_SECONDARYNAMENODE_OPTShadoop-env
ResourceManagerYARN_RESOURCEMANAGER_OPTSyarn-env
NodeManagerYARN_NODEMANAGER_OPTSyarn-env
WebAppProxyYARN_PROXYSERVER_OPTSyarn-env
Map Reduce Job History ServerHADOOP_JOB_HISTORYSERVER_OPTSmapred-env

例子

export HADOOP_NAMENODE_OPTS=”-XX:+UseParallelGC”

说明

以OPTS结尾的都是守护进程本身(默认1G内存)的的内存,这里关注两个地方:
1. NameNode内存
这里的NameNode内存默认是1G(且当其为1000MB),可以管理一百万个数据块,假如集群复本数是3,BLOCK大小是128MB的话。这里可以管理:1000000 x 128MB / 3的资源
根据我们在上一篇Blog环境中的,我们设计block size 为64MB 则30G * 1024MB/ 64MB ≈ 480 所以我们这里配置大约512的内存足以
export HADOOP_NAMENODE_OPTS=”-Xmx512MB”
**注意:**SecondaryNameNode要设置为和namenode相当
2. 其他进程内存
由于我们测试环境所以统一设置为128MB

其他配置

  • HADOOP_PID_DIR - 守护进程ID文件存储路径
  • HADOOP_LOG_DIR - 守护进程的日志文件存储路径。如果日志是自动创建的那这个参数无效
  • HADOOP_HEAPSIZE / YARN_HEAPSIZE - 守护进程的堆大小。默认是1000MB

正常来说我们应该配置HADOOP_PID_DIR和HADOOP_LOG_DIR以防止符号链接攻击

HADOOP_PREFIX 代替了原来的HADOOP_HOME

_HEAPSIZE参数(以HEAPSIZE结尾参数只能设置内存,是被OPTS涵盖的)

进程环境变量名称所在配置文件
ResourceManagerYARN_RESOURCEMANAGER_HEAPSIZEyarn-env
NodeManagerYARN_NODEMANAGER_HEAPSIZEyarn-env
WebAppProxyYARN_PROXYSERVER_HEAPSIZEyarn-env
Map Reduce Job History ServerHADOOP_JOB_HISTORYSERVER_HEAPSIZEmapred-env

Hadoop集群进程

#

参数值(默认值)备注
etc/hadoop/core-site.xml
fs.defaultFSNameNode URI示例:hdfs://host:port/
io.file.buffer.size131072读/写缓冲区中序列化文件的大小
etc/hadoop/hdfs-site.xml
NameNode配置
dfs.namenode.name.dir本地系统中namenode的namespace和事物日志的存储路径如果使用逗号隔开的目录,表示需要将namespacehe事物日志复制到这多个路径中
dfs.hosts/dfs.hosts.exclude列表中允许/被排除掉的机器如果有必要使用这些文件来控制允许的datanode列表
dfs.blocksize268435456HDFS Block的大小,默认是256MB
dfs.namenode.handler.count100namenode允许DataNodes最大的RPC连接数量
DataNode配置
dfs.datanode.data.dir使用逗号分隔的列表路径,表示datanode本地磁盘上的存储路径
etc/hadoop/yarn-site.xml
ResourceManager 和 NodeManager公用参数
yarn.acl.enabletrue / false是否启用ACLs?默认是false
yarn.admin.aclAdmin ACL权限控制,默认是 * (允许所有人访问)。
yarn.log-aggregation-enablefalse是否启用日志聚合功能
ResourceManager配置
yarn.resourcemanager.addresshost:port客户端提交job的地址。如果hostname将覆盖yarn.resourcemanager.hostname
yarn.resourcemanager.scheduler.addresshost:portApplicationMasters获取Scheduler的资源 同上,如果设置了hostname将覆盖yarn.resourcemanagers.hostname参数
yarn.resourcemanager.resource-tracker.addresshost:portNodeManagers地址
yarn.resourcemanager.admin.addresshost:port管理员地址
yarn.resourcemanager.webapp.addresshost:portweb-ui
yarn.resourcemanager.hostnamehostResourceManager 的host
yarn.resourcemanager.scheduler.class调度类CapacityScheduler (recommended), FairScheduler (also recommended), or FifoScheduler
yarn.scheduler.minimum-allocation-mb每个容器请求ResourceManager分配到的最低内存 ,单位MB
yarn.scheduler.maximum-allocation-mb每个容器请求ResourceManager分配到的最大内存 ,单位MB
yarn.resourcemanager.nodes.include-path / yarn.resourcemanager.nodes.exclude-path排除/允许的NodeManager列表如果有必要,那么这些文件将来控制所允许的NodeManagers列表
NodeManager配置
yarn.nodemanager.resource.memory-mb资源可用的物理内存,单位MB定义了NodeManager一共可用于允许容器的资源
yarn.nodemanager.vmem-pmem-ratio虚拟内存和物理内存的比例(一般二倍与物理内存)如果这个值是高于1的,那么任务使用的虚拟内存总量可能超过实际的物理内存总数
yarn.nodemanager.local-dirs在本地文件上存储的中间数据路径,使用逗号分隔多个路径有助于分散磁盘 I/0
yarn.nodemanager.log-dirs日志文件路径,逗号分隔多个路径有助于帮助分散磁盘I/O
yarn.nodemanager.log.retain-seconds10800默认在NodeManager保留日志的时长(单位是秒),这个参数只有在log-aggregation参数是false状态才有用
yarn.nodemanager.remote-app-log-dir/tmp/logs应用程序运行完后上传到HDFS的应用程序日志路径,需要配置权限,仅仅在log-aggregation是启用状态才有用
yarn.nodemanager.remote-app-log-dir-suffixlogs添加到的远程日志目录的路径。如果log-aggregation参数启用,那么它将会让应用日志添加到 yarn.nodemanager.remoteapplogdir/ {user}/${该参数的路径}。
yarn.nodemanager.aux-servicesmapreduce_shuffleShuffle服务,需要设置Map Reduce应用程序。
History Server配置
yarn.log-aggregation.retain-seconds-1设置保留聚合日志多久,请注意,如果这个值设置的太小将会污染你的namenode。-1表示不删除
yarn.log-aggregation.retain-check-interval-seconds-1设置多久检查一次聚合日志保留。如果设置为0或者-1那么它将默认将用yarn.log-aggregation.retain-seconds十分之一的时间去检查。这个值如果设置太小也将污染namenode.
etc/hadoop/mapred-site.xml
MapReduce Applications配置
mapreduce.framework.nameyarn允许框架,现在默认都是yarn了
mapreduce.map.memory.mb1536限制map资源的大小
mapreduce.map.java.opts-Xmx1024M设置在map中JVM的堆大小,一般是mapreduce.map.memory.mb的80%
mapreduce.reduce.memory.mb3072reduce内存的大小
mapreduce.reduce.java.opts-Xmx2560M设置reduce中JVM的堆大小,一般是mapreduce.reduce.memory.mb的80%
mapreduce.task.io.sort.mb512限制排序所能使用的内存
mapreduce.task.io.sort.factor100排序文件的时候一次同时最多可并流的个数
mapreduce.reduce.shuffle.parallelcopies50reuduce shuffle阶段并行传输数据的数量。这里改为50
MapReduce JobHistory Server配置
mapreduce.jobhistory.addressMapReduce JobHistory Server host:port默认端口是10020
mapreduce.jobhistory.webapp.addressWeb UI host:port默认是19888
mapreduce.jobhistory.intermediate-done-dir/mr-history/tmpMapReduce jobs允许历史文件的写入目录
mapreduce.jobhistory.done-dir/mr-history/done由MR JobHistory Server管理的历史文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值