【Hadoop集群搭建】实验3:JDK安装及配置、Hadoop本地模式部署及测试
1. 安装 SSH 工具
SSH Secure Shell Client 传输软件

FinalShell(推荐使用)

1.1使用SSH工具将JDK安装包上传至虚拟主机hadoop01, hadoop02, hadoop03,sogou500w 数据上传至 hadoop01。
a. 在虚拟主机/usr 目录下创建文件夹 java,JDK 上传至此目录(创建文件夹可能需要 root 角色)
mkdir java

b. 在虚拟主机创建文件夹 sogou, sogou500w 数据上传至此目录。
复制以后请使用 Linux 命令查看一下该文件的前 10 行和后 10 行数据。
mkdir sogou


2. 安装 JDK 并且配置环境变量。
(注意 JDK 需要在三台客户虚拟机上分别独立完整安装配置,为分布式 Hadoop 集群安装部署做准备。)
直接解压缩 JDK 安装包,如下所示,所在目录为/usr/java 目录下。安装时
注意:文件夹权限,如果权限不足,需要使用 chmod 命令修改。
2.1 修改文件夹权限为可读可写可执行权限
chomd -R 777 java

2.2 把window主机的jdk拖拽到/usr/java目录下

2.3 解压缩JDK安装包
sudo tar -zxvf /usr/java/jdk-8u212-linux-x64.tar.gz -C /usr/java/

2.4 配置环境变量
![]()
添加 JAVA_HOME 变量并赋值;
编辑 PATH 变量,添加 JAVA 的 bin 目录,如下图所示内容。
export JAVA_HOME=/usr/java/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

使环境变量生效。
![]()
验证安装配置成功。
java -version

3. 将 JDK 远程拷贝至虚拟主机 hadoop101,hadoop102并解压缩
环境变量配置后续用xsync集群分发脚本复制粘贴即可。
3.1 将JDK拷贝给虚拟机hadoop101

解压缩

3.2 将JDK拷贝给虚拟机hadoop102

解压缩

4. Hadoop 本地模式部署
4.1 下载 hadoop 安装包并上传至虚拟机文件目录
我下载的版本是3.1.3。

在主机 hadoop100 解压缩 hadoop 压缩包,命令如下所示:
![]()
获取hadoop安装路径

4.2 配置hadoop环境变量

export HADOOP_HOME= export PATH=$:$HADOOP_HOME/binexport PATH=$PATH:$HADOOP_HOME/sbin

4.3 使环境变量生效
source .bash_profile

执行以下命令验证 hadoop 安装配置成功。
hadoop version

将hadoop从hadoop100拷贝到hadoop101
![]()
将hadoop从hadoop100拷贝到hadoop102
![]()
在/home/2130502441ryx/下创建以下数据目录:

在此目录下编辑数据文件 wc.input

在文件内输入以下内容:

在/home/2130502441ryx/data 下创建文件夹 input,并将/home/gdpu/hadoop-2.8.1/etc/hadoop 目录里下的 xml 文件拷贝至 input 目录下。

5. Hadoop 自带程序测试(StandAlone 模式下)
5.1 grep 官方案例,此案例的功能是将文件中符合规则的内容输出。
在 data 目录下运行以下 hadoop 命令,命令如下:
hadoop jar /home/2130502441ryx/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep input ouput 'dfs[a-z.]+'
查看输出到本地的 output 目录下的结果文件:符合正则表达式 ‘dfs[az.]+’的内容输出到 part-r-00000 结果文件中,另外还有一个文件_SUCCESS 文件,说明 Job 运行成功。

请将 part-r-00000 结果文件中的内容截图并记录在下面:
|
可以看到符合正则表达式 ‘dfs[az.]+’只有一行。 |
前面output文件名打错了,修改如下:

思考题:将 wc.input 文件移动到 input 目录下,现如今要将 input 文件夹下所有文件内容中包含 ‘dfs’的内容提取,并将结果输出到结果目录 output中,请写出相应的 hadoop 执行命令在以下的方框内。并打印输出结果 part-r-00000 文件的内容。
| ① 将 wc.input 文件移动到 input 目录下 (mv wc.input /home/2130502441ryx/data/input/)
② 查看是否成功
③ 将符合要求的结果输出到output2中
④ 打印输出结果
可以看到有四行包含dfs,前面没有加入wc.input的时候只有一行,加上wc.input里面的三个刚好是4。 |
5.2 WordCount 官方案例
运行以下命令,实现对文件内容的单词计数
hadoop jar /home/2130502441ryx/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount input/wc.input output3
查看执行结果文件的内容 part-r-00000,输出到以下方框内。
| ① 运行命令
② 查看part-r-00000的输出内容
|
相关文章:
【Hadoop集群搭建】实验3:JDK安装及配置、Hadoop本地模式部署及测试
1. 安装 SSH 工具 SSH Secure Shell Client 传输软件 FinalShell(推荐使用) 1.1使用SSH工具将JDK安装包上传至虚拟主机hadoop01, hadoop02, hadoop03,sogou500w 数据上传至 hadoop01。 a. 在虚拟主机/usr 目录下创建文件夹 java,JDK 上传至此目录&…...
分布式锁在Spring Boot应用中的优雅实现
在现代微服务架构中,分布式锁是一种常用的技术手段,用于确保在分布式系统中,同一时间只有一个服务实例能够执行某个特定的操作。这对于防止并发问题、保证数据一致性至关重要。在Spring Boot应用中,我们可以通过自定义注解和切面的…...
常用框架-Spring Boot
常用框架-Spring Boot 1、Spring Boot是什么?2、为什么要使用Spring Boot?3、Spring Boot的核心注解是哪个?它主要由哪几个注解组成的?4、有哪些运行Spring Boot的方式?5、如何理解 Spring Boot 中的Starters?6、有哪些常见的Starters?7、如何在Spring Boot启动的时候运…...
AttributeError: module ‘cv2‘ has no attribute ‘face‘
Traceback (most recent call last): File "D:\AI_37\pythonProject7\day23\课堂代码\day23\07-人脸识别.py", line 4, in <module> recognizer cv2.face.LBPHFaceRecognizer_create() ^^^^^^^^ AttributeError: module cv2 has no at…...
不管你是普本还是双一流,建议你一定要尝试一下学习GIS开发
毕业季,很多企业的秋招和暑期实习已经开始了,在这个24秋招和25考研并列进行的毕业季,GIS专业的同学,做好自己的职业规划显得十分重要。 WebGIS开发,近年来成为了3S及相关专业的学生备受关注的热门选择。 不论是本科毕…...
OurBMC大咖说丨第5期:BMC开发中的非标准化问题探讨
栏目介绍:"OurBMC大咖说" 是由 OurBMC 社区精心策划的线上讲座栏目,邀请 BMC 相关领域大咖共同探讨 BMC 全栈技术的发展趋势、挑战和机遇。无论你是初学者还是资深从业者,"OurBMC大咖说" 都将为你提供一个宝贵的学习和交…...
空调制冷剂泄漏引发健康隐患,冷媒传感器实时监测至关重要
随着夏季的脚步逐渐临近,气温逐渐攀升,空调成为了许多家庭和企业必不可少的降温设备。然而,近年来多起因空调制冷剂泄漏导致的健康问题和安全事故,让人们开始重新审视空调使用安全的重要性。其中,冷媒传感器的实时监测…...
开源TinyFSM状态机适用于嵌入式工业平台吗?
文章目录 引言基于传统 C 实现的状态机TinyFSM 实现的对比现代 C 实现的状态机性能对比TinyFSM 性能测试传统 C 性能测试现代 C 性能测试 工业Misra C编程标准TinyFSM 的优缺点分析结论 引言 TinyFSM是一个为C设计的轻量级有限状态机开源库库。 在嵌入式系统开发中,…...
EE trade:利弗莫尔三步建仓法
在股市投资领域,利弗莫尔这个名字代表着无数的智慧和经历。他的三步建仓法成为了投资者们趋之若鹜的学习对象。本文将详细解析利弗莫尔的著名买入法,通过分步进攻方式,有效掌控市场并实现盈利。 一、利弗莫尔的三步建仓法详解 利弗莫尔三步…...
Java中Callable的应用
在Java中,Callable接口是一种用于并发编程的接口,它与Runnable类似,但有一些重要的区别和优势。Callable接口提供了一种在多线程环境下执行任务并返回结果的方法。以下是一些Callable接口的常见应用场景和使用示例: Callable vs.…...
测试卡无法仪表注册问题分析
1、问题描述 00101测试卡无法注册LTE网络,modemlog中发现终端未发起Attach请求,对比正常注册非正常注册的版本,发现正常的多出了ims apn。可以通过ATCGDCONT?来查询modem APN参数。 2、问题分析 目前Modem是一套,没有相关修改。因…...
【扩散模型(一)】Stable Diffusion中的重建分支(reconstruction branch)和条件分支(condition branch)
Stable Diffusion 是一种基于扩散模型的生成模型,用于生成图像等数据。在解释 Stable Diffusion 的过程中,经常会提到两个主要的分支:重建分支(reconstruction branch)和条件分支(condition branch…...
WPF——Binding
一、作用 将Window GUI的运行机理从 “事件驱动” 转变为 “数据驱动”。将UI界面与业务逻辑解耦,使得改动一个而无需改动另一个。数据逻辑层自成体系,使得无需借助UI也可进行单元测试。 二、基础 1. Binding源模板 Binding包括源与目标,源…...
linux与windows环境下qt程序打包教程
一、演示环境 qt5.14.2 二、Linux 2.1 关联依赖文件 2.1.1 下载打包工具 在Windows环境下可以使用 Qt Creator自带的官方工具进行打包,而Linux环境下没有官方工具,需要借助第三方工具才能打包。如:linuxdeployqt、CQtDeployer、AppImage…...
LeetCode21-合并两个有序链表
题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 [], l2 [] 输出…...
嵌入式学习——数据结构(双向无头无环链表)——day47
1. makefile——(注意:双向无头链表第一个节点的pre为空,最后一个节点的next为空) 单向无头链表只能找到后一个节点、双向无头链表前后节点都能找到 OBJ:doulink OBJSmain.c doublelink.c CClgcc$(OBJ):$(OBJS)$(CC) $^ -o $ .PH…...
MYSQL 将某个字段赋值当前时间
如 我们需要将use_time 赋值为当前时间: 准备三条数据 : 执行sql ,2种当前时间赋值函数,1种关键字赋值 : update test_info SET use_timeNOW() WHERE id 1; update test_info SET use_timeCURRENT_TIMESTAMP() …...
ModelSim® SE Command Reference Manual : find命令的用法
该命令按类型和名称定位对象。命令的参数按对象类型分组。 1、语法 find nets | signals <object_name> … [-internal] [-nofilter] {[-in] [-inout] [-out] | [-ports]} [-recursive]find instances | blocks {<object_name> … | -bydu <design_unit> |…...
PHPMailer发送的中文内容乱码如何解决
一: PHPMailer sdk 文件中有个设置默认编码的位置: vendor/phpmailer/phpmailer/src/PHPMailer.php 二: 实际业务代码中: require /sdk/PHPMailer/vendor/autoload.php;$mail new PHPMailer(true);try {//Server settings$mai…...
.npmrc配置文件
.npmrc配置文件 .npmrc 是一个用于配置 npm 行为的文件。这个文件可以位于多个地方,但最常见的是位于项目目录或者你的用户主目录。npmrc文件由一系列键值对组成,用于配置npm在执行命令时的行为和参数。 一个 .npmrc 文件的例子可能包含以下内容&#…...
告别CodeBlocks!在VScode里用CMake+MinGW搞定LVGL模拟器(附SDL2配置避坑指南)
从CodeBlocks到VScode:打造LVGL模拟器的现代化开发体验 在嵌入式GUI开发领域,LVGL以其轻量级和丰富的功能组件赢得了众多开发者的青睐。然而,官方推荐的CodeBlocks开发环境却让不少习惯了现代IDE的开发者感到不适——界面陈旧、插件生态有限、…...
ncmdump技术解析:网易云音乐NCM加密格式的逆向工程与转换实现原理
ncmdump技术解析:网易云音乐NCM加密格式的逆向工程与转换实现原理 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 项目技术定位与核心价值 ncmdump是一款专注于网易云音乐NCM加密格式逆向解析的开源工具,通过…...
NotebookLM赋能社科研究(从文献综述到理论建模的闭环实践)
更多请点击: https://intelliparadigm.com 第一章:NotebookLM赋能社科研究(从文献综述到理论建模的闭环实践) NotebookLM 是 Google 推出的面向研究者的 AI 原生笔记工具,其核心能力在于对用户上传的 PDF、TXT 等本地…...
2026山东大学软件学院项目实训(六)
一、基本信息组号:69组员:李重昊负责模块:AI 工作流 —— 图片收集节点二、任务概述在 LangGraph4j 工作流中完成图片收集节点开发,根据用户自然语言需求自动规划并收集网站所需图片,为后续提示词增强与代码生成提供素…...
均匀辐照度和局部遮光条件下光伏系统的新型样条-MPPT技术附Simulink仿真
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。 🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &…...
失落大陆建模:亚特兰蒂斯数字重建的结构验证
一、项目背景与目标设定在数字孪生与虚拟考古技术飞速发展的当下,亚特兰蒂斯这一传说中失落大陆的数字重建,不仅是对古老神话的技术致敬,更是对复杂场景建模与结构验证能力的极致考验。本项目旨在依托Blender等3D建模工具,结合最新…...
【电动车】基于粒子群算法模拟光伏的电动车充电站(电池健康状况通过CRF、ECL和SoH来量化)附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 dz…...
八大网盘直链解析工具:高效跨平台文件下载全攻略
八大网盘直链解析工具:高效跨平台文件下载全攻略 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 …...
跨平台资源下载神器:3分钟掌握全网视频音频一键保存终极指南
跨平台资源下载神器:3分钟掌握全网视频音频一键保存终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 还在…...
程序员的“黄金5年”:如何快速成为技术骨干
一、认知黄金5年:测试工程师的职业分水岭在软件行业,“黄金5年”是从业者职业发展的关键期,对于软件测试工程师而言更是如此。这5年不仅是技术能力从量变到质变的积累期,更是职业方向从模糊到清晰的定型期。据行业数据显示&#x…...






