hadoop分布式文件系统常用配置参数

本文详细介绍了Hadoop分布式文件系统(HDFS)的常用配置参数,包括Hadoop环境变量、核心、HDFS、MapReduce和YARN的相关设置。如`JAVA_HOME`、`HADOOP_HEAPSIZE`、`fs.defaultFS`、`dfs.replication`、`mapreduce.map.memory.mb`等,这些配置对于优化Hadoop集群性能和稳定性至关重要。同时,还涵盖了安全性、资源管理和队列配置等方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件系统:
         hdfs fsck /   -files -blocks  显示文件的块信息
 
hadoop-env.sh  (脚本中要用到的环境变量,以运行hadoop)
       JAVA_HOME   设置java环境变量,例如export JAVA_HOME=/usr/software/jdk1.8.0_65
       HADOOP_HEAPSIZE  设置hadoop为各个守候进程分配的内存大小配置个数
                       如下exportHADOOP_HEAPSIZE=   默认值1G(1000M),可以被
                       yarn-env.sh中的YARN_RESOURCEMANAGER_HEAPSIZE覆盖
        HADOOP_NAMENODE_OPTS  允许向namenode的JVM传递额外的选项,
               比如-Xmx2000m表示为namenode分配2000MB内存空间
        HADOOP_SECONDARYNAMENODE_OPTS   辅助namenode的大小需要和主的基本相同,
               所以要跟随主的一起修改
        HADOOP_LOG_DIR  Hadoop生成的系统日志存放位置 
               export HADOOP_LOG_DIR=/usr/software/Hadoop/log
        HADOOP_IDENT_STRING  hadoop中的日志文件名中的用户名称部分,默认配置
               export HADOOP_IDENT_STRING=$USER
        HADOOP_SSH_OPTS      向SSH传递更多的选项
mapred-env.sh  脚本中要用到的环境变量,以运行MapReduce(覆盖hadoop-env.sh中的设置)
 
yarn-env.sh     脚本中要用到的环境变量,以运行YARN(覆盖hadoop-env.sh中的设置)
core-site.xml    Hadoop core的配置项,例如HDFS,MapReduce和YARN常用的IO设置等
          fs.defaultFS  设置为hdfs://localhost/  配置hadoop的默认的hdfs文件系统默认
                的文件系统,URI定义主机名称和namenode的RPC服务器工作的端口号,
                默认值是8020
          Io.file.buffer.size    设置IO缓冲区大小,默认4096(单位字节),建议增大为
                比如128k
          fs.trash.interval      默认值为0(单位分钟) 设置回收站清除前的保留时间
          hadoop.security.authentication=kerberos   启用kerberos认证(默认值simple)
          hadoop.security.authorization=true   启用hadoop.security.authentication中
                的设置
hdfs-site.xml    Hadoop守候进程配置项,包括namenode,辅助namenode和datanode等
         dfs.replication 设置hdfs文件系统复制块的个数
          dfs.blocksize    设置HDFS块的大小,默认128MB(单位字节)
          dfs.namenode.name.dir   namenode存储永久性的元数据(编辑日志和文件系统映像)
                的目录列表,namenode在列表上的各个目录中均存放相同的元数据文件。
                目的是支持namenode进行冗余备份。以逗号分隔。  
          dfs.datanode.data.dir  datanode存放数据块的目录列表,各个数据块分别存放在某
                一个目录中,目的是使datanode循环的在各个目录中写数据,最好为各
                个本地的磁盘指定一个存储目录。以逗号分隔。
          dfs.namenode.checkpoint.dir  辅助namenode存放检查点的目录列表,在所列每个
                目录中均存放一份检查点文件的副本。以逗号分隔。
          dfs.datanode.du.reserved  指定datanode上预留的空间大小(即非HDFS)
          dfs.client.read.shortcircuit=true   启动短回路本地读
          dfs.domain.socket.path          短回路本地读所使用的本地路径
          dfs.block.access.token.enable=true  启用块访问令牌特性
mapred-site.xml  MapReduce守候进程的配置项,包括作业历史服务器
          mapreduce.map.memory.mb   map容器所用的内存容量,默认值1024
          mapreduce.reduce.memory.mb reduce容器所用的内存容量,默认值1024
          mapreduce.map.cpu.vcores    map容器所申请的cpu的核数量,默认值1
          mapreduce.reduce.cpu.vcores reduce容器所申请的cpu的核数量,默认值1
          mapred.child.java.opts   JVM选项,用于启动运行map和reduce任务的容器进程,
                 除了用于设置内存,该属性还包括JVM属性设置,以支持调试。
                 默认值 -Xmx200m
          mapreduce.map.java.opts JVM选项,针对运行map任务的子进程,默认值-Xmx200m
          mapreduce.reduce.java.opts  JVM选项,针对运行reduce任务的子进程,
                 默认值-Xmx200m     
          mapreduce.job.reduce.slowstart.completedmaps   当map 任务完成的比例达到
                 该值后才会为reduce task申请资源,默认是0.05。
          yarn.app.ma    preduce.am.job.reduce.rampup.limit    在map任务完成之前,
                 最多启动reduce 任务比例,默认是0.5
          yarn.app.mapreduce.am.job.reduce.preemption.limit 当maptask需要资源但
                 暂时无法获取资源(比如reduce task运行过程中,部分map task
                 因结果丢失需重算)时,为了保证至少一个maptask可以得到资源,
                 最多可以抢占reduce task比例,默认是0.5。
          mapreduce.job.hdfs-servers 设置一个由逗号隔开的HDFS URI列表,以获取相应
                 的委托令牌
yarn-site.xml     YARN守候进程的配置项,包括资源管理器,web应用代理服务器和节点管理器
          Yarn.resourcemanager.hostname  运行资源管理器的机器主机名
          Yarn.resourcemanager.address   运行资源管理器的RPC服务器的主机名和端口
          Yarn.nodemanager.local-dirs     目录列表,节点管理器允许容器将中间数据
                 存于其中,当应用结束时,数据被清除。目录之间用逗号分隔
          Yarn.nodemanager.aux-services  节点管理器运行的附加服务列表,每项服务
                 由属性Yarn.nodemanager.auxservices.servicename.class所定义
                 的类实现,默认不指定
          Yarn.nodemanager.resource.memory-mb   节点管理器运行的容器可以分配的物理
                 内存容量(单位是MB,默认值8192)
          Yarn.nodemanager.vmem-pmem-ratio  容器所占的虚拟内存和物理内存之比,
                 该值指示了虚拟内存的使用可以超过所分配内存的量,默认虚拟内存
                 的上限值为2150MB,即2.1*1024(默认值2.1)
          Yarn.nodemanager.resource.cpu-vcores  节点管理器运行的容器可以分配到的
                 CPU核数目(默认值为8)
          yarn.scheduler.maximum-allocation-mb  节点管理器分配的最大内存,默认值8192
          yarn.scheduler.minimum-allocation-mb 节点管理器分配的最小内存,默认值1024
          yarn.scheduler.maximum-allocation-vcores=32  节点管理器分配的最大cpu核数
          yarn.scheduler.minimum-allocation-vcores=1   节点管理器分配的最小cpu核数
          slaves           运行datanode和节点管理器的机器列表(每行一个)
hadoop-metrics2.properties  控制如何在hadoop上发布度量的属性
log4j.properties    系统日志文件,namenode审计日志,任务jvm进程的任务日志的属性
hadoop-policy.xml  安全模式下运行hadoop时的访问控制列表的配置项
capacity-scheduler.xml  
    性能设置:
          yarn.scheduler.capacity.maximum-applications
                   设置系统中最多可同时处于等待和运行状态的应用程序数目。默认是10000.
          yarn.scheduler.capacity.maximum-am-resource-percent
                   集群中可用于运行application master的资源比例上限,这通常用于限制
                   并发运行的应用程序数目。     
          yarn.scheduler.capacity.root.queues
                   队列的所有子队列,子队列也可以细分成多个队列
          yarn.scheduler.capacity.root.default.capacity
                   default队列的资源容量,子队列分别占用资源的百分比,所有子队列的
                   和应该是100    
          yarn.scheduler.capacity.root.default.user-limit-factor
                   每个用户可使用的资源限制   
          yarn.scheduler.capacity.root.default.maximum-capacity</name>
                   Default队列可使用的资源上限.   
          yarn.scheduler.capacity.root.default.state
                   Default队列的状态,可以是RUNNING或者STOPPED. 
          yarn.scheduler.capacity.root.default.acl_submit_applications
                   限制哪些用户可向default队列中提交应用程序.
                   用户与用户之间用“,”隔开,用户和组之间用“ ”空格隔开   
          yarn.scheduler.capacity.root.default.acl_administer_queue
                   限制哪些用户可管理default队列中的应用程序,“*”表示任意用户
          yarn.scheduler.capacity.node-locality-delay
                  调度器尝试调度一个rack-localcontainer之前,最多跳过的调度机会,
                   即为了尽量调度rack-local的container,可以等待的次数,默认-1表示
                   关闭此项功能。通常而言,该值被设置成集群中机架数目,默认情况下
                   为-1,表示不启用该功能。
          yarn.scheduler.capacity.resource-calculator
                   默认的资源计算器,使用内存作为度量
          yarn.scheduler.capacity.root.default.acl_submit_applications
                            队列访问控制
          yarn.scheduler.capacity.node-locality-delay
                   容器调度器配置延迟调度参数,为正整数
   
              公平调度:
          yarn.scheduler.fair.allocation.file
                   公平调度器配置文件的路径设置(fair-scheduler.xml)
          yarn.resourcemanager.scheduler.class
                   公平调度器使用属性
          yarn.scheduler.fair.user-as-default-queue
                            设置为false,应用会被放入default队列,而不是各个用户的队列
          yarn.scheduler.fair.allow-undeclared-pools
                   设置为false,用户就不能随意的创建队列了
          yarn.scheduler.fair.fair.preemption
                   设置为true,可以全面启用抢占功能
                   (minimum/fair share preemption timeout单位秒)
          yarn.scheduler.fair.locality.threshold.node
                            设置公平调度器的延迟时间,配置的参数为节点中的百分比
                            个数中直到已经给过调度机会比例达到这个百分比
          yarn.scheduler.fair.locality.threshold.rack
                           表示在接受另一个机架替代所申请的机架之前需要等待的时长阈值
          
 
(持续更新中。。。。。。)
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值