基于ubuntu安装hadoop

article/2025/8/26 10:19:39

前言

        提起大数据,就会觉得很厉害,将众多的数据整合在一起,在有条理的呈现在屏幕前的我们。有时候可能会想到底是什么在支撑着大数据,大数据的出现,方便了我们日常生活中的方方面面。那这些海量的数据计算机是怎么存储和分析的呢,那就要引出一个大数据底层支撑平台——hadoop。hadoop具有处理海量数据,支撑多种数据格式,以及快速响应等功能,为数据的挖掘提供工具。

1、安装环境

由于资源有限,使用VMware创建虚拟机,搭建虚拟环境。ubuntu 22.04版本,hadoop3.4.0版本,Jdk8u451版本(jdk版本和hadoop版本一定相互兼容,不然很容易出问题)

hadoop和jdk的版本对照表(源自网上):

Hadoop 版本范围支持的 Java 版本
Hadoop 3.3.xJava 8 和 Java 11(仅运行时支持,编译需使用 Java 8)
Hadoop 3.0.x - 3.2.xJava 8
Hadoop 2.7.x - 2.10.xJava 7 和 Java 8
Hadoop 2.6.x及以下Java 6
Hadoop 1.xJava 6

2、安装Jdk8

2.1 本机在官网下载linux(x64位)的jdk8,然后通过ssh连接的软件(xshell或者mobaxterm),放入虚拟机ubuntu下的/opt目录,并解压至/usr/local下。jdk的官网地址:https://www.oracle.com/java/technologies/downloads/

cd /opt
mkdir /usr/local/java
tar -zxvf jdk-8u451-linux-x64.tar.gz -C /usr/local/java
cd /usr/local/java

2.2 解压后,将Java加到环境变量当中,并生效

vim /etc/profile  #在最末尾加上java的环境变量
#java
JAVA_HOME=/usr/local/java/jdk1.8.0_451  #java的绝对路径
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOMEsource /etc/profile

2.3 查看Java版本

java -version

3、安装hadoop

3.1 下载和解压hadoop

wget https://downloads.apache.org/hadoop/common/hadoop-3.4.0/hadoop-3.4.0.tar.gz
tar -zxf hadoop-3.4.0.tar.gz -C /usr/local  #将hadoop的解压文件放在/usr/local下
cd /usr/local
mv ./hadoop-3.4.0 ./hadoop

3.2 设置hadoop环境变量

vi /etc/profile
#文件内容:
export HADOOP_HOME=/usr/local/hadoop   #指向hadoop的绝对路径
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbintail -2 /etc/profile
source /etc/profile
hadoop version

3.2 修改hadoop权限,改成普通用户。当前我的系统有一个普通用户sa

chown -R 自己选择一个用户名 ./hadoop

4、验证hadoop

4.1 安装完成后,Hadoop默认模式为非分布式模式, 即单java进程。运行一个grep例子,在hadoop目录下,创建输入文件夹input,并在其中添加测试文件,运行如下命令。

mkdir input
echo "dfsabc dfsefg dfsxyz dfs123" > input/file1.txt
echo "dfsabc dfsxyz dfs456" > input/file2.txt
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop- mapreduce-examples-3.4.0.jar grep input output 'dfs[a-z.]+'   #在hadoop目录下执行程序


http://www.hkcw.cn/article/FvCvAPstmU.shtml

相关文章

如何在线免费将音乐伴奏提取

一键分离人声与伴奏!让音乐创作再无边界!有时我们想要学习某首歌曲,需要将人声和伴奏进行分离,如何将音乐人声提取出来呢。 音乐分离工具:在线音乐人声提取 - 分离音频人声与伴奏 - iLoveOFD在线 在线音乐人声提取工…

使用SCSS实现随机大小的方块在页面滚动

目录 一、scss中的插值语法 二、方块在界面上滚动的动画 一、scss中的插值语法 插值语法 #{}‌ 是一种动态注入变量或表达式到选择器、属性名、属性值等位置的机制 .类名:nth-child(n) 表示需同时满足为父元素的第n个元素且类名为给定条件 效果图&#xff1a; <div class…

超高频 RFID 读写器(三格电子)

一、 功能概述 本文档是 SG-UHF80 系列超高频 RFID 读写器产品说明书&#xff0c;包含 SG-UHF80-485、 SG-UHF80-TCP &#xff0c;共两个产品。使用框图如下图所示。 1.1 产品功能 本系列产品用来读写超高频 RFID 标签&#xff0c;支持 Modbus_RTU/ModbusTCP 从站功能。 可实…

Java 微服务架构设计:服务拆分与服务发现的策略

Java 微服务架构设计&#xff1a;服务拆分与服务发现的策略 微服务架构作为一种热门的软件架构风格&#xff0c;在 Java 领域有着广泛的应用。它通过将系统拆分为一组小型服务来实现更灵活、可扩展的系统设计。在微服务架构中&#xff0c;服务拆分和服务发现是两个关键环节。本…

信号量的应用:利用信号量实现进程互斥

设置互斥信号量 下面进行详细解释 1. 信号量定义与初始化 semaphore mutex; mutex 1; // 初始化为1信号量定义&#xff1a;semaphore 是定义信号量的类型 &#xff0c;这里定义了一个名为 mutex 的信号量。信号量是一种用于实现进程同步与互斥的机制&#xff0c;本质上是一个…

多模态大模型:开启智能决策的新时代

想要掌握如何将大模型的力量发挥到极致吗&#xff1f;叶梓老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。 1小时实战课程&#xff0c;您将学习到如何轻松上手并有效利用 Llama Factory 来微调您的模型&#xff0c;以发挥其最大潜力。 CSDN教学平台录播地址…

python模块和包

模块 Python模块(Module) 是一个Python文件&#xff0c;以.py结尾&#xff0c;模块能定义函数、类和变量&#xff0c;模块里也能包含可执行的的代码 每一个模块都能帮助我们快速的实现一些功能&#xff0c;比如实现和时间相关的功能就可以使用time模块&#xff0c;我们可以认…

《仿盒马》app开发技术分享-- 订单列表页(端云一体)

开发准备 上一节我们实现了订单详情的展示&#xff0c;但是我们的确认订单页面只在下单成功后才会出现供用户查看&#xff0c;现在我们要有一个常驻的入口让用户去随时查看自己的订单以及订单状态&#xff0c;订单状态分为多个&#xff0c;还需要给用户提供切换的功能 功能分…

【第3章 文本】3.3 文本的定位

文章目录 水平与垂直定位示例textAligntextBaseline 将文本居中文本的度量绘制坐标轴旁边的文本标签在圆弧周围绘制文本 水平与垂直定位 在canvas中使用 strokeText() 或 fillText() 绘制文本时&#xff0c;需要指定所绘文本的 X 和 Y 的坐标&#xff0c;然而&#xff0c;浏览…

C++哈希

一.哈希概念 哈希又叫做散列。本质就是通过哈希函数把关键字key和存储位置建立映射关系&#xff0c;查找时通过这个哈希函数计算出key存储的位置&#xff0c;进行快速查找。 上述概念可能不那么好懂&#xff0c;下面的例子可以辅助我们理解。 无论是数组还是链表&#xff0c;查…

Java中的设计模式实战:单例、工厂、策略模式的最佳实践

Java中的设计模式实战&#xff1a;单例、工厂、策略模式的最佳实践 在Java开发中&#xff0c;设计模式是构建高效、可维护、可扩展应用程序的关键。本文将深入探讨三种常见且实用的设计模式&#xff1a;单例模式、工厂模式和策略模式&#xff0c;并通过详细代码实例&#xff0…

QT6搭建和使用MQTT

QT6搭建和使用MQTT 1.搭建MQTT环境1.下载源码2.CMake 编译 Qt MQTT 模块3.添加QT MQTT模块4.验证测试 2.MQTT的使用 1.搭建MQTT环境 1.下载源码 1.在GitHub下载对应qt版本的源码 git clone git://code.qt.io/qt/qtmqtt.git -b 6.5.3 这里以6.5.3版本的为例。 这里使用的是VS…

深入了解 C# 异步编程库 AsyncEx

在现代应用程序开发中&#xff0c;异步编程已经成为提升性能和响应能力的关键&#xff0c;尤其在处理网络请求、I/O 操作和其他耗时任务时&#xff0c;异步编程可以有效避免阻塞主线程&#xff0c;提升程序的响应速度和并发处理能力。C# 提供了内建的异步编程支持&#xff08;通…

使用 Azure DevOps 管道部署到本地服务器

Azure DevOps 是一个帮助改进 SDLC(软件开发生命周期)的平台。 在本文中,我们将使用 Azure Pipelines 创建自动化部署。 Azure DevOps 团队将 Azure Pipelines 定义为“使用 CI/CD 构建、测试和部署,适用于任何语言、平台和云平台”。 在这里,我将解释如何在 Azure Dev…

NSSCTF-[青海民族大学 2025 新生赛]wenshilou

下载附件得到jpeg图片 放到kali里面用binwalk命令进行分离 分离之后得到文件 点击zip文件里面有个flag&#xff0c;打开得到base64编码 直接放到随波逐流里面解码 得到flag NSSCTF{welcometoQinhaiminzudaxue}

React 编译器

&#x1f916; 作者简介&#xff1a;水煮白菜王&#xff0c;一位前端劝退师 &#x1f47b; &#x1f440; 文章专栏&#xff1a; 前端专栏 &#xff0c;记录一下平时在博客写作中&#xff0c;总结出的一些开发技巧和知识归纳总结✍。 感谢支持&#x1f495;&#x1f495;&#…

【机器学习基础】机器学习入门核心算法:K均值(K-Means)

机器学习入门核心算法&#xff1a;K均值&#xff08;K-Means&#xff09; 1. 算法逻辑2. 算法原理与数学推导2.1 目标函数2.2 数学推导2.3 时间复杂度 3. 模型评估内部评估指标外部评估指标&#xff08;需真实标签&#xff09; 4. 应用案例4.1 客户细分4.2 图像压缩4.3 文档聚类…

力扣热题100之二叉树的最大深度

题目 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 代码 方法一&#xff1a;递归 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightN…

【C++编程】C++学习笔记【更新ing】

C学习笔记 作者&#xff1a;齐花Guyc(CAUC) 文章目录 C学习笔记Chapter.1 面向对象编程&#xff08;OOP&#xff09;1.类&#xff08;class&#xff09;2.对象&#xff08;object&#xff09;3.封装&#xff08;Encapsulation&#xff09;4.继承&#xff08;Inheritance&#…

华为OD机试真题——矩形相交的面积(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…