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

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

  • 一、用MapReduce对统计单词个数
    • 1.1 项目流程
    • 1.2 可能遇到的问题
    • 1.3 代码勘误
    • 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],先关闭安全模式再删除。

# 进入安全模式
hdfs dfsadmin -safemode enter
# 退出安全模式
hdfs dfsadmin -safemode leave

在这里插入图片描述

(4) 这里面的input文件夹和output文件夹在Linux系统上没搜到,是怎么回事?
当然搜不到,这并不是你自己OS的真实文件夹,而是存储在Hadoop的HDFS上,我下载的是3.3.6版本的hadoop,请检查你的hdfs-site.xml文件的${dfs.datanode.data.dir}配置项,注意!不同版本的hadoop这些配置项名字可能不一样,所以一切以官方文档为准,然而我并没有找到hdfs-default.xml,这些值可能已经默认存储了,具体见参考文章[7]-[9]。
这些是我的OS上的文件夹与文件位置。在这里插入图片描述

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》
[7] Where does HDFS store it’s files - stackoverflow
[8] hdfs-default.xml - hadoop
[9] 《过时的属性:Deprecated Properties》 - 博客园

1.3 代码勘误

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

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

1.4 总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/661186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】 C++入门 — auto关键字

C入门 auto 关键字1 介绍2 使用细则3 注意事项 Thanks♪(・ω・)ノ谢谢阅读下一篇文章见!!! auto 关键字 1 介绍 编程时常常需要把表达式的值赋给变量,这就要求在声明变量时清楚地知道表达式的类…

56-主,回调函数,回调函数的参数传参,函数和变量的公私有,特权方法,立即执行函数,闭包(解除引用)

1.回调函数 定义了函数,没有调用函数,但最终执行了。 <script>//回调函数// 定时器setInterval(function(){console.log("a")},1000)// 延迟器setTimeout(function(){console.log("a")},3000)</script> 2.将实参变为函数,将person方法作为…

什么是多态?它和重载有什么区别?

前言 大家好&#xff0c;我是chowley&#xff0c;相信学过编程语言的你&#xff0c;肯定听说过多态和重载两个概念&#xff0c;可多数人对他们之间的区别还是不太清晰&#xff0c;导致同时听到两个词一起出现时会大脑空白&#xff0c;今天我就来详细的介绍一下二者的区别&…

指针的深入理解(四)

这节主要讨论sizeof和strlen的区别&#xff0c;以及一些理解题。 sizeof 求的是对象的大小&#xff0c;深入理解一点就是&#xff1a;这个对象&#xff0c;他一定有一块对应的内存空间。求的就是这一块内存空间。 strlen 只能用来求字符串&#xff0c; 求取的是字符串的长度。…

面试了字节大模型算法岗(实习),快被问哭了。。。。

最近技术群组织了一次算法面试讨论会&#xff0c;今天分享的是一位小伙子的痛苦面试经历&#xff0c;如果你想加入我们的讨论群&#xff0c;见文末。 本次分享的内容如下&#xff1a; 应聘岗位&#xff1a;字节大模型算法实习生 面试轮数&#xff1a;第一轮 整体面试感觉&…

python封装的.exe文件是如何在cmd中获取.xml路径的?

这段日子搞项目算法封装&#xff0c;愁死我。来回改了三遍&#xff0c;总算把相对路径、绝对路径&#xff0c;还有cmd给.exe传参的方式搞懂了。 主要是这个语句 workspace sys.argv[1] sys.argv[]的作用就是,在运行python文件的时候从外部输入参数往文件里面传递参数。 外部就…

CTF盲水印工具:Blind-WaterMark安装

工具下载地址&#xff1a;GitCode - 开发者的代码家园 下载完毕后&#xff0c;只留这些东西就行 接下来需要安装两个依赖&#xff1a; opencv、matplotlib 直接pip install安装的话&#xff0c;工具使用会报错 所以需要到网站里挑选适合的版本进行安装 下载地址&#xff1…

项目:博客

1. 运行环境&#xff1a; 主机 主机名 系统 服务 192.168.223.129 Server_Web Linux Web 192.168.48.131 Server-NFS-DNS Linux NFS/DNS 2. 基础配置 配置主机名&#xff0c;静态IP地址 开启防火墙并配置 部分开启SElinux并配置 服务器之间使用同ntp.aliyun.com进行…

代码随想录算法训练营第二十二天|235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点

235. 二叉搜索树的最近公共祖先 发现规律&#xff1a; 当我们从上向下去递归遍历&#xff0c;第一次遇到 cur节点是数值在[p, q]区间中&#xff0c;那么cur就是p和q的最近公共祖先。 class Solution { public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, Tr…

在JVM中,Java对象是如何创建、存储和访问的?

在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;Java对象的创建、存储和访问是Java程序运行的核心部分。这个过程涉及到内存管理、对象模型以及运行时数据区域的概念。 1. Java对象的创建&#xff1a; a. 类加载&#xff1a; 在Java程序运行时&#xff0c;类加载器负…

详讲api网关之kong的基本概念及安装和使用(二)

consul的服务注册与发现 如果不知道consul的使用&#xff0c;可以点击上方链接&#xff0c;这是我写的关于consul的一篇文档。 upstreamconsul实现负载均衡 我们知道&#xff0c;配置upstream可以实现负载均衡&#xff0c;而consul实现了服务注册与发现&#xff0c;那么接下来…

C++算法学习心得七.贪心算法(1)

1.贪心算法理论基础 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。贪心算法并没有固定的套路&#xff0c;唯一的难点就是如何通过局部最优&#xff0c;推出整体最优。最好用的策略就是举反例&#xff0c;如果想不到反例&#xff0c;那么就试一试贪心吧 贪…

leetcode209长度最小的子数组|滑动窗口算法详细讲解学习

滑动窗口是一种基于双指针的一种思想&#xff0c;两个指针指向的元素之间形成一个窗口。 分类&#xff1a;窗口有两类&#xff0c;一种是固定大小类的窗口&#xff0c;一类是大小动态变化的窗口。 简而言之&#xff0c;滑动窗口算法在一个特定大小的字符串或数组上进行操作&…

DevEco Studio 保存自动格式化代码

目标&#xff1a;保存后自动格式化代码 单次快捷键&#xff1a;Ctrl Alt L 步骤一 步骤二

7.2、子集求和问题与背包密码系统

7.2、子集求和问题与背包密码系统 一、数学描述 1.1、第一种描述 20 世纪 70 年代末&#xff0c;默克尔和赫尔曼首次尝试将密码系统建立在一个 NP-完全问题上。他们使用了以下数学问题的一个版本&#xff0c;该问题是对经典knapsack问题的概括。 子集和问题 假设你有一个正…

【Midjourney】AI绘画案例(1)龙年吉祥神兽

说明&#xff1a; 1、文中图片版权均为Midjourney所有&#xff0c;请勿用作商业用途。 2、文中图片均经过 Upscale x 4 处理。 3、由于模型原因&#xff0c;某些图片存在暇玼。 1、吉祥神兽——天马&#xff08;独角兽&#xff09; 天马消灾星。 提示词 Prompt: Sky Unicor…

2023强网杯复现

强网先锋 SpeedUp 要求2的27次方的阶乘的逐位之和 在A244060 - OEIS 然后我们将4495662081进行sha256加密 就得到了flag flag{bbdee5c548fddfc76617c562952a3a3b03d423985c095521a8661d248fad3797} MISC easyfuzz 通过尝试输入字符串判断该程序对输入字符的验证规则为9…

写一个C++工具类

C工具类是一种封装了一组相关功能的类&#xff0c;用于提供常用的工具函数或方法。下面是编写C工具类的一般步骤&#xff1a; 1. 定义类&#xff1a;首先&#xff0c;需要定义一个类来表示工具类。可以选择将其定义为静态类&#xff0c;这样就不需要创建对象来使用工具函数。 …

Prometheus+grafana配置监控系统

使用docker compose安装 方便拓展, 配置信息都放在在 /docker/prometheus 目录下 1.目录结构如下 . ├── conf │ └── prometheus.yml ├── grafana_data ├── prometheus_data └── prometheus_grafana.yaml2.创建目录文件 mkdir /docker/prometheus &&am…

【unity小技巧】FPS简单的射击换挡瞄准动画控制

文章目录 射击动画控制换弹动画瞄准动画完结 射击动画控制 换弹动画 调用 瞄准动画 问题&#xff1a;瞄准时&#xff0c;但是动画会卡住&#xff0c;不会播放瞄准的待机动画 修改 调用 动画如果太快可以去修改播放速度 播放速度变慢了&#xff0c;可能导致切换待机动画也…