HDFS 四个配置文件(core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml )的简单介绍

本文详细介绍了Hadoop集群中四个核心配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml 和 yarn-site.xml 的作用及关键配置参数。通过具体实例说明了如何设置NameNode地址、临时文件目录、数据副本数、MapReduce运行方式等。

hadoop配置文件的作用以及配置参数解释

一 core-site.xml
<configuration>
<!--指定namenode的地址-->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
        </property>
<!--用来指定使用hadoop时产生文件的存放目录--> 
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/zkpk/hadoopdata</value>
        </property>


二 hdfs-site.xml

<configuration>
<!--指定hdfs保存数据的副本数量-->
    <property>
            <name>dfs.replication</name>
                    <value>2</value>
                        </property>
      </configuration>


三 mapred-site.xml
<configuration>
<!--告诉hadoop以后MR运行在YARN上-->
        <property>
              <name>mapreduce.framework.name</name>
              <value>yarn</value>
       </property> 
</configuration>
   
四  yarn-site.xml

<configuration>
<!--nomenodeManager获取数据的方式是shuffle-->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
<!--指定Yarn的老大(ResourceManager)的地址-->     
   <property>
                <name>yarn.resourcemanager.address</name>
                <value>master:18040</value>
         </property>
<configuration>

**题目重述** 你需要完成 Hadoop 集群的配置任务,包括: - 下载并解压 Hadoop; - 配置以下关键文件: 1. `hadoop-env.sh` 2. `core-site.xml` 3. `hdfs-site.xml` 4. `yarn-site.xml` 5. `mapred-site.xml` 6. `workers` 目标是使 Hadoop 在分布式模式下正常运行,支持 Spark 与其协同工作。 --- **详解** ### 一、下载与解压 Hadoop 1. **进入官网下载页面(推荐版本)** - 访问:[https://archive.apache.org/dist/hadoop/core/](https://archive.apache.org/dist/hadoop/core/) - 推荐使用稳定版:`hadoop-3.3.6.tar.gz` 2. **上传或下载到 master 节点** ```bash # 如果你有 wget 可直接下载 wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.6/hadoop-3.3.6.tar.gz ``` 3. **解压到指定目录(如 `/usr/local/hadoop`)** ```bash sudo mkdir -p /usr/local/hadoop sudo tar -zxvf hadoop-3.3.6.tar.gz -C /usr/local/hadoop --strip-components=1 ``` > ✅ 检查是否成功: > > ```bash > /usr/local/hadoop/bin/hadoop version > ``` > > 应显示 Hadoop 版本信息。 --- ### 二、设置环境变量(可选但推荐) 编辑 `.bashrc` 文件: ```bash vi ~/.bashrc ``` 在末尾添加: ```bash export HADOOP_HOME=/usr/local/hadoop export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop ``` 保存后生效: ```bash source ~/.bashrc ``` --- ### 三、逐个配置 Hadoop 配置文件(位于 `$HADOOP_HOME/etc/hadoop/`) #### 🔹 1. `hadoop-env.sh` **作用:设置 Java 环境基本参数** 编辑命令: ```bash vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh ``` 修改以下内容(取消注释并赋值): ```bash export JAVA_HOME=/usr/local/java/jdk1.8.0_291 export HADOOP_PID_DIR=/tmp/hadoop-pids export HADOOP_SECURE_DN_USER=hadoop ``` ✅ 说明:必须设置 `JAVA_HOME`,否则启动失败! --- #### 🔹 2. `core-site.xml` **作用:定义 HDFS 的核心入口地址(NameNode 所在主机)** ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/data/hadoop/tmp</value> </property> </configuration> ``` > ✅ 创建临时目录: > > ```bash > sudo mkdir -p /data/hadoop/tmp > sudo chown $USER:$USER /data/hadoop/tmp > ``` --- #### 🔹 3. `hdfs-site.xml` **作用:定义 HDFS 存储路径副本数量** ```xml <configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/data/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/data/hadoop/hdfs/datanode</value> </property> </configuration> ``` > ✅ 创建目录: > > ```bash > sudo mkdir -p /data/hadoop/hdfs/namenode /data/hadoop/hdfs/datanode > sudo chown -R $USER:$USER /data/hadoop/hdfs > ``` --- #### 🔹 4. `yarn-site.xml` **作用:配置 YARN 资源管理器(ResourceManager)** ```xml <configuration> <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.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> </property> </configuration> ``` --- #### 🔹 5. `mapred-site.xml` **作用:启用 MapReduce 框架,并指定其运行在 YARN 上** ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.application.classpath</name> <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value> </property> </configuration> ``` > ⚠️ 若文件不存在,先复制模板: > > ```bash > cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml > ``` --- #### 🔹 6. `workers`(原 slaves 文件) **作用:列出所有 DataNode 节点主机名** ```bash vi $HADOOP_HOME/etc/hadoop/workers ``` 内容只写两行(从第二台开始作为 worker): ``` slave1 slave2 ``` > ✅ 注意: > - 这个文件告诉 Hadoop 哪些机器是存储数据的节点; > - 必须能通过主机名访问这些节点(即 `/etc/hosts` 已正确配置)。 --- ### 四、将配置同步到 slave1 slave2 在 master 上完成配置后,把整个 Hadoop 目录复制过去: ```bash scp -r /usr/local/hadoop/ slave1:/usr/local/hadoop/ scp -r /usr/local/hadoop/ slave2:/usr/local/hadoop/ ``` 同时确保 slave1 slave2 也有相同的环境变量(`.bashrc` 中也要加 `HADOOP_HOME` `PATH`)。 --- ### 五、格式化 NameNode 并启动 Hadoop #### 格式化文件系统(仅第一次执行!) ```bash hdfs namenode -format ``` 看到 “Formatting completed” 表示成功。 #### 启动 HDFS YARN ```bash # 启动 HDFS(NameNode + DataNode) start-dfs.sh # 启动 YARN(ResourceManager + NodeManager) start-yarn.sh ``` --- ### 六、验证是否启动成功 #### 查看进程: ```bash jps ``` - **master 节点应看到**: - `NameNode` - `ResourceManager` - `SecondaryNameNode` - **slave1/slave2 应看到**: - `DataNode` - `NodeManager` #### 浏览 Web UI(推荐检查) - 打开浏览器访问:[http://master:9870](http://master:9870)HDFS 状态 - [http://master:8088](http://master:8088)YARN 资源调度界面 --- **知识点** 1. **HDFS 架构原理** Hadoop 分布式文件系统采用主从结构,NameNode 管理元数据,DataNode 存储实际数据块。 2. **YARN 资源调度机制** ResourceManager 统一分配资源,NodeManager 负责本地资源监控与任务执行。 3. **XML 配置文件作用** `core-site.xml` 定义基础URI,`hdfs-site.xml` 控制HDFS行为,`yarn-site.xml` 配置资源管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值