Hadoop-HDFS-core-site.xml,hdfs-site.xml,yarn-site.xml,krb5.conf 都是做什么的?

hdfs的core-site.xml

core-site.xml是Hadoop集群的核心配置文件,包含了 Hadoop 全局级别的配置设置。这些设置不仅影响 HDFS(Hadoop Distributed File System),还影响 YARN 和 MapReduce 等其他组件。:

常见配置
  • fs.default.name:指定HDFS的NameNode的URI,包括协议、主机名和端口号。这是集群中每一台机器都需要知道的NameNode地址,DataNode和独立的客户端程序都通过这个URI与NameNode交互。
  • hadoop.tmp.dir:Hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配置NameNode和DataNode的存放位置,默认就放在这个路径下。
  • io.file.buffer.size:指定文件读写时使用的缓冲区大小。
  • fs.trash.interval:清理回收站的间隔,单位为分钟,默认为0,表示hdfs里删除的文件不会进入回收站,而是直接删除,可以按需修改
代码示例
xml 复制代码
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131702</value>
    </property>
    <property>
        <name>fs.trash.interval</name>
        <value>1440</value>
    </property>
</configuration>

hdfs-site.xml

hdfs-site.xml 是 HDFS 的特定配置文件,包含了与 HDFS 相关的配置设置。这些设置主要用于调整 HDFS 的行为和性能。

常见配置
  • dfs.replication:决定HDFS中文件块的数据备份个数。对于一个实际的应用,通常设为3,以保证数据的可靠性。少于三个的备份可能会影响到数据的可靠性(系统故障时,可能会造成数据丢失)。
  • dfs.name.dir:NameNode存储Hadoop文件信息的本地系统路径。这个值只对NameNode有效,DataNode并不需要使用它。
  • dfs.data.dir:DataNode在本地磁盘存放block的位置,可以是以逗号分隔的目录列表。DataNode循环向磁盘中写入数据,每个DataNode可单独指定与其它DataNode不一样的存储路径。
  • dfs.namenode.http-address:指定 NameNode 的 HTTP 地址。
  • dfs.permissions.enabled:启用或禁用 HDFS 的权限检查。
  • dfs.namenode.handler.count:NameNode用来处理来自DataNode的RPC请求的线程数量。建议设置为DataNode数量的10%,一般在10~200个之间。
  • dfs.datanode.handler.count:DataNode用来连接NameNode的RPC请求的线程数量,取决于系统的繁忙程度。设置太小会导致性能下降甚至报错。
  • dfs.datanode.max.xcievers:DataNode可以同时处理的数据传输连接数。默认值通常是256,但根据集群的规模和需求,可能需要调整这个值。
代码示例
xml 复制代码
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/hdfs/data</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:9001</value>
    </property>
</configuration>

yarn-site.xml

yarn-site.xml是YARN的配置文件,它包含了YARN的各种配置信息,如ResourceManager的地址、NodeManager的资源配置、日志级别、任务调度器等。关键配置包括:

常见配置
  • yarn.resourcemanager.hostname:指定 ResourceManager 的主机名。
  • yarn.nodemanager.aux-services:指定YARN节点管理器所使用的辅助服务。
  • yarn.log-aggregation-enable:设置为true时,YARN将启用日志聚合功能。这意味着,运行完成的Container或任务的日志将被上传到HDFS(Hadoop分布式文件系统)上,而不是保存在各个NodeManager的本地磁盘上。这一功能有助于减轻NodeManager的负载,并提供一个中央化的存储和分析机制,使得用户可以更方便地查看和管理日志。
  • yarn.log-aggregation.retain-seconds: 用于指定这些聚合后的日志在HDFS上保存的时间,单位为秒。超过这个时间后,系统将自动删除这些日志,以节省存储空间。
  • yarn.resourcemanager.address:ResourceManager暴露给Client的地址,Client可以利用这个地址向ResourceManager提交应用程序,也可以用来杀死某个应用程序等。
  • yarn.resourcemanager.scheduler.address:ResourceManager暴露给ApplicationMaster的访问地址,ApplicationMaster可以通过该地址从ResourceManager处申请和释放资源。
  • yarn.resourcemanager.resource-tracker.address:ResourceManager暴露给NodeManager的地址,NodeManager可以通过该地址向ResourceManager发送心跳,也可以拉取到待执行的任务。
  • yarn.nodemanager.resource.memory-mb:NodeManager的可用物理内存总量。这个参数一旦被设置,在YARN的整个运行过程中不允许被动态修改。
  • yarn.nodemanager.vmem-pmem-ratio:用于设置一个比例,即每使用1MB的物理内存最多可以用多大的虚拟内存。
  • yarn.nodemanager.resource.cpu-vcores:NodeManager的可用虚拟CPU总数。
代码示例
xml 复制代码
<configuration>
<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>640800</value>
    </property>

</configuration>

krb5.conf

krb5.conf文件包含Kerberos的配置信息,它是Kerberos认证和授权机制的核心配置文件。关键配置包括:

常见配置
  • libdefaults:Kerberos V5库使用的设置,如加密类型、校验和类型、凭据缓存类型等。
  • realms:特定域的联系信息和设置,如KDC(Key Distribution Centers)的位置、域的管理员服务器位置等。
  • domain_realm:将服务器主机名映射到Kerberos域,用于确定一个主机名属于哪个Kerberos域。
  • capaths:非层次跨域认证路径的配置,用于指定不同Kerberos域之间的认证路径。

总结

  • core-site.xml:包含 Hadoop 的全局配置设置。
  • hdfs-site.xml:包含 HDFS 特定的配置设置。
  • yarn-site.xml:包含 YARN 资源管理和调度相关的配置设置。
  • krb5.conf:包含 Kerberos 客户端的配置设置,用于安全认证。

这些配置文件共同构成了Hadoop集群和Kerberos认证机制的完整配置体系,它们之间的协同工作确保了Hadoop集群的高效、稳定和安全运行。

相关推荐
刘马想放假30 分钟前
Docker 从入门到进阶:一篇写给工程师的系统化实战指南
运维·docker·容器
梦想的旅途21 小时前
利用 API 实现企业微信消息自动化推送
运维·自动化·企业微信
Acrellea1 小时前
固态变压器(SST)热管理破局:安科瑞交直流专属测温方案护航无人值守运维
运维·网络
前网易架构师-高司机2 小时前
带标注的山体滑坡塌方数据集数据集,识别率78.1%,974张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·自然灾害·山体滑坡
寒冰碧海2 小时前
大模型部署从0到1(一):通用环境全流程准备|NVIDIA驱动+Docker+NVIDIA Container Toolkit
运维·docker·容器
风曦Kisaki2 小时前
# Linux 系统资源查看命令总结(附命令快查表)
linux·运维·服务器
蝶恋舞者3 小时前
DNS 服务器(后续持续更新)
运维·服务器
Mortalbreeze3 小时前
深入理解 Linux 线程机制(四):线程同步——条件变量与信号量
linux·运维·服务器·开发语言·c++
汤愈韬4 小时前
KYCA运维认证
运维·服务器·网络
ZENERGY-众壹4 小时前
50MW分布式VPP接入实战:调度中心要求的1分钟频率如何不卡死API
运维·服务器·分布式·光伏运维