001 Hadoop安装、Spring整合测试

Hadoop安装、整合测试

文章目录

  • Hadoop安装、整合测试
    • 1.简介
      • 1.优点
      • 2.组成
    • 2.安装
      • 1.安装jdk(如已安装可跳过)
      • 2.安装hadoop
        • 1.安装
        • 2. 修改配置文件core-site.xml
        • 3. 修改配置文件hdfs-site.xml
        • 4.启动hadoop
        • 5.启动yarn
        • 6.执行jps查看
        • 7.相关端口及配置位置
        • 8.访问后台
      • 3.Springboot整合HDFS

参考原文:https://blog.csdn.net/weixin_44458771/article/details/141711471

1.简介

Hadoop起源于Apache Nutch项目,始于2002年,是Apache Lucene的子项目之一 [2]。2004年,Google在“操作系统设计与实现”(Operating System Design and Implementation,OSDI)会议上公开发表了题为MapReduce:Simplified Data Processing on Large Clusters(Mapreduce:简化大规模集群上的数据处理)的论文之后,受到启发的Doug Cutting等人开始尝试实现MapReduce计算框架,并将它与NDFS(Nutch Distributed File System)结合,用以支持Nutch引擎的主要算法 [2]。由于NDFS和MapReduce在Nutch引擎中有着良好的应用,所以它们于2006年2月被分离出来,成为一套完整而独立的软件,并被命名为Hadoop。到了2008年年初,hadoop已成为Apache的顶级项目。

Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。广义上也可代指hadoop生态圈

1.优点

1.高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖 。

2.高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中 。

3.高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快 。

4.高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

5.低成本。Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,成本很低。

2.组成

hadoop主要由三大部分组成

  • MapReduce:负责计算
  • HDFS: 分布式文件存储
  • Yarn:资源管理调度 (hadoop2.x之后引入)

2.安装

1.安装jdk(如已安装可跳过)

1.下载安装包

wget --no-check-certificate https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-x64.tar.gz

2.解压

tar -zxvf jdk-8u151-linux-x64.tar.gz

3.重命名

mv jdk1.8.0_151/  java8

4.配置环境变量

echo 'export JAVA_HOME=/usr/local/jdk/java8' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile

5.验证是否安装成功

java -version

img

2.安装hadoop

1.安装

1.下载安装包

wget --no-check-certificate https://repo.huaweicloud.com/apache/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz

2.解压重命名

tar -zxvf hadoop-3.1.3.tar.gz 
mv hadoop-3.1.3  hadoop

3.配置环境变量

echo 'export HADOOP_HOME=/usr/software/hadoop/' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/bin' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/sbin' >> /etc/profile
source /etc/profile

4.修改配置文件

echo "export JAVA_HOME=/usr/local/jdk/java8" >> /usr/software/hadoop/etc/hadoop/yarn-env.sh
echo "export JAVA_HOME=/usr/local/jdk/java8" >> /usr/software/hadoop/etc/hadoop/hadoop-env.sh

5.验证是否安装成功

hadoop version

img

  • Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。
  • Hadoop 的配置文件位于 /usr/software/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。
2. 修改配置文件core-site.xml

编辑

vim /usr/software/hadoop/etc/hadoop/core-site.xml

将下列内容添加进configuration标签

<property><name>hadoop.tmp.dir</name><value>file:/usr/software/hadoop/tmp</value><description>location to store temporary files</description>
</property>
<property><name>fs.defaultFS</name><value>hdfs://0.0.0.0:9000</value>
</property>
3. 修改配置文件hdfs-site.xml

编辑hdfs-site.xml

vim /usr/software/hadoop/etc/hadoop/hdfs-site.xml
<property><name>dfs.replication</name><value>1</value>
</property>
<property><name>dfs.namenode.name.dir</name><value>file:/usr/software/hadoop/tmp/dfs/name</value>
</property>
<property><name>dfs.datanode.data.dir</name><value>file:/usr/software/hadoop/tmp/dfs/data</value>
</property>
<property><name>dfs.namenode.http-address</name><value>0.0.0.0:50070</value>
</property>

Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。

4.启动hadoop

初始化namenode

hadoop namenode -format

启动hdfs

start-dfs.sh

若出现以下报错

img

编辑/etc/profile

vim /etc/profile

在文件末尾加入以下内容

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

激活配置

source /etc/profile
5.启动yarn
start-yarn.sh
6.执行jps查看

img

如果失败可以查看hadoop/logs下日志

7.相关端口及配置位置
NameNode:
默认端口:9870
配置文件:hdfs-site.xmlDataNode:
默认端口:9864
配置文件:hdfs-site.xmlResourceManager:
默认端口:8088
配置文件:yarn-site.xmlNodeManager:
默认端口:8043
配置文件:yarn-site.xmlSecondaryNameNode:
默认端口:9868
配置文件:hdfs-site.xml
8.访问后台
http://127.0.0.1:8088

这个链接通常与Hadoop的YARN资源管理器相关。

img

http://127.0.0.1:50070

这个链接通常与Hadoop的HDFS(Hadoop分布式文件系统)的Web界面相关。

img

3.Springboot整合HDFS

     <dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>3.1.3</version></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-hdfs</artifactId><version>3.1.3</version></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>3.1.3</version></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-mapreduce-client-core</artifactId><version>3.1.3</version></dependency>

测试

@Test
public void test02() throws Exception {Configuration configuration = new Configuration();configuration.set("fs.defaultFS", "hdfs://127.0.0.1:9000");FileSystem fileSystem = FileSystem.get(new URI("hdfs://127.0.0.1:9000"),configuration, "root");System.out.println(fileSystem);
}

如果出现报错

Caused by: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.

原因:本地远程连接Hadoop系统时需要在本地配置相关的Hadoop变量 。

下载同版本的winutils:https://github.com/cdarlint/winutils

设置windows环境变量 HADOOP_HOME为下载的版本目录

img
Path新增

img

复制bin目录下hadoop.dll文件到windows/system32

img

重启idea,测试

img

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

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

相关文章

Python数学难题:科拉兹猜想(又称为 3x+1 猜想、角谷猜想、哈塞猜想、冰雹猜想、乌拉姆猜想或叙拉古猜想)

Python数学难题&#xff1a;科拉兹猜想&#xff08;又称为 3x1 猜想、角谷猜想、哈塞猜想、冰雹猜想、乌拉姆猜想或叙拉古猜想&#xff09; 科拉兹猜想&#xff0c;又称为 3x1 猜想、角谷猜想、哈塞猜想、冰雹猜想、乌拉姆猜想或叙拉古猜想&#xff0c;是一个与自然数相关的猜…

查找占用特定端口程序,并杀死

windows 在 Windows 上查找和结束占用特定端口&#xff08;如 9003&#xff09;的程序&#xff0c;你可以使用以下步骤&#xff1a; 步骤 1&#xff1a;找到占用端口的进程 ID (PID) 打开命令提示符&#xff08;按 Win R&#xff0c;输入 cmd&#xff0c;然后按回车&#x…

技术框架官方写法

知识背景&#xff1a; 在做汇报工作或者撰写简历的时候需要用到&#xff0c;希望对大家有帮助 总体介绍&#xff1a; Java: 始终保持 "Java" 的"J"大写&#xff0c;因为这是Oracle Corporation注册的商标。Spring Framework: 通常称其为 "Spring&q…

【React】事件绑定的方式

1. 内联函数绑定 这是最简单直接的方式&#xff0c;即在 JSX 语法中直接传递一个内联函数。这种方式每次渲染时都会创建新的函数实例&#xff0c;可能会导致不必要的性能开销。 class MyComponent extends React.Component {render() {return (<button onClick{() > th…

python中不变的数据类型有哪些

在Python中&#xff0c;不可变&#xff08;immutable&#xff09;数据类型是指一旦创建了这些类型的对象后&#xff0c;就不能改变其值。Python中的不可变数据类型包括以下几种&#xff1a; 数字 (int, float, complex): 这些类型的数值一旦创建就不能更改。例如&#xff0c;如…

速盾:高防服务器防火墙的特性是什么?

高防服务器防火墙是一种专业的网络安全设备&#xff0c;用于保护服务器免受各种网络攻击的侵害。它具有许多特性&#xff0c;以确保服务器的安全性和可靠性。 第一个特性是入侵检测系统&#xff08;IDS&#xff09;。高防服务器防火墙可以监视服务器上的网络流量&#xff0c;并…

使用Python实现深度学习模型:智能产品设计与开发

在智能产品设计与开发领域,深度学习模型的应用越来越广泛。本文将介绍如何使用Python构建一个简单的深度学习模型,并将其应用于智能产品的设计与开发。为了使内容尽可能通俗易懂,我们将以图像分类为例,详细讲解每一步骤。 1. 深度学习基础 深度学习是一种基于人工神经网络…

Spring Boot中使用MyBatis-Plus和MyBatis拦截器来实现对带有特定注解的字段进行AES加密。

1. 添加依赖 首先&#xff0c;在pom.xml文件中添加必要的依赖项&#xff1a; xml 深色版本 <dependencies> <!-- Spring Boot Starter Web --> <dependency> <groupId>org.springframework.boot</groupId> <artifac…

三级等保对postgresql的安全要求配置

密码策略 select * from pg_user select * from pg_settings; show password_encryption; show shared_preload_libraries; alter username postgres valid until 2024-05-11;日志审计 select name,setting from pg_settings where namelogging_collector or namelog_line_pr…

无人机航拍视频帧处理与图像拼接算法

无人机航拍视频帧处理与图像拼接算法 1. 视频帧截取与缩放 在图像预处理阶段,算法首先逐帧地从视频中提取出各个帧。 对于每一帧图像,算法会执行缩放操作,以确保所有帧都具有一致的尺寸,便于后续处理。 2. 图像配准 在图像配准阶段,算法采用SIFT(尺度不变特征变换)算…

Flutter 与 React Native - 详细深入对比分析(2024 年)

超长内容预警&#xff0c;建议收藏后阅。 Flutter 和 React Native 是跨平台应用程序开发的两个领先工具。了解它们的差异以及各自的最佳用例。 什么是Flutter&#xff1f; Flutter 是 Google 于 2018 年发布的用户界面 (UI) 软件开发套件。Flutter 可让您为多种平台和操作系统…

基于ffmpeg实现多路rtsp拉流解码为yuv420p

一&#xff1a;前言 FFmpeg 是一个非常强大的多媒体框架&#xff0c;它可以用来处理视频和音频数据。它包括了命令行工具 ffmpeg、ffplay、ffprobe 等&#xff0c;以及一套可以用来开发多媒体应用的库&#xff08;libavcodec、libavformat、libavutil、libswscale 等&#xff0…

在线深度学习:爱奇艺效果广告分钟级模型优化

01# 背景 在效果广告投放场景中&#xff0c;媒体侧需要准确衡量每次请求的价值&#xff0c;模型预估值在广告竞价中扮演着核心角色。模型预估精度的提升&#xff0c;是改善媒体侧变现效率、提升广告收益的核心技术驱动力。 此前&#xff0c;爱奇艺效果广告预估模型为小时级模型…

10.15学习

1.程序开发的步骤 定义程序的目标→设计程序→编写代码&#xff08;需要选择语言&#xff0c;一种语言对应一种编译器&#xff09;→编译→运行程序→测试和调试程序→维护和修改程序 2.ANSI/ISO C标准 1989年ANSI批准通过&#xff0c;1990年ISO批准通过&#xff0c;因此被称…

构建流媒体管道:利用 Docker 部署 Nginx-RTMP 从 FFmpeg RTMP 推流到 HLS 播放的完整流程

最近要实现一个类似导播台的功能&#xff0c;于是我先用 FFmpeg 实现一个参考对照的 Demo&#xff0c;我将其整理为一篇文章&#xff0c;方便后续大家或者和自己参考&#xff01; 1、软件工具介绍 本次部署相关软件 / 工具如下&#xff1a; FFmpeg&#xff1a;全称是 Fast Fo…

软件确认测试内容和方法分享,CMA、CNAS第三方软件检测机构推荐

在现代软件开发中&#xff0c;软件确认测试扮演着至关重要的角色。它不仅帮助开发团队识别系统中的缺陷&#xff0c;还确保软件产品符合用户需求和期望。 软件确认测试旨在验证软件系统的性能和功能是否符合设计规格和用户需求。它通常在软件开发的后期进行&#xff0c;以确保…

火语言RPA流程组件介绍--浏览器上传文件

&#x1f6a9;【组件功能】&#xff1a;在浏览器内自动点击上传功能按钮&#xff0c;选择本地文件完成文件网页上传 配置预览 配置说明 目标元素 支持T或# 通过捕获网页元素或填写css,xpath获取网页元素作为操作目标 上传文件路径 支持T或# 默认FLOW输入项 需要上传的文件…

AI对抗AI:如何应对自动化攻击新时代?

在当今这个生成式AI迅猛发展的时代&#xff0c;自动化攻击的威胁日益加剧。 在人工智能浪潮下&#xff0c;如何利用AI对抗AI&#xff0c;从而实现全方位的网络安全防护&#xff1f; 一、AI浪潮下&#xff0c;自动化攻击加剧 AI技术的发展既带来了前所未有的挑战&#xff0c;也…

Redis 排行榜:实现、操作与性能优化

Redis 是一个高性能的内存数据库&#xff0c;支持多种数据结构&#xff0c;其中有序集合&#xff08;Sorted Set&#xff09;特别适合用于实现排行榜功能。本文将详细介绍如何使用 Redis 的有序集合实现一个简单而高效的排行榜系统&#xff0c;包括排行榜的基本操作、示例代码以…

从零开始构建:Python自定义脚本自动化你的日常任务

从零开始构建&#xff1a;Python自定义脚本自动化你的日常任务 Python 作为一种简洁且功能强大的编程语言&#xff0c;被广泛应用于各种自动化任务中。通过编写 Python 脚本&#xff0c;你可以轻松地将日常重复性工作自动化&#xff0c;例如文件操作、数据处理、网络爬虫、系统…