首页 > 其他分享 >MapReduce分布式计算及其应用

MapReduce分布式计算及其应用

时间:2024-10-14 23:10:33浏览次数:7  
标签:CLASSPATH jar hadoop Hadoop MapReduce 应用 input 分布式计算

实验名称:MapReduce分布式计算及其应用

实验内容

Hadoop是一个能够对大量数据进行分布式处理的软件框架,已被广泛应用到各个领域,Hadoop框架最核心的设计是分布式文件系统(HDFS)、分布式计算框架(MapReduce)和集群资源管理系统(YARN)。本实验要求实现如下内容。

1.搭建分布式Hadoop集群环境,采用伪分布式或完全分布式模式。

2.应用MapReduce模型,实现词频统计。

3.应用MapReduce模型,对电影数据分析,实现用户喜好评定。(选作)

实验环境

  • Windows 10
  • VMware Workstation 16 Pro
  • Ubuntu 20.04 LTS
  • Docker V1.26
  • Docker Image:(Hadoop镜像)
  • registry.cn-beijing.aliyuncs.com/jing-studio/centos7-hadoop

实验过程

Hoop实验环境所使用的工具搭建过程。

拉取Docker镜像,创建Docker容器

Hoop实验环境搭建过程

通过终端进入Docker容器:

  1. 关闭防火墙 systemctl stop iptables.service
  2. 设置主机名 vi /etc/sysconfig/network
  3. 添加映射关系 vi /etc/hosts
  4. 配置Hadoop文件
    1. core.site.xml
    2. hdfs-site.xml
    3. mapred-site.xml
    4. yarn-site.xml
  5. 启动Hadoop /usr/local/hadoop/sbin/start-all.sh
  6. 验证配置

成功访问Web配置页面:

 

 

应用的实现过程,包括步骤及测试结果

  1. hadoop fs -mkdir /input 在HDFS中创建文件
  2. cd /usr/local/hadoop 进入目录
  3. touch in.txt 创建文件
  4. vi in.txt 打开文件,添加信息(之后求出现次数)
  5. hadoop fs -put in.txt /input/ 文件添加到HDFS的 /input/下
  6. cd share/hadoop/mapreduce 切换目录
  7. hadoop jar hadoop-mapreduce-examples-2.7.6.jar \ 使用
  8. wordcount /input /output 执行
  9. hadoop fs -cat /output/part-r-00000 查看结果

也可以自己生成jar包,发布到Hadoop运行:
编译、打包 Hadoop MapReduce 程序,我们将 Hadoop 的 classhpath 信息添加到 CLASSPATH 变量中,在 ~/.bashrc 中增加如下几行:

export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_CLASSPATH=$(hadoop classpath)

执行 source ~/.bashrc 使变量生效,接着就可以通过 javac 命令编译。

javac -classpath $HADOOP_CLASSPATH -d . JobMain.java WordCountMapper.java WordCountReducer.java

打包成一个 Jar 文件:

jar -cvf wordcount.jar -C . .

运行Hadoop程序:

hadoop jar wordcount.jar hit.dstOS.lab2.JobMain /input/in.txt /output/wordcount/

项目实现过程中遇到的问题及解决方案

编译Hadoop程序时,Java报错:package org.apache.hadoop.conf does not exist

这是需要确保Hadoop 的相关依赖,根据报告上文的配置,可以解决该问题。

运行Hadoop程序报错:

Exception in thread "main" java.lang.ClassNotFoundException: JobMain

这是因为Hadoop 找不到 JobMain 类,由于类路径或包结构不正确造成的。

正确的运行命令,应该指定jar包的类路径(要明确包结构)。

例如我的包结构是package hit.dstOS.lab2;

那么,运行命令指定的类路径就是 hit.dstOS.lab2.JobMain。

标签:CLASSPATH,jar,hadoop,Hadoop,MapReduce,应用,input,分布式计算
From: https://www.cnblogs.com/Az1r/p/18466387

相关文章

  • 《Linux从小白到高手》综合应用篇:深入理解Linux磁盘及IO优化
    1.前言其实磁盘优化和IO优化,我在前面的其他Linux调优博文中已经讲述过或者涉及过了,但是太过零碎,所以本篇就来集中深入讨论下Linux磁盘和IO调优。2.磁盘调优结合我多年的经验,本人认为磁盘调优最重要的是读写性能的提升和冗余度两个方面(当然还有其他优化方法,但是效果不是......
  • Python数学建模算法与应用
    习题5.4importnumpyasnpfromscipy.optimizeimportminimizedefobjective_function(x):returnnp.sum(np.sqrt(x))deflinear_constraint(x):weights=np.arange(1,101)return1000-np.dot(x,weights)constraints=[{'type':'ineq',&......
  • LangServe如何革新LLM应用部署?
    0前言随LLM技术演进,AI应用开发部署越来越复杂。LangServe应运而生,旨在简化AI服务部署和运维的框架。专为LLM部署和管理而设计;本文旨在讲解LangServe的功能特点和实践运用。1概述LangServe提供一整套将LLM部署成产品服务的解决方案。可将LLM应用链接入常见PythonWeb框架(如Fa......
  • java中,深克隆和浅克隆怎么用,有什么应用场景?-----面试题分享
    在Java中,对象的克隆可以分为浅克隆(ShallowClone)和深克隆(DeepClone)。这两种克隆方式的主要区别在于它们如何处理对象内部的引用类型字段。浅克隆(ShallowClone)定义:浅克隆创建一个新对象,然后将原始对象中的非静态字段复制到新对象中。如果字段是基本类型,则直接复制其值;如......
  • 动态网站及爬虫技术应用(题目)
    /*T26:HTTP响应消息的状态代码为500时表示():HTTP响应消息的状态代码为500时表示服务器内部错误(InternalServerError)。这通常意味着服务器在处理请求时遇到了意外的情况,导致无法完成该请求。这种错误可能是由于服务器上的软件错误、配置问题或其他服务器端问题引起的。*/ ......
  • 深入解析ClickHouse:优势、架构、数据组织与应用场景
    引言在大数据时代,随着数据量的不断增长,越来越多的企业需要高效的数据分析工具来支持实时决策。ClickHouse作为一款高性能的列式数据库,因其在实时分析处理方面的卓越表现,逐渐在数据仓库领域脱颖而出。本篇博客将对ClickHouse进行深入解析,全面介绍其优势、数据架构、数据组织方......
  • Android移动应用所需的工具
    基础配置Kotlin:Kotlin是一种兼具面向对象编程(OOPS)和函数式编程范式的静态类型现代编程语言。作为JVM语言,它与Java包和库完全兼容。由Google和JetBrains共同推出,Kotlin旨在成为Java的替代品,并已被Google指定为Android开发的官方语言。AndroidStudio:AndroidStudio是Android开发......
  • 【触想智能】工控一体机在智能机器人领域应用的优势与市场展望
    随着科技的不断发展,智能机器人在工业领域扮演着越来越重要的角色。而工控一体机作为智能机器人的核心部件之一,具有许多独特的优势,为智能机器人的广泛应用提供了强大的支持。下面触想智能小编,将和大家一起探讨工控一体机在智能机器人领域的应用优势,并对其市场进行展望。......
  • 稀土阻燃协效剂在橡胶领域的应用
    稀土阻燃协效剂基于稀土4f电子结构带来的属性,在聚合物材料燃烧时可催化成碳,迅速在高分子表面形成致密连续的碳层,隔绝聚合物材料内部的可燃性气体与氧气的接触,从而达到阻燃抑烟的效果,并且燃烧时不会产生有毒的气体。稀土阻燃协效剂可广泛运用各个领域,其中在橡胶领域的应用体现......
  • 京准电钟:GPS卫星时钟服务器应用部署方案
    京准电钟:GPS卫星时钟服务器应用部署方案京准电钟:GPS卫星时钟服务器应用部署方案京准电子科技官微——ahjzsz项目概述1.1应用背景根据人民银行第2012年第8期《金融业信息安全风险提示》建议大力推广采用能够接收GPS和北斗时钟源信号的国产时钟同步服务器产品,减少现有GPS产品对......