Hadoop搭建及Springboot集成

devtools/2024/10/9 15:15:57/

文章目录

  • 环境说明
  • 下载安装
    • 配置单机伪集群
      • 配置hadoop-env.sh
      • 配置core-sit.xml
      • 配置hdfs-site.xml
      • 配置 yarn-site.xml
      • 配置mapred-site.xml
    • 启动
    • 访问web界面
  • Windows电脑远程调用
  • springBoot 集成

环境说明

使用Hadoop的前提是linux服务器上必须安装java,这里不赘述怎么安装java。
Hadoop的版本为3.4.0,安装子啊linux服务器上 下载地址,springboot使用的是hadoop-aliyun依赖包。本地调试为Windows电脑

下载安装

hadoop下载解压到linux上,配置环境变量

vim /etc/profile

在/etc/profile文件下添加hadoop相关的环境变量

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

配置好变量后,使用如下命令验证

hadoop version

在这里插入图片描述

配置单机伪集群

进入到hadoop配置文件目录

一般在hadoop安装目录ect/hadoop文件夹里

hadoopenvsh_25">配置hadoop-env.sh

export HADOOP_HOME=/usr/local/hadoop
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

配置core-sit.xml

<configuration>
<property><name>fs.defaultFS</name><!-- hadoop01-sit随便起的,不要使用ip及localhost --><value>hdfs://hadoop01-sit:9000</value></property><!-- 指定 hadoop 数据的存储目录 --><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop/hdfs/tmp</value></property><property><name>hadoop.proxyuser.root.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.root.groups</name><value>*</value></property><property><name>fs.hdfs.impl</name><value>org.apache.hadoop.hdfs.DistributedFileSystem</value></property></configuration>

配置hdfs-site.xml

<configuration>
<property><name>dfs.replication</name>      <value>1</value></property>  <property><name>dfs.namenode.name.dir</name>  <value>/usr/local/hadoop/hdfs/name</value>  <final>true</final></property>  <property><name>dfs.datanode.data.dir</name>  <value>/usr/local/hadoop/hdfs/data</value>  <final>true</final></property>  <property><!--web界面端口号 --><name>dfs.http.address</name><value>0.0.0.0:50070</value></property><property><name>dfs.permissions</name>  <value>false</value></property><property><!-- hadoop01-sit要和core-sit配置fs.defaultFS值一致 --><name>dfs.namenode.rpc-address</name><value>hadoop01-sit:9000</value></property>
</configuration>

配置 yarn-site.xml

<configuration><!-- Site specific YARN configuration properties -->
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property></configuration>

配置mapred-site.xml

<configuration>
<property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

启动

#在hadoop安装目录 sbin文件夹下
# 启动全部
./start-all

访问web界面

访问到界面标识启动成功,本地Windows电脑修改host文件将hadoop01-sit映射到了linux服务器ip
http://hadoop01-sit:50070/
在这里插入图片描述

Windows电脑远程调用

当本地springboot项目作为hadoop客户端的hdfs,会报错

HADOOP_HOME AND HADOOP.HOME.DIR ARE UNSET

问题原因windos电脑作为客户端,操作hdfs还需要下载一个Windows的winutils程序。下载地址
下载后这里使用的是hadoop-3.0.0工具
在这里插入图片描述
hadoop-3.0.0工具配置成Windows环境变量
在这里插入图片描述

springBoot 集成

使用的是hadoop-aliyun依赖包,但是操作hadoop的hdfs文件系统还需要引入

hadoopVersion = "3.1.4"
hadoop-hdfs = { module = "org.apache.hadoop:hadoop-hdfs", version.ref = "hadoopVersion" }
hadoop-hdfs-client = { module = "org.apache.hadoop:hadoop-client", version.ref = "hadoopVersion" }

本地调试操作hdfs,使用org.apache.hadoop.conf.Configuration进行配置,使用org.apache.hadoop.fs.FileSystem类对文件进行上传下载操作。
具体操作可参考这一篇博客链接: springboot操作hdfs上传下载


http://www.ppmy.cn/devtools/120800.html

相关文章

C++11 多线程编程-小白零基础到手撕线程池

提示&#xff1a;文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问&#xff1a; 本文目标&#xff1a; 一、背景 来源于b站视频 C11 多线程编程-小白零基础到手撕线程池 学习来源&#xff1a;https://www.bilibili.com/video/BV1d841117SH/?p2&spm_id_f…

【STM32】定时器

一、 定时器概述 定义 ​ 设置等待时间&#xff0c; 到达后则执行指定操作的硬件。 STM32F407 的定时器有以下特征 ​ 具有基本的定时功能&#xff0c; 也有 PWM 输出&#xff08;灯光亮度控制、 电机的转速&#xff09;、 脉冲捕获功能&#xff08;红外捕捉&#xff09;。…

爬虫小案例:爬取豆瓣网TOP250的电影信息(内含面相对象源码、及详细教学)

爬虫案例二———爬取豆瓣网TOP250的电影信息&#xff0c;并存入MySQL数据库 前提准备 安装pymysql库 pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple Python连接MySQL数据库&#xff0c;并进行增删改查基本操作 连接数据库 """连接MyS…

重构长方法之提取方法

本篇文章将讲解解决长方法的6钟解决方案中的提取方法。 1. 什么是长方法 长方法通常指的是代码中功能过于复杂或包含过多逻辑的函数或方法。这种方法往往难以阅读、理解和维护&#xff0c;可能违反单一职责原则。为了提高可读性和可维护性&#xff0c;建议将长方法拆分成多个小…

Spring Boot 和 MyBatis-Plus凑一块儿了,这份教程你得看

一、引言 MyBatis-Plus 是 MyBatis 的增强版&#xff0c;提供了 CRUD 接口、分页插件、性能分析插件等特性&#xff0c;简化了开发过程。本文将详细介绍如何在 Spring Boot 项目中集成 MyBatis-Plus。 支持的数据看也越来越多&#xff0c;值得去搞一下&#xff0c;写了一个小例…

前端编程艺术(2)----CSS

目录 1.CSS 2.CSS引入 3.选择器 1.标签选择器 2.类选择器 3.id选择器 4.属性选择器 5.后代选择器 5.直接子元素选择器 6.伪类选择器 链接相关 动态伪类 结构化伪类 否定伪类 其他伪类 UI元素状态伪类 4.字体 1.font-family 2.font-size 3.font-style 4.fo…

Vue.js组件开发教程

Vue.js 组件开发教程 Vue.js 是一款流行的前端框架&#xff0c;组件是其核心概念之一。通过将页面拆分为可复用的组件&#xff0c;可以提高代码的可维护性和可重用性。本教程将带您一步步学习如何开发 Vue.js 组件。 目录 什么是组件创建一个简单的组件组件注册 全局注册局部…

Mybatis(进阶部分)

四 Mybatis完成CURD&#xff08;二&#xff09; 4.5 多条件CRUD 之前的案例中&#xff0c;接口里方法的形参个数都是1个&#xff1b;如果方法形参是两个或者两个以上时&#xff0c;MyBatis又该如何获取获取参数呢&#xff1f; Mybatis提供了好几种方式&#xff0c;可以获取多…