大数据_hadoop_mr

本文详细介绍了Hadoop MapReduce的工作流程,包括数据切片、Map阶段的计算过程以及Reduce阶段的流程。Map阶段中,数据被切分成块并进行map计算,产生排序后的中间结果。Reduce阶段则包括数据复制、合并及reduce任务执行,最终输出结果。文章还讨论了map任务数的确定和小文件问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

流程

这里列举最常见的wordcount示例,首先给出执行图例:
这里写图片描述

下面对mapreduce作业进行概述:

  一个Map/Reduce 作业(job) 通常会把输入的数据集切分为若干独立的数据块,由 map任务(task)以完全并行的方式处理它们。框架会对map的输出先进行排序, 然后把结果输入给reduce任务。通常作业的输入和输出都会被存储在文件系统中。
  通常计算节点和存储节点通常在一起,移动计算比移动数据更节省资源
  框架把作业的输入看为是一组<key, value> 键值对,同样也产出一组 <key, value> 键值对做为作业的输出,这两组键值对的类型可能不同。

下面给出代码参考

Mapper过程代码 WCMapper.java

public class WCMapper extends Mapper<LongWritable, Text, Text, LongWritable>{
   

    @Override
    protected void map(LongWritable key, Text value, Context context)
            throws IOException, InterruptedException {
        String val = value.toString();//一行一行的数据
        String [] words = val.split(" ");
        for (String word : words) {
            context.write(new Text(word), new LongWritable(1));//分割出来,每个单词个数为1,在reduce阶段累加统计
        }
    }

}

Reducer过程代码 WCReducer.java

public class WCReducer exten
### Hadoop大数据集群安装教程 #### 一、环境准备 为了成功部署Hadoop大数据集群,需先准备好Linux操作系统并确保已正确安装JDK。推荐的操作系统为CentOS或Ubuntu,而JDK版本应至少为1.8[^1]。 #### 二、下载与解压Hadoop包 前往Apache官方网站获取最新稳定版的Hadoop压缩包(本指南基于Hadoop2.X),将其上传至服务器并通过命令行工具进行解压操作。 ```bash tar -zxvf hadoop-2.x.x.tar.gz -C /usr/local/ ``` #### 三、配置SSH免密登录 为了让各节点间能够无障碍通信,在主节点上生成一对公私钥,并分发给其他所有子节点实现无密码访问功能。 ```bash ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys ``` #### 四、修改核心配置文件 编辑`hadoop-env.sh`, `core-site.xml`, `hdfs-site.xml`, 和 `yarn-site.xml` 文件完成必要的参数设置,比如指定Java路径以及定义NameNode和DataNodes的相关属性等. #### 五、初始化HDFS文件系统 首次启动前需要格式化namenode, 执行如下指令即可: ```bash $HADOOP_HOME/bin/hdfs namenode -format ``` #### 六、启动服务进程 通过运行脚本来开启各个组件的服务实例,包括但不限于Namenode/Datanodes ResourceManager/Nodemanager等等. ```bash start-dfs.sh start-yarn.sh mr-jobhistory-daemon.sh start historyserver ``` #### 七、验证集群状态 可以利用浏览器查看ResourceManager Web UI (默认端口8088),也可以提交测试作业来检验整个系统的正常运作情况.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值