Hadoop搭建及Springboot集成

文章目录

环境说明

使用Hadoop的前提是linux服务器上必须安装java ,这里不赘述怎么安装java。

Hadoop的版本为3.4.0,安装子啊linux服务器上 下载地址,springboot使用的是hadoop-aliyun依赖包。本地调试为Windows电脑

下载安装

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

shell 复制代码
vim /etc/profile

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

shell 复制代码
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

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

shell 复制代码
hadoop version

配置单机伪集群

进入到hadoop配置文件目录

shell 复制代码
一般在hadoop安装目录ect/hadoop文件夹里

配置hadoop-env.sh

shell 复制代码
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

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

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

xml 复制代码
<configuration>

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

配置mapred-site.xml

xml 复制代码
<configuration>
<property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
 </property>
</configuration>

启动

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

访问web界面

访问到界面标识启动成功,本地Windows电脑修改host文件将hadoop01-sit映射到了linux服务器ip

http://hadoop01-sit:50070/

Windows电脑远程调用

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

java 复制代码
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文件系统还需要引入

kts 复制代码
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上传下载

相关推荐
洛小豆17 分钟前
Swagger3学习与实践指南
spring boot·后端·spring cloud
TDengine (老段)21 分钟前
TDengine 浮点数新编码 BSS 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
TDengine (老段)24 分钟前
TDengine 数学函数 ASIN() 用户手册
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据
摇滚侠1 小时前
Spring Boot 3零基础教程,自动配置机制,笔记07
spring boot·笔记·后端
罗技1233 小时前
Elasticsearch、OpenSearch 与 Easysearch:三代搜索引擎的演化与抉择
大数据·elasticsearch·搜索引擎
爱编程的小白L4 小时前
基于springboot志愿服务管理系统设计与实现(附源码)
java·spring boot·后端
非极限码农7 小时前
Apache Spark 上手指南(基于 Spark 3.5.0 稳定版)
大数据·spark·apache
奋斗的小monkey8 小时前
Spring Boot 3.x核心特性与性能优化实战
java·spring boot·微服务·性能优化·响应式编程
Guheyunyi9 小时前
消防管理系统如何重构现代空间防御体系
大数据·运维·人工智能·安全·信息可视化·重构
麦芽糖021910 小时前
springboot集成ZeroMQ
java·spring boot·后端