Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >第四章:hadoop 启动wordcount实例,包括hadoop自带jar包和eclipsejar包。hdfs常用命令[通俗易懂]

第四章:hadoop 启动wordcount实例,包括hadoop自带jar包和eclipsejar包。hdfs常用命令[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-08-05 00:54:47
发布于 2022-08-05 00:54:47
3.3K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

1,首先介绍启动hadoop自带的wordcount的jar包实例

1.1启动hadoop

hadoop安装目录下:./sbin/start-all.sh

查看进程:jps

1.2 ,进入到home目录下,创建一个文本,随便写点东西

1.3 进入到hadoop安装目录下,模糊查找hadoop 案例jar包

我们用hadoop-mapreduce-examples-3.0.0.jar

1.4 ./bin/hadoop fs -mkdir /input 在hdfs上创建一个目录,用来存放刚才创建的文档

1.5 ./bin/hadoop fs -put ../classes/aa.txt /input 将文档上传到hdfs上

1.6 ./bin/hadoop fs -ls /input 查看

1.7 ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar wordcount /input /output

运行wordcount

1.9 ./bin/hadoop fs -ls /output 查看出入文件目录

1.10 ./bin/hadoop fs -cat /output/part-r-00000 查看处理后的结果

整体截图如下:

2,在eclipse编写wordcount代码,打包放到hdfs上运行

案例下载地址:https://download.csdn.net/download/csdnliuxin123524/10276666

2.1,eclipse上创建maven工程(自行配置安装maven等)

创建好maven工程后,pom内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<project 
	xmlns="http://maven.apache.org/POM/4.0.0" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
		  <modelVersion>4.0.0</modelVersion>
		  <groupId>hadoop</groupId>
		  <artifactId>wordCount</artifactId>
		  <version>0.0.1-SNAPSHOT</version>
		  
		  <repositories>
        <repository>
            <id>apache</id>
            <url>http://maven.apache.org</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
            <version>1.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.7.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <configuration>
                    <excludeTransitive>false</excludeTransitive>
                    <stripVersion>true</stripVersion>
                    <outputDirectory>./lib</outputDirectory>
                </configuration>

            </plugin>
        </plugins>
    </build>
</project>

这里读者只需要拷贝如下部分即可,其余的创建maven工程师会自动填好:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	  <repositories>
        <repository>
            <id>apache</id>
            <url>http://maven.apache.org</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
            <version>1.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.7.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <configuration>
                    <excludeTransitive>false</excludeTransitive>
                    <stripVersion>true</stripVersion>
                    <outputDirectory>./lib</outputDirectory>
                </configuration>

            </plugin>
        </plugins>
    </build>

配置好后,maven update 会自动从网上拉取相应的jar包,当然别忘了设置maven的setting文件:

setting使用maven自带的就行了。

下面写三个雷,一个是map,一个reduce,一个是main:

整体如下:

mapper类:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package test;

import java.io.IOException;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

/* 
 * KEYIN:输入kv数据对中key的数据类型 
 * VALUEIN:输入kv数据对中value的数据类型 
 * KEYOUT:输出kv数据对中key的数据类型 
 * VALUEOUT:输出kv数据对中value的数据类型 
 */  
public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable>{  
      
    /* 
     * map方法是提供给map task进程来调用的,map task进程是每读取一行文本来调用一次我们自定义的map方法 
     * map task在调用map方法时,传递的参数: 
     *      一行的起始偏移量LongWritable作为key 
     *      一行的文本内容Text作为value 
     */  
    @Override  
    protected void map(LongWritable key, Text value,Context context) throws IOException, InterruptedException {  
        //拿到一行文本内容,转换成String 类型  
        String line = value.toString();  
        //将这行文本切分成单词  
        String[] words=line.split(" ");  
          
        //输出<单词,1>  
        for(String word:words){  
            context.write(new Text(word), new IntWritable(1));  
        }  
    }  
}  

reduce类:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package test;

import java.io.IOException;

import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;

/* 
 * KEYIN:对应mapper阶段输出的key类型 
 * VALUEIN:对应mapper阶段输出的value类型 
 * KEYOUT:reduce处理完之后输出的结果kv对中key的类型 
 * VALUEOUT:reduce处理完之后输出的结果kv对中value的类型 
 */  
public class WordCountReducer extends Reducer<Text, IntWritable, Text, IntWritable>{  
    @Override  
    /* 
     * reduce方法提供给reduce task进程来调用 
     *  
     * reduce task会将shuffle阶段分发过来的大量kv数据对进行聚合,聚合的机制是相同key的kv对聚合为一组 
     * 然后reduce task对每一组聚合kv调用一次我们自定义的reduce方法 
     * 比如:<hello,1><hello,1><hello,1><tom,1><tom,1><tom,1> 
     *  hello组会调用一次reduce方法进行处理,tom组也会调用一次reduce方法进行处理 
     *  调用时传递的参数: 
     *          key:一组kv中的key 
     *          values:一组kv中所有value的迭代器 
     */  
    protected void reduce(Text key, Iterable<IntWritable> values,Context context) throws IOException, InterruptedException {  
        //定义一个计数器  
        int count = 0;  
        //通过value这个迭代器,遍历这一组kv中所有的value,进行累加  
        for(IntWritable value:values){  
            count+=value.get();  
        }  
          
        //输出这个单词的统计结果  
        context.write(key, new IntWritable(count));  
    }  
}  

main类:

这里的输入与输出文件路径设置很重要:是主机名:core-site.xml中配置的端口

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package test;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

public class WordCountJobSubmitter {  
    
    public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException {  
        Configuration conf = new Configuration();  
        Job wordCountJob = Job.getInstance(conf);  
          
        //重要:指定本job所在的jar包  
        wordCountJob.setJarByClass(WordCountJobSubmitter.class);  
          
        //设置wordCountJob所用的mapper逻辑类为哪个类  
        wordCountJob.setMapperClass(WordCountMapper.class);  
        //设置wordCountJob所用的reducer逻辑类为哪个类  
        wordCountJob.setReducerClass(WordCountReducer.class);  
          
        //设置map阶段输出的kv数据类型  
        wordCountJob.setMapOutputKeyClass(Text.class);  
        wordCountJob.setMapOutputValueClass(IntWritable.class);  
          
        //设置最终输出的kv数据类型  
        wordCountJob.setOutputKeyClass(Text.class);  
        wordCountJob.setOutputValueClass(IntWritable.class);  
          
        //设置要处理的文本数据所存放的路径  
        FileInputFormat.setInputPaths(wordCountJob, "hdfs://ubuntu:9000/input/aa.txt");  
        FileOutputFormat.setOutputPath(wordCountJob, new Path("hdfs://ubuntu:9000/output/"));  
          
        //提交job给hadoop集群  
        wordCountJob.waitForCompletion(true);  
    }  
}  

右键工程

maven update 确保不报错。

maven clean

maven uddate

maven install

经过这几步就能够自动生成jar包,如下:

把jar包拷到桌面上,并把包名改为wc.jar,方便上传,

2.2, eclipse准备好后,就开始虚拟机这边:

在用户的home目录下创建一个classes文件夹,用来存放上传的jar包:

rz上传刚才的jar包

2.3,启动hadoop

启动之前我们先复习下,我们的hadoop配置,这里小编不同于上一篇博文,稍作了修改:

core-site.xml:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<configuration>
  <property>

                <name>hadoop.tmp.dir</name>

                <value>/home/xiaoye2/hadoop-3.0.0/tmp</value>

        </property>

        <property>

                <name>fs.default.name</name>

                <value>hdfs://192.168.26.129:9000</value>

        </property>
</configuration>

这里是IP:9000是hdfs的地址和端口

hdfs-site.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<configuration>

        <property>

#
        <name>dfs.datanode.data.dir</name>

                <value>/home/xiaoye2/hadoop-3.0.0/hadoop/data</value>

        </property>

        <property>

                <name>dfs.namenode.name.dir</name>

                <value>/home/xiaoye2/hadoop-3.0.0/hadoop/name</value>

        </property>

        <property>

                <name>dfs.http.address</name>

               <value>0.0.0.0:50030</value>

       </property>

        <property>

这里就设置成0.0.0.0:50030,是浏览器上的hdfs的地址和端口

mapred-site.xml:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<configuration>

      <property>

                <name>mapred.job.tracker</name>

                <value>192.168.26.129:9001</value>

        </property>
</configuration>

mapred的ip和端口,不过目前还没有用到,小编也不清楚其用处

2.3配置主机名:

su root 切换成root用户

vim /etc/hosts

加入以下内容:

也就是把你的ip地址加进去,并对应现在的主机名。

2.4,配置好之后:格式化namenode

进入到hadoop目录,小编这里是hadoop-3.0.0:

./bin/hadoop namenode -format

再 ./sbin/start-all.sh 启动所有进程

jps查看进程是否全都开启,总共六个:

2.5,再hadoop-3.0.0目录下创建一个文本aa.txt,并随便写的内容,过会我们就分析这个文本的单词出现频率

2.5.1 , 再hdfs上创建一个input目录:./bin/hadoop fs -mkdir hdfs://ubuntu:9000/input/

将aa.txt文件上传到hdfs的input目录下./bin/hadoop fs -put aa.txt hdfs://ubuntu:9000/input/

运行wordcount程序:./bin/hadoop jar /home/xiaoye2/classes/wc.jar test.WordCountJobSubmitter /input

查看处理后的文件内容: ./bin/hadoop fs -cat hdfs://ubuntu:9000/output/part-r-00000

这样就大功告成了。

3遇到问题:

3.1:Host Details : local host is: “ubuntu/127.0.1.1”; destination host is: “ubuntu

这个问题困扰了我两天时间,搞到半夜2点钟都没解决。看报错原因是说本地主机与目标主机不一致。但是由于自学对这方面知识不懂,所以就就不断的试,终于通过以下方法解决了。首先修改/etc/hosts文件,为其加上虚拟机的ip 和对应的主机名,上面有介绍,可往上翻看。再者修改core-site.xml文件的localhost为虚拟机ip。同理mapred-site.xml也是。再修改hdfs的访问ip为0.0.0.最后重新启动hdfs。

3.2:要会看日志:比如说datanode或namenode没有起来,那么就要看hadoop目录下的logs对应的日志,比如namenode没有起来,实时查看namenode的日志:tail -f -n200 hadoop-xiaoye2-namenode-ubuntu.log 看报什么错再针对解决。

3.3,常用hdfs命令:当然实际使用中 要稍作修改,比如小编的查看hdfs的文件命令就是:

./bin/hadoop fs -ls hdfs://ubuntu:9000/input/

1、-help[cmd] 显示命令的帮助信息

代码语言:text
AI代码解释
复制
./hdfs dfs -help ls
  • 1

2、-ls(r) 显示当前目录下的所有文件 -R层层循出文件夹

代码语言:text
AI代码解释
复制
./hdfs dfs -ls /log/map
./hdfs dfs -ls -r /log/   (递归的)
  • 1
  • 2

3、-du(s) 显示目录中所有文件大小,或者当只指定一个文件时,显示此文件的大小

代码语言:ruby
AI代码解释
复制
./hdfs dfs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://host:port/user/hadoop/dir1
  • 1

4、-count[-q] 显示当前目录下的所有文件大小 5、-mv 移动多个文件目录到目标目录

代码语言:text
AI代码解释
复制
./hdfs dfs -mv /user/hadoop/file1 /user/hadoop/file2
  • 1

6、-cp 复制多个文件到目标目录

代码语言:text
AI代码解释
复制
./hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2 (将文件从源路径复制到目标路径。
这个命令允许有多个源路径,此时目标路径必须是一个目录。)
  • 1
  • 2

7、-rm(r) 删除文件(夹)

代码语言:text
AI代码解释
复制
./hdfs dfs -rm -r /log/map1  (递归删除)
  • 1

8、-put 本地文件复制到hdfs

代码语言:text
AI代码解释
复制
./hdfs dfs -put test.txt /log/map/
  • 1

9、-copyFromLocal 本地文件复制到hdfs

代码语言:text
AI代码解释
复制
./hdfs dfs -copyFromLOcal /usr/data/text.txt /log/map1/   (将本地的text.txt 复制到hdfs的/log/map1/下)
  • 1

10、-moveFromLocal 本地文件移动到hdfs

代码语言:text
AI代码解释
复制
./hdfs dfs -moveFromLocal /usr/data/text.txt /log/map1/   (将本地的text.txt移动到hdfs的/log/map1/下)
  • 1

11、-get[-ignoreCrc] 复制文件到本地,可以忽略crc校验

代码语言:text
AI代码解释
复制
./hdfs dfs -get /log/map1/*  . (复制到本地当前目录下)
/hdfs dfs -get /log/map1/* /usr/data (将hdfs下的/log/map1/下的所有文件全部复制到本地的/usr/data/下 )
  • 1
  • 2

12、-getmerge[addnl] 将源目录中的所有文件排序合并到一个文件中,接受一个源目录和一个目标文件作为输入,并且将源目录中所有的文件连接成本地目标文件。addnl是可选的,用于指定在每个文件结尾添加一个换行符。

代码语言:text
AI代码解释
复制
./hdfs dfs -getmerge /log/map1/* /usr/data(将hdfs上的/log/map1/下的所有文件合并下载到本地的/usr/data下)
  • 1

13、-cat 在终端显示文件内容

代码语言:text
AI代码解释
复制
 ./hdfs dfs -cat /log/map1/part-00000  | head (读取hdfs上的/log/map1下的part-00000文件    head参数,代表前十行。)

 /hdfs dfs -tail /log/map1/part-00000 (查看文件的最后一千行)
  • 1
  • 2
  • 3

14、-text 在终端显示文件内容,将源文件输出为文本格式。允许的格式是zip和TextRecordInputStream 15、-copyToLocal[-ignoreCrc] 复制文件到本地 16、-moveToLocal 移动文件到本地 17、-mkdir 创建文件夹 后跟-p 可以创建不存在的父路径

代码语言:text
AI代码解释
复制
./hdfs dfs -mkdir -p /dir1/dir11/dir111  
  • 1

18、-touchz 创建一个空文件

19、-grep 从hdfs上过滤包含某个字符的行内容

代码语言:perl
AI代码解释
复制
./hdfs dfs -cat /log/testlog/* | grep 过滤字段

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106185.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
通过WordCount学习MapReduce
MapReduce主要分为两个部分,分别是map和reduce,采用的是“分而治之”的思想,Mapper负责“分”,把一个庞大的任务分成若干个小任务来进行处理,而Reduce则是负责对map阶段的结果进行汇总。
java技术爱好者
2022/01/11
3070
通过WordCount学习MapReduce
使用IDEA+Maven实现MapReduced的WordCount
我的项目名是MapReduce,可以自己修改。 IDEA自带Maven,如果需要自己安装Maven可以参考安装Maven 创建项目,选择Maven,模板可以选择第一个maven-archetype-archetype
超级小的大杯柠檬水
2024/11/21
810
使用IDEA+Maven实现MapReduced的WordCount
入门Hadoop存储与计算:实现单词统计的分布式文件处理系统
这里推荐一篇Python多线程的文章:Python多线程与多进程详解:性能提升技巧与实战案例 文章列举Python多线程与多进程两种重要技术,分别总结它们的优缺点以及适用于不同场景,通过文章案例可以更合理的选择不同的并发技术
菜菜的后端私房菜
2024/11/18
3380
入门Hadoop存储与计算:实现单词统计的分布式文件处理系统
eclipse/intellij idea 远程调试hadoop 2.6.0
很多hadoop初学者估计都我一样,由于没有足够的机器资源,只能在虚拟机里弄一个linux安装hadoop的伪分布,然后在host机上win7里使用eclipse或Intellj idea来写代码测试,那么问题来了,win7下的eclipse或intellij idea如何远程提交map/reduce任务到远程hadoop,并断点调试? 一、准备工作 1.1 在win7中,找一个目录,解压hadoop-2.6.0,本文中是D:\yangjm\Code\study\hadoop\hadoop-2.6.0 (以
菩提树下的杨过
2018/01/19
1.9K0
eclipse/intellij idea 远程调试hadoop 2.6.0
hadoop3.0搭建本地模式和伪分布模式
将jdk和hadoop的压缩包放在服务器的/root/myhadoop 目录下,解压
用户1409099
2019/05/14
1.3K0
MapReduce编程快速入门
用户编写的程序分成三个部分:Mapper,Reducer,Driver(提交运行mr程序的客户端)
全栈程序员站长
2022/07/05
3350
MapReduce编程快速入门
mapreduce -- wordcount执行流程
建立pom: 注:要和安装的hadoop版本一致,并且运行hdfs <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mav
wolf
2020/09/20
4520
跟我一起hadoop(1)-hadoop2.6安装与使用
伪分布式 hadoop的三种安装方式: Local (Standalone) Mode Pseudo-Distributed Mode Fully-Distributed Mode 安装之前需要 $ sudo apt-get install ssh      $ sudo apt-get install rsync 详见:http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html 伪分布
cloudskyme
2018/03/20
1.8K0
跟我一起hadoop(1)-hadoop2.6安装与使用
【快速入门大数据】hadoop和它的hdfs、yarn、mapreduce
技术架构挑战 量大,无法用结构化数据库,关系型数据库 经典数据库没有考虑数据多类别 比如json 实时性的技术挑战 网络架构、数据中心、运维挑战
瑞新
2021/12/06
9130
【快速入门大数据】hadoop和它的hdfs、yarn、mapreduce
Hadoop3.x伪分布式及Hbase搭建与单词统计项目构建
本节从0开始一步步搭建伪分布式及Hbase等。同时学习使用Intellij Maven构建Map-Reduce项目进行单词统计。
公众号guangcity
2019/09/20
1.1K0
Hadoop3.x伪分布式及Hbase搭建与单词统计项目构建
Hadoop集群搭建Linux环境准备基础配置安装HadoopHA集群安装HIVE安装MySQL安装HBASE安装Flume问题总结
本文主要讲解了Hadoop集群环境的搭建过程,实际应用中应该不会这样做,而是通过一些管理工具进行安装,比如可视化安装:Ambari。
spilledyear
2018/10/09
2.8K0
Hadoop集群搭建Linux环境准备基础配置安装HadoopHA集群安装HIVE安装MySQL安装HBASE安装Flume问题总结
Hadoop基础教程-第6章 MapReduce入门(6.2 解读WordCount)
WordCount程序就是MapReduce的HelloWord程序。通过对WordCount程序分析,我们可以了解MapReduce程序的基本结构和执行过程。
程裕强
2022/05/06
9290
Hadoop基础教程-第6章 MapReduce入门(6.2 解读WordCount)
进击大数据系列(六):Hadoop 分布式计算框架 MapReduce
MapReduce 是一种编程模型(没有集群的概念,会把任务提交到 yarn 集群上跑),用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。
民工哥
2023/08/22
1.1K0
进击大数据系列(六):Hadoop 分布式计算框架 MapReduce
大数据随记 —— WordCount 案例
从 MapReduce 的命名可以看出,MapReduce 主要由两个阶段组成:Map 与 Reduce。通过编写 map() 函数与 reduce() 函数,就可以使用 MapReduce 完成分布式程序的设计。
繁依Fanyi
2023/05/07
6230
大数据随记 —— WordCount 案例
windows下hadoop-eclipse的编程所引起的一系列错误
解决Exception: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 等一系列问题,ljavalangstring 一.简介    Windows下的 Eclipse上调试Hadoop2代码,所以我们在windows下的Eclipse配置hadoop-eclipse-plugin-2.6.0.jar插件,并在运行Hadoop代码时出现了一系列的问题,搞了好几天终于能运行起代码。接下来我们来看看问题并
汤高
2018/01/11
8470
windows下hadoop-eclipse的编程所引起的一系列错误
Hadoop基础教程-第6章 MapReduce入门(6.4 MapReduce程序框架)
我们知道,从单线程编程到多线程编程,程序结构复杂度增大了。类似的,从单机程序到分布式程序,程序结构的复杂度也增大了。这是问题的复杂环境决定的。 所以,很多初学者更接触分布式编程时,望而却步、知难而退了。可事实上,Hadoop是一个很易用的分布式编程框架,经过良好封装屏蔽了很多分布式环境下的复杂问题,因此,对普通开发者来说很容易,容易到可以依照程序模版,照葫芦画瓢。 下面代码即是Hadoop的MapReduce程序模版,其中使用了Hadoop辅助类,通过Configured的getConf()方法获取Configuration对象,重写Tool接口的run方法,实现Job提交功能。 这样就可以实现代码与配置隔离,修改MapReduce参数不需要修改java代码、打包、部署,提高工作效率。
程裕强
2022/05/06
2930
Hadoop基础教程-第6章 MapReduce入门(6.4 MapReduce程序框架)
Eclipse连接Hadoop集群和WordCount实战
挖掘大数据
2017/12/20
2.4K0
Hadoop使用学习笔记(3)
我们先用老版本的API编写,下一篇会用新的API,并解释区别: 环境配置: 提交Job,开发IDE所在机器环境:Windows 7,4C8G,IntelliJ IDEA 15. Hadoop集群环境:第一篇中已经提到,Linux环境的集群。
干货满满张哈希
2021/04/12
3250
Hadoop使用学习笔记(3)
Hadoop运行wordcount出现异常解决
近学习Hadoop,在Windows+Eclipse+虚拟机Hadoop集群环境下运行Mapreduce程序遇到了很多问题。上网查了查,并经过自己的分析,最终解决,在此分享一下,给遇到同样问题的人提供参考。
星哥玩云
2022/07/03
7310
入门Hadoop的WordCount程序
本篇文章主要说两部分:简单介绍MapReduce的工作原理;详细解释WordCount程序。
星哥玩云
2022/07/03
9370
入门Hadoop的WordCount程序
推荐阅读
相关推荐
通过WordCount学习MapReduce
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验