完整教程:Hadoop面试题及详细答案 110题 (71-85)-- 集群部署与运维

news/2025/11/7 15:46:09/文章来源:https://www.cnblogs.com/slgkaifa/p/19199906

完整教程:Hadoop面试题及详细答案 110题 (71-85)-- 集群部署与运维

前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,SQL,Linux… 。

前后端面试题-专栏总目录

在这里插入图片描述

文章目录

  • 一、本文面试题目录
      • 71. 如何搭建一个Hadoop集群?(单机、伪分布式、完全分布式)
      • 72. Hadoop集群的硬件推荐配置是什么?
      • 73. Hadoop集群部署前需要做哪些准备工作?(如SSH免密、JDK安装等)
      • 74. 如何配置Hadoop的环境变量?
      • 75. 如何启动和停止Hadoop集群?(命令行操作)
      • 76. Hadoop集群的日志文件保存在哪里?如何查看?
      • 77. 如何监控Hadoop集群的健康状态?(如使用Ambari、Ganglia等)
      • 78. Hadoop集群中,NameNode或DataNode故障如何处理?
      • 79. 如何扩容或缩容Hadoop集群?
      • 80. Hadoop集群的安全配置有哪些?(如Kerberos认证)
      • 81. 如何备份和恢复Hadoop集群的元数据?
      • 82. Hadoop集群的常见故障有哪些?如何排查?
      • 83. 如何升级Hadoop集群的版本?
      • 84. Hadoop集群的性能调优有哪些方面?(如HDFS块大小、MapReduce并行度等)
      • 85. 如何配置Hadoop的HA(高可用)集群?
  • 二、110道Hadoop面试题目录列表

一、本文面试题目录

71. 如何搭建一个Hadoop集群?(单机、伪分布式、完全分布式)

Hadoop集群的搭建可分为单机模式、伪分布式模式和完全分布式模式,适用于不同场景(开发测试、生产环境等)。

72. Hadoop集群的硬件推荐配置是什么?

Hadoop集群的硬件配置需根据数据规模、计算需求和预算综合考量,以下是不同场景的推荐配置:

  • 开发/测试环境(单机或伪分布式)

    • CPU:4核及以上(如Intel i5/i7)。
    • 内存:8GB及以上(Hadoop进程对内存需求较高)。
    • 硬盘:500GB SSD(提升本地文件操作效率)。
    • 操作系统:Linux(如Ubuntu、CentOS)。
  • 生产环境(完全分布式)

    1. NameNode节点(1-2台,HA架构需备用节点):
      • 角色特点:存储元数据,IO密集型(需快速处理元数据请求)。
      • 配置:
        • CPU:8核及以上(处理并发请求)。
        • 内存:32GB及以上(元数据缓存到内存,提升访问速度)。
        • 硬盘:2块1TB SSD(做RAID 1,保障元数据可靠性)。
    2. DataNode节点(数量根据数据量扩展,通常10台以上):
      • 角色特点:存储实际数据,计算任务主要运行节点,IO和CPU密集型。
      • 配置:
        • CPU:16核及以上(支持并行Map/Reduce任务)。
        • 内存:64GB及以上(避免内存不足导致任务失败)。
        • 硬盘:4-12块4TB SATA硬盘(HDD为主,成本低,适合大容量存储;无需RAID,依赖HDFS副本机制)。
    3. ResourceManager节点(1-2台,HA架构):
      • 角色特点:调度资源,CPU和内存需求中等。
      • 配置:
        • CPU:8核及以上。
        • 内存:16GB及以上。
    4. 网络
      • 节点间推荐10Gbps以太网(减少数据传输瓶颈),Master与Slave之间带宽优先。

73. Hadoop集群部署前需要做哪些准备工作?(如SSH免密、JDK安装等)

Hadoop集群部署前需完成以下准备工作,确保环境一致性和稳定性:

  • 1. 操作系统与环境检查

    • 所有节点安装Linux系统(推荐CentOS 7/8或Ubuntu 20.04,避免Windows,因Hadoop对Linux支持更完善)。
    • 关闭防火墙(或配置端口开放,如HDFS的9000、9870,YARN的8088等):
      # CentOS关闭防火墙
      systemctl stop firewalld
      systemctl disable firewalld
    • 禁用SELinux(避免权限限制):修改/etc/selinux/config,设置SELINUX=disabled,重启生效。
  • 2. JDK安装与配置

    • Hadoop依赖Java环境,需安装JDK 8(推荐,部分Hadoop版本支持JDK 11)。
    • 解压JDK包(如jdk-8u361-linux-x64.tar.gz)到指定路径(如/usr/local/jdk1.8)。
    • 配置环境变量(/etc/profile~/.bashrc):
      export JAVA_HOME=/usr/local/jdk1.8
      export PATH=$JAVA_HOME/bin:$PATH
    • 验证:java -version显示版本信息。
  • 3. 网络配置

    • 所有节点设置静态IP(如/etc/sysconfig/network-scripts/ifcfg-eth0)。
    • 配置主机名:修改/etc/hostname(如Master节点设为hadoop-master,Slave节点设为hadoop-slave1)。
    • 配置hosts文件:/etc/hosts中添加所有节点的IP与主机名映射:
      192.168.1.100 hadoop-master
      192.168.1.101 hadoop-slave1
      192.168.1.102 hadoop-slave2
  • 4. SSH免密登录配置

    • 所有节点安装SSH服务:yum install openssh-server(CentOS)或apt install openssh-server(Ubuntu)。
    • Master节点生成SSH密钥:ssh-keygen -t rsa(一路回车,无需密码)。
    • 将公钥分发到所有节点(包括自身):
      ssh-copy-id hadoop-master
      ssh-copy-id hadoop-slave1
      ssh-copy-id hadoop-slave2
    • 验证:ssh hadoop-slave1无需输入密码即可登录。
  • 5. 时间同步

    • 集群节点时间需一致,避免因时间差导致服务异常。
    • 安装NTP服务:yum install ntp,配置与公共NTP服务器同步(如pool.ntp.org),或搭建本地NTP服务器。
    • 手动同步(临时):ntpdate time.windows.com
  • 6. 关闭Swap分区

    • 禁用Swap(避免Hadoop进程使用swap影响性能):
      swapoff -a  # 临时关闭
      # 永久关闭:注释/etc/fstab中swap相关行

74. 如何配置Hadoop的环境变量?

配置Hadoop环境变量可简化命令操作,确保系统能识别Hadoop相关命令,步骤如下:

  1. 编辑环境变量配置文件
    推荐在全局配置文件(如/etc/profile)中设置,确保所有用户可使用:

    vi /etc/profile
  2. 添加Hadoop环境变量
    在文件末尾添加以下内容(路径需替换为实际Hadoop安装路径):

    # Hadoop环境变量
    export HADOOP_HOME=/usr/local/hadoop-3.3.6
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop  # 配置文件路径
    export HADOOP_MAPRED_HOME=$HADOOP_HOME
    export HADOOP_HDFS_HOME=$HADOOP_HOME
    export HADOOP_YARN_HOME=$HADOOP_HOME
    export JAVA_HOME=/usr/local/jdk1.8  # 需与JDK配置一致
  3. 生效环境变量
    执行以下命令使配置立即生效:

    source /etc/profile
  4. 验证配置
    输入hadoop version,若显示Hadoop版本信息,则环境变量配置成功:

    Hadoop 3.3.6
    Source code repository https://github.com/apache/hadoop.git -r ...

75. 如何启动和停止Hadoop集群?(命令行操作)

Hadoop集群的启动/停止可通过脚本快速操作,需在Master节点执行(假设已配置HADOOP_HOME环境变量)。

  • 启动集群

    1. 启动HDFS
      start-dfs.sh  # 启动NameNode、DataNode、Secondary NameNode
    2. 启动YARN
      start-yarn.sh  # 启动ResourceManager、NodeManager
    3. 一键启动所有服务(包含HDFS和YARN):
      start-all.sh
  • 停止集群

    1. 停止YARN
      stop-yarn.sh
    2. 停止HDFS
      stop-dfs.sh
    3. 一键停止所有服务
      stop-all.sh
  • 验证服务状态
    在各节点执行jps命令,查看进程是否正常启动:

    • Master节点应包含:NameNodeResourceManagerSecondaryNameNode(非HA架构)。
    • Slave节点应包含:DataNodeNodeManager

76. Hadoop集群的日志文件保存在哪里?如何查看?

Hadoop集群的日志分为服务日志(如NameNode、DataNode)和应用日志(如MapReduce任务),存储路径和查看方式如下:

77. 如何监控Hadoop集群的健康状态?(如使用Ambari、Ganglia等)

监控Hadoop集群需实时跟踪节点状态、资源使用率、任务进度等,常用工具如下:

  • 1. 内置Web界面

    • HDFS监控:访问http://<NameNode主机名>:9870,可查看集群总容量、已用空间、DataNode状态、块信息等。
    • YARN监控:访问http://<ResourceManager主机名>:8088,可查看集群资源(CPU、内存)使用情况、运行中的应用、节点状态等。
  • 2. Ambari(推荐生产环境)

    • 原理:Apache Ambari是开源的集群管理工具,支持Hadoop集群的部署、监控、告警和配置管理,提供可视化Web界面。
    • 特点:
      • 支持多组件监控(HDFS、YARN、Hive、Spark等)。
      • 实时显示节点健康状态、资源使用率,并可设置告警(如节点宕机、磁盘满)。
    • 使用步骤:
      1. 安装Ambari Server和Agent(需提前配置数据库,如MySQL)。
      2. 通过Ambari Web界面(默认http://<Ambari主机名>:8080)添加集群节点,选择需安装的服务。
      3. 在“Dashboard”查看集群概览,在“Hosts”查看节点详情。
  • 3. Ganglia

    • 原理:分布式监控系统,通过收集节点的CPU、内存、网络等指标,生成图表展示集群性能趋势。
    • 组成:
      • gmond(在每个节点运行,收集本地指标)。
      • gmetad(聚合所有gmond的数据)。
      • Web界面(展示监控图表)。
    • 特点:轻量级,适合监控大规模集群的资源使用趋势。
  • 4. Nagios

    • 原理:专注于告警的监控工具,可配置对Hadoop服务(如NameNode端口是否存活)、节点状态的检查,异常时通过邮件/短信告警。
    • 特点:告警机制灵活,可自定义监控脚本(如检查HDFS副本完整性)。

78. Hadoop集群中,NameNode或DataNode故障如何处理?

NameNode和DataNode是HDFS的核心组件,故障处理需根据角色特点采取不同策略:

  • 1. NameNode故障

    • 影响:NameNode存储元数据,故障会导致整个HDFS集群不可用(无法读写文件)。
    • 处理方法
      1. 非HA架构(依赖Secondary NameNode):
        • 停止所有HDFS服务:stop-dfs.sh
        • 从Secondary NameNode恢复元数据(Secondary NameNode定期合并edits和fsimage):
          # 将Secondary NameNode的元数据复制到NameNode的数据目录
          scp -r hadoop-secondary:/$HADOOP_HOME/dfs/namesecondary/* /$HADOOP_HOME/dfs/name/
        • 重启HDFS:start-dfs.sh
      2. HA架构(Active/Standby NameNode):
        • 自动故障转移:通过ZooKeeper监测Active NameNode状态,故障时Standby自动切换为Active。
        • 手动切换(若自动切换失败):
          hdfs haadmin -failover --forcefence --forceactive active-nn standby-nn
  • 2. DataNode故障

    • 影响:DataNode存储数据块,单节点故障不会导致数据丢失(依赖副本机制),但可能影响读写性能。
    • 处理方法
      1. 检查故障原因(如网络中断、磁盘损坏),修复后重启DataNode:
        hdfs --daemon start datanode
      2. 若节点无法修复(如硬件报废):
        • 从集群中移除节点:在workers文件中删除该节点主机名,重启HDFS。
        • HDFS会自动检测缺失的块,在其他DataNode上重新复制副本(通过Balancer均衡数据):
          hdfs balancer  # 平衡数据分布

79. 如何扩容或缩容Hadoop集群?

Hadoop集群支持动态扩容(增加节点)和缩容(移除节点),以适应数据量或计算需求的变化。

  • 1. 扩容集群(增加DataNode节点)
    步骤:

    1. 准备新节点:按照“集群部署前准备工作”配置新节点(安装JDK、Hadoop、SSH免密、时间同步等),确保与现有集群环境一致。
    2. 在新节点上配置Hadoop:复制Master节点的$HADOOP_HOME/etc/hadoop目录到新节点(保持配置一致)。
    3. 在Master节点的workers文件(Hadoop 3.x)中添加新节点的主机名。
    4. 启动新节点的DataNode和NodeManager:
      # 在新节点执行
      hdfs --daemon start datanode
      yarn --daemon start nodemanager
    5. 验证:通过HDFS Web界面(http://namenode:9870/datanode.html)查看新节点是否加入。
    6. 平衡数据:新节点加入后,使用Balancer将数据均匀分布到所有节点:
      hdfs balancer -threshold 10  # 数据不平衡率低于10%时停止
  • 2. 缩容集群(移除DataNode节点)
    步骤:

    1. 在Master节点标记待移除的节点(避免数据丢失):
      # 编辑hdfs-site.xml,添加待退役节点(临时生效)
      hdfs dfsadmin -decommission datanode-hostname start
    2. 监控退役进度:通过hdfs dfsadmin -decommission datanode-hostname status查看,当状态为“Decommissioned”时,节点上的数据已复制到其他节点。
    3. 停止待移除节点的服务:
      hdfs --daemon stop datanode
      yarn --daemon stop nodemanager
    4. 在Master节点的workers文件中删除该节点的主机名,使配置永久生效。

80. Hadoop集群的安全配置有哪些?(如Kerberos认证)

Hadoop集群默认安全性较低(如无认证机制),生产环境需配置以下安全措施:

  • 1. Kerberos认证

    • 原理:Kerberos是网络认证协议,通过密钥体系验证用户和服务身份,防止未授权访问。
    • 配置步骤:
      1. 部署Kerberos服务器(KDC),创建管理员账户和数据库。
      2. 为Hadoop服务(如NameNode、ResourceManager)和用户创建Kerberos主体(Principal)。
      3. 在Hadoop配置文件中开启Kerberos认证:
        • core-site.xml
          <property>
          <name>hadoop.security.authentication</name>
          <value>kerberos</value>
          </property>
        • hdfs-site.xml
          <property>
          <name>dfs.namenode.kerberos.principal</name>
          <value>hdfs/_HOST@EXAMPLE.COM</value>
          </property>
      4. 生成密钥表(keytab)并分发到各节点,确保服务可自动登录Kerberos。
  • 2. 授权控制(HDFS权限与ACLs)

    • HDFS文件系统支持类Unix权限(用户、组、其他权限),可通过命令设置:
      hdfs dfs -chmod 755 /user/data  # 设置目录权限
    • 高级授权:使用ACLs(访问控制列表)细化权限(如允许特定用户访问):
      hdfs dfs -setfacl -m user:alice:rwx /user/data  # 允许用户alice读写执行
  • 3. 数据加密

    • 传输加密:启用SSL/TLS加密Hadoop组件间的通信(如NameNode与DataNode),配置ssl-server.xmlssl-client.xml
    • 存储加密:HDFS支持透明数据加密(TDE),对敏感数据在写入时加密,读取时解密,需配置密钥管理服务(如KMS)。
  • 4. 审计日志

    • 开启HDFS和YARN的审计日志,记录用户操作(如文件创建、删除,任务提交),便于追溯安全事件:
      • hdfs-site.xml中配置dfs.audit.log.enabledtrue

81. 如何备份和恢复Hadoop集群的元数据?

HDFS的元数据(存储在NameNode)是集群的核心,需定期备份以防丢失,备份和恢复方法如下:

  • 1. 元数据备份
    元数据包含fsimage(元数据快照)和edits(操作日志),备份方式:

    1. 利用Secondary NameNode
      Secondary NameNode定期合并editsfsimage,生成新的fsimage,默认存储在dfs.namenode.name.dir配置的路径(如/hadoop/dfs/namesecondary),可定期复制该目录到备份存储(如异地服务器)。
    2. 手动备份
      # 手动触发元数据合并
      hdfs dfsadmin -saveNamespace
      # 复制合并后的元数据到备份目录
      cp -r $HADOOP_HOME/dfs/name/current /backup/hdfs_metadata/$(date +%Y%m%d)
    3. 定时任务:通过crontab配置每日自动备份:
      0 0 * * * hdfs dfsadmin -saveNamespace && cp -r /hadoop/dfs/name/current /backup/hdfs_metadata/$(date +%Y%m%d)
  • 2. 元数据恢复
    当NameNode的元数据损坏或丢失时,恢复步骤:

    1. 停止HDFS服务:stop-dfs.sh
    2. 清除NameNode现有元数据目录(如/hadoop/dfs/name/current)。
    3. 复制备份的元数据到NameNode的数据目录:
      cp -r /backup/hdfs_metadata/20240501/* /hadoop/dfs/name/current/
    4. 重启HDFS:start-dfs.sh
    5. 验证:通过hdfs dfs -ls /检查文件目录是否恢复正常。

82. Hadoop集群的常见故障有哪些?如何排查?

Hadoop集群常见故障及排查方法如下:

  • 1. NameNode无法启动

    • 可能原因:元数据损坏、端口被占用、权限不足。
    • 排查:
      • 查看NameNode日志($HADOOP_HOME/logs/hadoop-*-namenode-*.log),搜索“ERROR”关键词。
      • 检查元数据目录权限:ls -ld /hadoop/dfs/name,确保Hadoop用户有读写权限。
      • 检查端口9000(默认)是否被占用:netstat -tunlp | grep 9000, kill占用进程。
  • 2. DataNode启动后自动关闭

    • 可能原因:与NameNode通信失败、数据目录损坏、心跳超时。
    • 排查:
      • 检查DataNode日志,若显示“Invalid block pool ID”,可能是DataNode元数据与NameNode不一致,删除DataNode的数据目录(/hadoop/dfs/data)后重启。
      • 验证网络:ping namenode-hosttelnet namenode-host 9000,确保通信正常。
  • 3. YARN任务提交失败

    • 可能原因:资源不足(CPU/内存)、NodeManager未启动、Shuffle服务异常。
    • 排查:
      • 查看YARN Web界面(http://resourcemanager:8088),检查节点是否正常(“Nodes”页面)。
      • 查看任务日志:yarn logs -applicationId <AppID>,搜索失败原因(如“Container killed by YARN for exceeding memory limits”)。
      • 调整YARN资源配置(yarn-site.xml),如增加yarn.nodemanager.resource.memory-mb
  • 4. HDFS读写文件失败

    • 可能原因:副本不足、DataNode宕机、块损坏。
    • 排查:
      • 检查文件副本状态:hdfs fsck /path/to/file,若显示“MISSING”块,需修复:hdfs fsck /path/to/file -delete(删除损坏块)或等待HDFS自动复制。
      • 查看HDFS Web界面,确认DataNode是否正常在线。
  • 5. 集群时间同步问题

    • 可能原因:节点间时间差过大(超过30秒),导致Kerberos认证失败或任务调度异常。
    • 排查:
      • 检查各节点时间:date,若不一致,执行ntpdate ntp-server同步。

83. 如何升级Hadoop集群的版本?

Hadoop版本升级需谨慎操作,避免数据丢失或服务中断,推荐“滚动升级”(不停止整个集群):

  • 前提条件

    • 升级前备份元数据(fsimageedits)和配置文件。
    • 确保集群处于健康状态:hdfs dfsadmin -report显示所有DataNode正常。
  • 升级步骤(以2.x升级到3.x为例)

    1. 准备新Hadoop版本
      下载目标版本(如hadoop-3.3.6.tar.gz),解压到新目录(如/usr/local/hadoop-3.3.6),复制旧版本的配置文件(etc/hadoop)到新版本,并根据官方文档修改不兼容的配置(如3.x中部分配置项名称变更)。

    2. 滚动升级HDFS

      • 升级NameNode:
        # 停止旧版本NameNode
        hdfs --daemon stop namenode
        # 使用新版本启动NameNode(升级模式)
        export HADOOP_HOME=/usr/local/hadoop-3.3.6
        $HADOOP_HOME/bin/hdfs --daemon start namenode -upgrade
      • 升级DataNode(逐个节点,避免数据不可用):
        # 停止旧版本DataNode
        hdfs --daemon stop datanode
        # 启动新版本DataNode
        $HADOOP_HOME/bin/hdfs --daemon start datanode
      • 验证HDFS状态:hdfs dfsadmin -upgradeProgress status,确认所有DataNode升级完成。
    3. 滚动升级YARN

      • 升级ResourceManager和NodeManager,步骤类似HDFS,先升级Master节点,再逐个升级Slave节点。
    4. 完成升级

      • 确认所有组件正常运行后,提交升级:
        hdfs dfsadmin -finalizeUpgrade
      • 清理旧版本文件,更新环境变量HADOOP_HOME为新版本路径。

84. Hadoop集群的性能调优有哪些方面?(如HDFS块大小、MapReduce并行度等)

Hadoop集群性能调优需从HDFS、MapReduce、YARN等组件综合优化,关键方向如下:

  • 1. HDFS调优

    • 块大小(Block Size):默认128MB(Hadoop 3.x),大文件可增大至256MB,减少块数量和元数据开销;小文件多则保持默认或减小,避免块过多占用NameNode内存。
      • 配置:hdfs-site.xmldfs.blocksize
    • 副本数(Replication):根据数据重要性和集群规模调整,生产环境通常设为3(默认),非重要数据可设为2以节省空间。
    • DataNode缓存:将热点数据缓存到DataNode内存(dfs.datanode.max.locked.memory),提升读取速度。
    • 平衡器(Balancer):定期运行hdfs balancer,避免数据集中在少数节点导致IO瓶颈。
  • 2. MapReduce调优

    • Map/Reduce并行度
      • Map数量:由输入文件的块数决定,可通过mapreduce.job.maps调整(建议每个Map处理128-256MB数据)。
      • Reduce数量:默认1,根据输出数据量调整(通常设为集群节点数的1-2倍),通过mapreduce.job.reduces配置。
    • Shuffle优化
      • 增大Map端缓冲区(mapreduce.task.io.sort.mb,默认100MB),减少溢写次数。
      • 启用压缩(如Snappy):mapreduce.map.output.compress=true,减少Shuffle阶段数据传输量。
    • Combiner使用:对适合聚合的场景(如WordCount)启用Combiner,减少Map输出数据量。
  • 3. YARN资源调优

    • 资源分配:根据节点硬件配置调整yarn.nodemanager.resource.memory-mb(节点总内存)和yarn.nodemanager.resource.cpu-vcores(CPU核心数)。
    • Container资源:设置单个Container的内存(yarn.scheduler.minimum-allocation-mb)和CPU(yarn.scheduler.minimum-allocation-vcores),避免资源浪费。
    • 调度器选择:生产环境推荐Capacity Scheduler或Fair Scheduler,而非默认的FIFO,以支持多队列资源隔离。
  • 4. 小文件处理

    • 使用HAR(Hadoop Archive)合并小文件:hadoop archive -archiveName files.har -p /input /output
    • 启用HDFS Federation,通过多个NameNode分担小文件元数据压力。

85. 如何配置Hadoop的HA(高可用)集群?

Hadoop HA(High Availability)架构通过部署备用节点避免单点故障,以HDFS HA和YARN HA为例:

  • HDFS HA配置(基于QJM的共享存储)
    原理:部署两个NameNode(Active和Standby),通过Quorum Journal Manager(QJM)共享edits日志,确保元数据一致,ZooKeeper负责故障检测和自动切换。

    配置步骤:

    1. 配置core-site.xml:指定HDFS命名服务(如mycluster

      <property>
      <name>fs.defaultFS</name>
      <value>hdfs://mycluster</value>
      </property>
    2. 配置hdfs-site.xml

      • 定义NameNode节点:
        <property>
        <name>dfs.nameservices</name>
        <value>mycluster</value>
        </property>
        <property>
        <name>dfs.ha.namenodes.mycluster</name>
        <value>nn1,nn2</value>  <!-- nn1:Active, nn2:Standby -->
        </property>
        <property>
        <name>dfs.namenode.rpc-address.mycluster.nn1</name>
        <value>node1:8020</value>
        </property>
        <property>
        <name>dfs.namenode.rpc-address.mycluster.nn2</name>
        <value>node2:8020</value>
        </property>
      • 配置QJM共享存储(至少3个JournalNode节点):
        <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://node1:8485;node2:8485;node3:8485/mycluster</value>
        </property>
      • 启用自动故障转移:
        <property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
        </property>
    3. 配置ZooKeeper:部署ZooKeeper集群,HDFS通过ZKFC(ZooKeeper Failover Controller)监测NameNode状态。

    4. 初始化HA集群

      • 格式化NameNode:hdfs namenode -format,并复制元数据到Standby节点。
      • 初始化ZKFC:hdfs zkfc -formatZK
      • 启动HDFS:start-dfs.sh,自动选举Active NameNode。
  • YARN HA配置
    原理:部署两个ResourceManager(Active和Standby),通过ZooKeeper实现状态同步和故障转移。

    配置步骤(yarn-site.xml):

    <property>
    <name>yarn.resourcemanager.ha.enabled</name>
    <value>true</value>
    </property>
    <property>
    <name>yarn.resourcemanager.cluster-id</name>
    <value>yarncluster</value>
    </property>
    <property>
    <name>yarn.resourcemanager.ha.rm-ids</name>
    <value>rm1,rm2</value>
    </property>
    <property>
    <name>yarn.resourcemanager.hostname.rm1</name>
    <value>node1</value>
    </property>
    <property>
    <name>yarn.resourcemanager.hostname.rm2</name>
    <value>node2</value>
    </property>
    <property>
    <name>yarn.resourcemanager.zk-address</name>
    <value>node1:2181,node2:2181,node3:2181</value>
    </property>

    启动YARN:start-yarn.sh,通过yarn rmadmin -getServiceState rm1查看节点状态。

二、110道Hadoop面试题目录列表

文章序号Hadoop面试题110道
1Hadoop面试题及详细答案110道(01-15)
2Hadoop面试题及详细答案110道(16-35)
3Hadoop面试题及详细答案110道(36-55)
4Hadoop面试题及详细答案110道(56-70)
5Hadoop面试题及详细答案110道(71-85)
6Hadoop面试题及详细答案110道(86-95)
7Hadoop面试题及详细答案110道(96-105)
8Hadoop面试题及详细答案110道(106-110)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/958914.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Codeforces Global Round 30 (div.1 + div.2) A~E 题解

A 题面 给定一个长为 \(n\) 的数组 \(a\) 和一个整数 \(x\),每次操作可以将 \(a\) 中相邻两个数替换为他们之间的某个数,问最后有没有可能剩下的数大小为 \(x\)。 \( 1 \le n \le 100 \\ -10^9 \le a_i \le 10^9 \\ …

2025 年最新推荐!国内胶粘剂源头厂家优质品牌排行榜:聚焦实力厂商,助力企业精准选品水性胶粘剂 / 电子胶粘剂 / 注塑胶粘剂公司推荐

引言 当前新材料产业高速发展,胶粘剂作为工业生产关键配套材料,其质量、性能与供应稳定性,直接决定下游 3C 电子、新能源汽车、医疗器械等行业的生产效率与产品品质。但市场上胶粘剂源头厂家数量繁杂,部分厂商存在…

工业互联网高级计划排程(APS):智能制造时代的生产协同核心引擎

在当今高度复杂且动态变化的制造业环境中,企业对生产效率和资源优化能力的要求不断提升。传统的生产计划方式主要依赖经验判断或基于无限产能假定的物料需求计划(MRP)系统,逐渐难以应对多品种、小批量、短交期的市…

Ubuntu VNC传输文件

发送文件 选择 第五个“口口” 文件夹是桌面 FETCH FILEs TO : 设置接收文件的路径

【IEEE出版|往届均已完成EI检索】第四届地理信息与遥感技术国际学术会议(GIRST 2025)

第四届地理信息与遥感技术国际学术会议(GIRST 2025)将于2025年11月27日至29日在意大利罗马召开,将同步开设线上会场。本次会议旨在汇聚地理信息和遥感领域的专家、研究人员和从业者,交流知识并讨论最新进展。随着技…

Studio 3T 2025.19 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端

Studio 3T 2025.19 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端Studio 3T 2025.19 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端 The Ultimate GUI, IDE and client for MongoDB 请…

vue3+ts 简单封装axios:实现错误重试、重复请求取消、手动取消

注意:需要安装crypto-js库在utils\request.ts中: import axios from "axios"; import type { InternalAxiosRequestConfig, AxiosResponse, AxiosInstance } from "axios"; import { useRequery…

2025 年压敏胶源头厂家最新推荐榜单:覆盖多类型产品且经协会测评的权威甄选指南耐高温压敏胶/环保压敏胶/水性压敏胶/医用压敏胶公司推荐

引言 压敏胶作为工业生产关键粘接材料,广泛应用于厨具家电、汽车制造、医疗器材、电子电气等行业。随着市场需求增长,源头厂家数量激增,部分厂家存在生产规模小、技术水平低等问题,导致产品质量不稳定,难以满足企…

window.open()与session

//window.open()打开的新页签会继承父页签的session,在新页签中通过sessionStorage.clear()清除session会同时清除父页签的session //解决方法 // 创建一个具有独立 sessionStorage 的新窗口window.open(url, _blank,…

2025年安全网与遮阳网厂家综合实力Top5

1、诚瑞信 作为行业领军企业,诚瑞信凭借20余年的专业生产经验,在安全网和遮阳网领域展现出卓越的综合实力。公司拥有10000平方米的现代化生产基地,配备30台先进生产设备,年产值达千万级别。产品线涵盖建筑用密目式…

2025年热门的安全检测检验公司榜单

摘要 安全检测检验行业在2025年持续增长,随着矿山安全法规的加强和数字化转型,企业对于可靠检测服务的需求日益提升。本文基于行业数据和用户反馈,整理了市面上前十名安全检测检验公司排名,为矿山企业提供参考。表…

2025年安全检测检验公司排行榜:前十名权威推荐与行业洞察

摘要 安全检测检验行业在2025年持续快速发展,随着矿山安全法规的加强和数字化转型,企业对专业检测服务的需求日益增长。本文基于市场调研和权威数据,整理了市面上安全检测检验公司的排名前十榜单,旨在为矿山企业提…

2025年有实力的安全检测检验公司热门排行前十强榜单

摘要 随着矿山安全意识的提升,安全检测检验行业在2025年迎来快速发展,行业内公司竞争激烈。本文基于行业数据和用户评价,整理了市面上有实力的安全检测检验公司排名前十,旨在为矿山企业提供参考。排名综合考虑了技…

2025年11月四川护栏厂家排名榜:五家实力对比与选购指南

如果您正在四川寻找可长期合作的护栏厂家,大概率正面临“项目工期紧、规格多、预算有限”的三重压力。市政道路升级、河道整治、楼盘阳台交付节点往往集中在年底,一旦供货延迟,牵一发动全身。过去两年,四川住建部门…

2025年11月四川护栏厂家推荐榜:五强产能对比与口碑评价全解析

年底临近,四川各地市政、房建、交安项目进入集中收尾阶段,护栏作为道路、河道、阳台、桥梁的“安全最后一道防线”,采购量陡增。很多工程负责人、开发商、总包单位在同时面对“工期紧、价差大、标准多”的三重压力:…

同城洗车小程序系统:一站式洗车服务解决方案

一、概述总结 同城洗车小程序系统是一款适配微信小程序与支付宝小程序的专业服务工具,支持 PHP7.3 及 PHP7.4 运行环境,以微擎系统在线交付,提供未加密源码保障官方正品权益。系统核心聚焦同城洗车服务的供需对接,…

2025 年物业管理公司服务口碑排行榜权威发布:五标认证企业与精细化服务实力最新推荐政府机构/写字楼/商场/园区物业管理公司服务推荐

引言 随着城市化进程加快,物业管理行业已成为保障生活与工作秩序的核心力量,但行业服务质量两极分化问题显著,头部企业与尾部企业服务得分差距可达 25 分以上。为精准筛选优质企业,行业协会开展专项测评,采用百分…

Tauri跨平台开发:Rust后端+React前端桌面应用实践 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

魔方报名缴费系统:高效便捷的全流程报名解决方案

一、概述总结 魔方报名缴费系统是一款基于 PHP+MYSQL 开源技术开发的微信小程序应用,专为学校、事业单位打造成熟、专业且安全的报名缴费全流程解决方案。系统凭借管理精细、贴合行业特征、注重用户体验等优势,在高校…

2025 物业托管公司最新推荐榜:权威测评出炉,,多业态服务实力甄选园区/银行/剧院/商业物业托管公司服务推荐

引言 物业托管行业规模持续扩张,但资质缺失、服务断层等问题仍制约发展。为此,行业协会联合第三方机构开展专项测评,形成最新服务推荐榜单。本次测评采用 SERVQUAL 服务质量差距模型,从有形性、可靠性、响应性、保…