首页主机资讯CentOS HDFS与YARN集成实践

CentOS HDFS与YARN集成实践

时间2025-10-11 21:13:06发布访客分类主机资讯浏览1148
导读:CentOS环境下HDFS与YARN集成实践指南 HDFS(Hadoop分布式文件系统)负责分布式存储,YARN(Yet Another Resource Negotiator)负责资源管理与任务调度,二者集成是构建Hadoop大数据生态的...

CentOS环境下HDFS与YARN集成实践指南
HDFS(Hadoop分布式文件系统)负责分布式存储,YARN(Yet Another Resource Negotiator)负责资源管理与任务调度,二者集成是构建Hadoop大数据生态的核心步骤。以下是在CentOS系统上的详细集成实践流程:

一、前置准备

集成前需完成以下基础配置,确保集群环境一致性:

  1. 系统环境配置
    • 使用CentOS 7及以上版本操作系统;
    • 关闭防火墙(systemctl stop firewalld & & systemctl disable firewalld)以简化端口测试;
    • 禁用SELinux(setenforce 0并修改/etc/selinux/configSELINUX=disabled);
    • 配置NTP时间同步(如yum install chrony -y & & systemctl enable --now chronyd),避免节点间时间偏差。
  2. 主机名与IP映射
    编辑所有节点的/etc/hosts文件,添加< IP地址> < 主机名> 映射(如192.168.1.100 namenode192.168.1.101 datanode1),确保主机名解析正确。
  3. SSH无密钥登录
    在NameNode节点生成SSH密钥(ssh-keygen -t rsa),并将公钥(id_rsa.pub)复制到所有DataNode节点(ssh-copy-id datanode1),实现免密登录。
  4. 安装JDK 8
    所有节点安装OpenJDK 8(yum install java-1.8.0-openjdk-devel -y),并通过java -version验证安装(需显示1.8.0版本)。

二、Hadoop安装与基础配置

  1. 下载与解压Hadoop
    从Apache官网下载Hadoop稳定版(如3.3.1),解压至/usr/local/目录:
    wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
    tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/
    
  2. 配置环境变量
    编辑/etc/profile.d/hadoop.sh文件,添加以下内容:
    export HADOOP_HOME=/usr/local/hadoop-3.3.1
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
    执行source /etc/profile.d/hadoop.sh使配置生效。
  3. 核心配置文件修改
    • core-site.xml(HDFS核心配置):
      <
          configuration>
          
          <
          property>
          
              <
          name>
          fs.defaultFS<
          /name>
          
              <
          value>
          hdfs://namenode:9000<
          /value>
           <
          !-- NameNode地址 -->
          
          <
          /property>
          
      <
          /configuration>
          
      
    • hdfs-site.xml(HDFS副本与数据目录):
      <
          configuration>
          
          <
          property>
          
              <
          name>
          dfs.replication<
          /name>
          
              <
          value>
          1<
          /value>
           <
          !-- 副本数(生产环境建议≥3) -->
          
          <
          /property>
          
          <
          property>
          
              <
          name>
          dfs.namenode.name.dir<
          /name>
          
              <
          value>
          /usr/local/hadoop-3.3.1/data/namenode<
          /value>
           <
          !-- NameNode数据目录 -->
          
          <
          /property>
          
          <
          property>
          
              <
          name>
          dfs.datanode.data.dir<
          /name>
          
              <
          value>
          /usr/local/hadoop-3.3.1/data/datanode<
          /value>
           <
          !-- DataNode数据目录 -->
          
          <
          /property>
          
      <
          /configuration>
          
      
    • yarn-site.xml(YARN资源管理配置):
      <
          configuration>
          
          <
          property>
          
              <
          name>
          yarn.resourcemanager.hostname<
          /name>
          
              <
          value>
          namenode<
          /value>
           <
          !-- ResourceManager所在节点 -->
          
          <
          /property>
          
          <
          property>
          
              <
          name>
          yarn.nodemanager.aux-services<
          /name>
          
              <
          value>
          mapreduce_shuffle<
          /value>
           <
          !-- MapReduce Shuffle服务 -->
          
          <
          /property>
          
      <
          /configuration>
          
      
    • mapred-site.xml(MapReduce框架绑定):
      mapred-site.xml不存在,可复制模板生成(cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml),然后添加:
      <
          configuration>
          
          <
          property>
          
              <
          name>
          mapreduce.framework.name<
          /name>
          
              <
          value>
          yarn<
          /value>
           <
          !-- 绑定YARN作为资源调度框架 -->
          
          <
          /property>
          
      <
          /configuration>
          
      

三、HDFS集群初始化与启动

  1. 格式化NameNode
    在NameNode节点执行格式化命令(仅首次启动需执行,会清除已有数据):
    hdfs namenode -format
    
  2. 启动HDFS集群
    执行start-dfs.sh脚本启动HDFS服务,启动后可通过jps命令查看进程:
    start-dfs.sh
    jps  # 应显示NameNode、DataNode进程(若配置了SecondaryNameNode,也会显示)
    
  3. 验证HDFS状态
    • 访问HDFS Web界面(http://namenode:50070),查看集群状态;
    • 创建输入目录并上传测试文件:
      hdfs dfs -mkdir -p /input
      hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input  # 上传示例文件
      

四、YARN集群启动与集成

  1. 启动YARN服务
    在ResourceManager节点执行start-yarn.sh脚本启动YARN服务,然后在所有DataNode节点启动NodeManager(若已同步配置文件,可直接在ResourceManager节点执行yarn-daemon.sh start nodemanager):
    start-yarn.sh
    
  2. 验证YARN状态
    • 访问YARN Web界面(http://namenode:8088),查看ResourceManager与NodeManager状态;
    • 查看集群资源使用情况(yarn node -list)。

五、集成验证(运行MapReduce作业)

通过运行经典的WordCount程序,验证HDFS与YARN的集成是否成功:

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input /output
  • 步骤说明
    1. /input为HDFS中的输入目录(需提前创建并上传文件);
    2. /output为输出目录(需确保不存在,YARN会自动创建);
    3. 执行完成后,通过hdfs dfs -cat /output/part-r-00000查看结果。
  • 预期结果
    若作业成功执行,Web界面会显示作业状态为“SUCCEEDED”,且/output目录下生成统计结果文件。

注意事项

  • 配置一致性:所有节点的core-site.xmlhdfs-site.xmlyarn-site.xml需保持一致;
  • 端口开放:确保防火墙开放HDFS(9000、50070)、YARN(8088)等关键端口;
  • 生产环境建议:使用Hadoop 3.x及以上版本,配置HDFS副本数≥3、YARN ResourceManager HA(高可用),并定期备份NameNode元数据。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS HDFS与YARN集成实践
本文地址: https://pptw.com/jishu/724005.html
Linux反汇编指令中push指令的作用是什么 CentOS HDFS部署指南

游客 回复需填写必要信息