Java技术栈 —— Hadoop入门(二)

Java技术栈 ------ Hadoop入门(二)

  • 一、用MapReduce对统计单词个数
    • [1.1 项目流程](#1.1 项目流程)
    • [1.2 可能遇到的问题](#1.2 可能遇到的问题)
    • [1.3 代码勘误](#1.3 代码勘误)
    • [1.4 总结](#1.4 总结)

一、用MapReduce对统计单词个数

1.1 项目流程

(1) 上传jar包。

(2) 上传words.txt文件。

(3) 用hadoop执行jar包的代码,对words.txt进行分析。

参考文章或视频链接
重点看这篇文章 1 《Hadoop实战------MapReduce对英文单词文本进行统计和排序(超详细教学,算法分析)》- CSDN
2 Hadoop实战项目源码集合 - gitee
3 HDFS文件系统的根目录和用户主目录解析 - CSDN

1.2 可能遇到的问题

(1) 无法Download结果文件。 这个问题看参考文章1-3,有两个点要注意,注意你的hosts文件有没有配对,以及有没有开启dfs.webhdfs.enabled。

(2) 删除不了hadoop下的文件夹。 这个问题的解决方案看本节参考文章4,不过我要提醒你的是,他那篇文章里的summer对应与你当前的Linux用户,我这里就叫programmer,然后重启hadoop,dr.who是谁可以看参考文章5。

(3) 更改用户后还是无法删除文件夹。 解决方案看本节参考文章6,先关闭安全模式再删除。

shell 复制代码
# 进入安全模式
hdfs dfsadmin -safemode enter
# 退出安全模式
hdfs dfsadmin -safemode leave
1.2 参考文章或视频链接
1 Unable to open/download files in HDFS using Hadoop Web UI - stackoverflow
2 记一次HDFS Web报错Couldn't preview the file. NetworkError: Failed to execute 'send' on 'XMLHttpRequest' - CSDN
3 HDFS Web报错Couldn't preview the file. - CSDN
4 《Hadoop常见错误及解决方案、Permission denied: user=dr.who, access=WRITE, inode="/":summer:supergroup:drwxr-xr-x》
5 《Permission denied. user=dr.who is not the owner of inode=/tmp》
6 《Name node is in safe mode》

1.3 代码勘误

本章节代码作者有个地方写错了,注意下即可。

java 复制代码
//WordReduce.java文件里应该这样写
System.out.println(new Date().toGMTString() + ":" + key + "出现了" + sum);

1.4 总结

MapReduce也没那么神神秘秘(世界上没有事物是不可认识的,只有还有待认识的事物),总结起来就还是四个字,分工+协作 ,或者可以理解为民主集中制 的基本原则之一:"个别酝酿,集体决定" 。
Map是拆分开来,各自计算各自思考,而Reduce就是将结果集中起来,看看大家提出的意见到底如何,并对结果按照具体需求进行排序。在MapReduce这个思想上,共产党人走在这帮搞技术的老外的前面。

相关推荐
wuminyu11 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
m0_3807438712 小时前
C++中的freopen的用法实例详解
开发语言·c++
Escalating_xu12 小时前
【Python】基础语法(1):常量、变量、类型、输入输出与运算符
开发语言·python
jimy113 小时前
polymorph.cpp里面的“析构函数、智能指针”问题
开发语言·c++
m0_3807438713 小时前
PHP 8.3 缓存清除不生效怎么排查
开发语言·php
朝朝辞暮i13 小时前
C++ 第 6 课:switch —— 多状态选择
开发语言·c++·算法
小凡geo13 小时前
本地商家 GEO:用脚本一键生成 FAQPage 结构化数据,让 AI 切片更稳
开发语言·人工智能·python·microsoft·搜索引擎·ai
朝朝辞暮i13 小时前
C++ 第 4 课:if / else —— 让程序自己做决定
开发语言·c++
波力海苔夹心脆67514 小时前
C# 值类型与引用类型详解:存储位置、赋值机制、参数传递、相等比较、装箱拆箱与常见陷阱
开发语言·jvm·经验分享·笔记·c#·.net
蜗牛互联网14 小时前
WSL Containers GA:本地AI容器的生命周期、网络与治理验收
java·网络·人工智能·后端