【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 文件的例子可能包含以下内容&#…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...






