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集群的高效、稳定和安全运行。

相关推荐
_.Switch1 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
2401_850410831 小时前
文件系统和日志管理
linux·运维·服务器
JokerSZ.1 小时前
【基于LSM的ELF文件安全模块设计】参考
运维·网络·安全
芯盾时代2 小时前
数字身份发展趋势前瞻:身份韧性与安全
运维·安全·网络安全·密码学·信息与通信
心灵彼岸-诗和远方3 小时前
DevOps业务价值流:架构设计最佳实践
运维·产品经理·devops
一只哒布刘3 小时前
NFS服务器
运维·服务器
苹果醋34 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
二十雨辰4 小时前
[linux]docker基础
linux·运维·docker
Jason-河山5 小时前
【自动化更新,让商品信息跳舞】——利用API返回值的幽默编程之旅
运维·自动化
lihuhelihu5 小时前
第3章 CentOS系统管理
linux·运维·服务器·计算机网络·ubuntu·centos·云计算