【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 文件的例子可能包含以下内容&#…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
ui框架-文件列表展示
ui框架-文件列表展示 介绍 UI框架的文件列表展示组件,可以展示文件夹,支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项,适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...
【若依】框架项目部署笔记
参考【SpringBoot】【Vue】项目部署_no main manifest attribute, in springboot-0.0.1-sn-CSDN博客 多一个redis安装 准备工作: 压缩包下载:http://download.redis.io/releases 1. 上传压缩包,并进入压缩包所在目录,解压到目标…...
EasyRTC音视频实时通话功能在WebRTC与智能硬件整合中的应用与优势
一、WebRTC与智能硬件整合趋势 随着物联网和实时通信需求的爆发式增长,WebRTC作为开源实时通信技术,为浏览器与移动应用提供免插件的音视频通信能力,在智能硬件领域的融合应用已成必然趋势。智能硬件不再局限于单一功能,对实时…...






