Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决

简介: 本文是一份详细的Hadoop集群搭建指南,基于Hadoop 3.3.4版本和CentOS 8操作系统。文章内容包括虚拟机创建、网络配置、Java与Hadoop环境搭建、克隆虚拟机、SSH免密登录设置、格式化NameNode、启动Hadoop集群以及通过UI界面查看Hadoop运行状态。同时,还提供了常见问题的解决方案。

Hadoop集群搭建,基于3.3.4hadoop

Hadoop集群搭建,我这里采用的是Hadoop3.3.4,Jdk1.8,centos8,vmware16版本的。

1.虚拟机的创建

首先我们需要创建三台虚拟机,先创建第一台虚拟机,然后对第一台虚拟机进行配置(网络配置,免密配置,jdk,hadoop环境的安装),然后进行克隆,将第一台虚拟机克隆两个虚拟机出来,最后开始搭建集群。

一些目录说明 :

/export/data/ :存放数据类的文件
/export/servers/ :存放服务类软件
/export/software/ :存放安装包文件

1.1 第一台虚拟机的创建

打开VMware进行第一台虚拟机的创建,点击新建虚拟机

在这里插入图片描述

选择典型,下一步

在这里插入图片描述

我这里因为提前已经准备好了centos8的镜像资源,所以直接将光盘驱动文件选择了,然后点击下一步

在这里插入图片描述

然后自定义虚拟机名称,已经安装的位置,我这里使用node-01(主虚拟机)作为第一台虚拟机的名称,然后点击下一步

在这里插入图片描述

磁盘空间默认20GB即可,下一步

在这里插入图片描述

点击自定义硬件,对虚拟机的内存和cpu进行一定的配置

在这里插入图片描述

这里我只将虚拟机的内存进行了更改,由默认的1GB改到了2GB,然后点击关闭

在这里插入图片描述

点击完成

在这里插入图片描述

1.2 第一台虚拟机的安装

然后进入到虚拟机安装的环节,通过上下键切换,选择Install Centos stream 8-stream

在这里插入图片描述

选择语言,中文,然后点击继续

在这里插入图片描述

选择root密码,对root账户的密码进行初始化设定

在这里插入图片描述

点击完成

接着我们再对网络进行配置,选择网络和主机名

在这里插入图片描述

将网络开启,然后设定主机名,并且应用,然后点击完成

图片

然后选择时区,将时区设为ASia/Shanghai

在这里插入图片描述

点击完成

在这里插入图片描述

在这里插入图片描述

然后选择分区,默认分区也可以

在这里插入图片描述

然后进行软件的选择

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

因为我是小白,所以还是选择了带GUI图形界面的,然后选择网络服务器,传统的UNIX兼容性和基本的开发工具即可

然后开始安装即可,大概几分钟左右
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

点击重启系统即可

在这里插入图片描述

重新启动后,它会让你确认是否接受服务,选择接受即可,然后创建用户这项根据个人需求我就暂时不创建了。

在这里插入图片描述

在这里插入图片描述

初始界面,如下,第一台虚拟机搭建完毕

在这里插入图片描述

1.3 第一台虚拟机的网络配置

我们可以使用XShell来进行远程登录,使用Xftp来进行文件的传输和下载,我这里就不过多赘述,在我的另外一篇文章中都有详细的介绍。

(1条消息) Xshell和Xftp的下载和在linux虚拟机中的使用_xshell和xftp下载_杀死一只知更鸟debug的博客-CSDN博客

1.3.1 主机名和IP映射配置

配置主机名

vi /etc/sysconfig/network

将虚拟机主机名称设为 node-01,node-02,node-03

在这里插入图片描述

配置IP映射

vi /etc/hosts

将IP地址与主机名,进行关联,对/etc/hosts文件进行下面的添加

192.168.197.133 node-01
192.168.197.134 node-02
192.168.197.135 node-03

在这里插入图片描述

1.3.2 网络参数配置

修改IP地址

vi /etc/sysconfig/network-scripts/ifcfg-ens33

默认配置如下图

在这里插入图片描述

将BOOTPROTO的值改为static,静态路由协议,保持IP的固定

BOOTPROTO=static

IPADDR=192.168.197.133
GATEWAY=192.168.197.2
NETMASK=255.255.255.0
DNS1=8.8.8.8

在这里插入图片描述

重启网络配置使其生效

service network restart

然后可以使用 ifconfig指令查看网络是否配置成功。

1.4 第一台虚拟机的Java,Hadoop环境搭建

1.4.1 Java环境搭建

去到Java的官网,然后下载对应的Linux版本的Jdk

在这里插入图片描述

创建一个目录,用于存放java的环境,上面已经说过了,要将软件包存放到/export/software文件夹中

mkdir -p /export/data/ # 存放数据类的文件
mkdir -p /export/servers/ # 存放服务类软件
mkdir -p /export/software/ #存放安装包文件

在这里插入图片描述

将Jdk通过Xftp传入到Linux虚拟机上刚刚创建的目录下,然后进行解压安装及环境配置

在这里插入图片描述

接着切换到java目录下,对压缩包进行解压

cd /export/software # 切换目录
tar -zxvf jdk-8u141-linux-x64.tar.gz -C/export/servers # 解压

配置Java的环境变量,用vi 打开/etc/profile 文件进行配置

vi /etc/profile

将下面的配置信息,写入到 /etc/profile目录中(注意你安装的Java版本及解压的名称)。

export JAVA_HOME=/export/servers/jdk1.8.0_141
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

在这里插入图片描述

然后保存退出 Esc : wq

接着重新加载配置文件:

source /etc/profile

然后输入

java -version

此时就可以看到Java环境安装好啦

在这里插入图片描述

1.4.2 Hadoop环境搭建

同样,安装Linux中的Hadoop环境,先需要去其官网下载对应的Hadoop版本 Apache Hadoop

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

找到压缩包后,将其传输到Linux虚拟机中的 /export/software 目录下,我这里使用的是最新的hadoop3.3.4

Apache Downloads

在这里插入图片描述

然后解压该压缩包到 /export/servers 目录下

cd /export/software
#如果不存在 modules目录则进行创建 mkdir modules
tar -zxvf hadoop-3.3.4.tar.gz -C /export/servers

接着开始对 /etc/profile 开始配置hadoop系统环境

vi /etc/profile

将下面的内容插入到 /etc/profile 的底部

export HADOOP_HOME=/export/servers/hadoop-3.3.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

在这里插入图片描述

然后保存退出 Esc : wq

同样需要重新加载一下配置文件使其生效

source /etc/profile

输入hadoop -version,查看其输出,可见此时hadoop已经安装完毕

在这里插入图片描述

配置环境变量:

hadoop所有配置文件都存在安装目录下的/etc/hadoop目录中(我这里是**/export/servers/hadoop-3.3.4/etc/hadoop**),在该目录下的hadoop-env.sh、mapred-env.sh、yarn-env.sh中添加JAVA_HOME环境变量:

export JAVA_HOME=/export/servers/jdk1.8.0_141

如下图:

进入到其安装目录下的/etc/hadoop的目录中,然后对hadoop-env.sh、mapred-env.sh、yarn-env.sh中添加JAVA_HOME环境变量

在这里插入图片描述

1. 修改hadoop-env.sh

vi hadoop-env.sh

找到 export JAVA_HOME 然后添加/export/servers/javajdk1.8.0_141(jdk目录位置

在这里插入图片描述

然后保存退出 Esc :wq

yarn-env.sh

vi yarn-env.sh

在这里插入图片描述

保存退出

1、修改core-site.xml

Hadoop的核心配置文件,其目的是配置HdFS地址,端口号,以及临时文件目录

vi core-site.xml # 使用vi对其xml进行配置

添加以下内容

<property>
    <!-- 配置Hadoop 的临时目录 -->
    <name>hadoop.tmp.dir</name>
    <value>file:/export/servers/hadoop-3.3.4/tmp</value>
</property>
<property>
     <!-- 配置Hadoop的文件系统,由URI指定 -->
    <name>fs.defaultFS</name>
    <!-- 这里我之前配置过主机名和IP映射所以写成主机名即可,
        没配置过的话,写完整的IP地址即可 192.168.197.133
    -->
    <value>hdfs://node-01:9000</value>
</property>

参数说明:

  • fs.defaultFS:默认文件系统,HDFS的客户端访问HDFS需要此参数
  • hadoop.tmp.dir:指定Hadoop数据存储的临时目录,其它目录会基于此路径, 建议设置到一个足够空间的地方,而不是默认的/tmp下

在这里插入图片描述

2、修改hdfs-site.xml,添加以下内容
vi hdfs-site.xml

hdfs-site.xml 用于设置HDFS的NameNode和DataNode两大进程

<!-- 指定hdfs副本的数量 -->
<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>
<!-- secondary 所在的主机IP和端口号  -->
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>node-02:50090</value>
</property>

参数说明:

  • dfs.replication:数据块副本数 - dfs.name.dir:指定namenode节点的文件存储目录
  • dfs.data.dir:指定datanode节点的文件存储目录

在这里插入图片描述

3、修改mapred-site.xml

mapred-site.xml是MapReduce的核心配置文件,用于指定MapReduce运行时框架。

vi marped-site.xml

添加以下内容

<property>
      <!-- 指定MapReduce运行时框架,指定yarn,默认是local -->
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
</property>

在这里插入图片描述

4、修改yarn-site.xml,添加以下内容

yarn-site.xml是YARN框架的核心配置文件,需要指定YARN集群的管理者。

vi yarn-site.xml

添加如下配置:

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!-- 指定YARN集群的管理者Resoucemanage的地址-->
    <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>node-01</value>
    </property>

参数说明:

- yarn.nodemanager.aux-services:NodeManager上运行的附属服务,需配置成mapreduce_shuffle才可以运行Mapreduce程序。yarn提供了该配置用于在nodemanager上扩展自定已服务,MapReduce的Shuffle功能正式一种扩展服务。

在这里插入图片描述

5、修改 slaves文件

slaves文件用于记录Hadoop集群的所有从节点(HDFSde DataNode 和 YARN 的 NodeManager所在主机)的主机名,用来配合一键启动脚本集群从节点(保证配置了SSH免密登录)。打开该配置文件,先删除里面的默认内容(localhost),然后配置如下内容

vi slaves

# 添加如下内容
node-01
node-02
node-03

2、克隆另外两台虚拟机及网络配置

2.1 克隆虚拟机

右键,选择管理,然后点击克隆

流程如下:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

选择完整克隆,点击下一步

在这里插入图片描述

虚拟机名称和位置,自定义

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

此时第二台虚拟机已经克隆完毕,接着我们再以相同的方式克隆第三台虚拟机node-03

2.2 克隆虚拟机网络配置

配置主机名

vi /etc/sysconfig/network
# 或者使用 
hostnamectl set-hostname 主机名

主机名配置后,使用reboot指令进行重启才会生效

将新克隆的虚拟机主机名称分别设为 node-02,node-03

修改IP地址

vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改IPADDR即可

node-02 对应 192.168.197.134

node-03 对应 192.168.197.135

在这里插入图片描述

3、设置node-01到其余两台虚拟机的SSH免密登录

1、在各个节点中生成密钥文件

$ cd ~/.ssh/    # 若没有该目录,执行ssh localhsot
$ ssh-keygen -t rsa  # 生成密钥文件,提示输出加密信息,一直回车即可

在这里插入图片描述

tip:如果提示说不存在ssh目录,直接执行 ssh-keygen -t rsa 即可

2、分别在三个节点中心以下命令,将公钥信息复制并追加到对方节点的授权文件authorized.key中

$ ssh-copy-id node-01
$ ssh-copy-id node-02
$ ssh-copy-id node-03

这里记得将每个虚拟机开启,然后在远程登录软件中进行免密配置

在这里插入图片描述

在这里插入图片描述

3、修改授权文件权限

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

4、测试无密钥登陆

ssh node-02
exit
ssh node-03
exit

在这里插入图片描述

3、格式化NameNode

在主节点进行格式化即可(node-01),启动Hadoop之前需要格式化NameNode,格式化NameNode可以初始化HDFS文件系统的一些目录和文件,在node-01上执行:

# 必须在NameNode节点上进行format操作
$ hadoop namenode -format

5、启动hadoop

# 启动hadoop
$ start-all.sh  

# 停止hadoop
$ stop-all.sh  

# 查看节点角色
$ jps

启动 Hadoop 服务时权限异常,strat-all .sh

Starting namenodes on [node-01]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [node-02]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
Starting resourcemanager
ERROR: Attempting to operate on yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.
Starting nodemanagers
ERROR: Attempting to operate on yarn nodemanager as root
ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation.

如果出现没有定义HDFS_NAMENODE_USER

则在环境变量中在添加:

1.进入环境变量

vi ~/.bash_profile

2.添加:

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

在这里插入图片描述

3.环境变量生效

source ~/.bash_profile

6、启动和关闭Hadoop集群

1.单节点逐个启动和关闭

主节点启动HDFS NameNode节点

hadoop-daemon.sh start namenode

从节点启动HDFS DataNode节点

hadoop-daemon.sh start datanode

主节点启动YARNResourceManager进程

yarn-daemon.sh start resourcemanager

从节点上启动YARN nodemanager进程

yarn-daemon.sh start nodemanager

规划节点node-02启动SecondaryNameNode进程

hadoop-daemon.sh start secondarynamenode

停止则使用stop替换掉start即可

2.脚本一键启动和关闭

start-dfs.sh
start-yarn.sh

这个需要在配置了slaves文件和SSH免密登录(双向的免密登录,即从节点的虚拟机也需要进行SSH免密配置)

6、通过UI查看Hadoop运行状态

在windows下的C:\Windows\System32\drivers\etc中的hosts文件添加集群服务的IP映射

192.168.197.133 node-01
192.168.197.134 node-02
192.168.197.135 node-03

在这里插入图片描述

注意先关闭防火墙,然后再进行测试查看运行状态

一下指令需要对主从节点都进行更改:

systemctl stop firewalld

systemctl status firewalld

systemctl disable firewalld

systemctl enable firewalld

此时我们可以从windows的窗口进行查看了 http://node-01:50090(集群服务IP+端口号)htpp://node-01:8088 查看YARN和HFDS的集群状态。

在这里插入图片描述

在这里插入图片描述

遇到的问题

以下纯属个人问题,已在文章中改了正确的配置:

这里我报错了

log4j:WARN No appenders could be found for logger (org.apache.hadoop.conf.Configuration).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "Thread-2" java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </property>; expected </configuration>.
 at [row,col,system-id]: [25,10,"file:/export/servers/hadoop-3.3.4/etc/hadoop/mapred-site.xml"]
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:3092)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:3036)
    at org.apache.hadoop.conf.Configuration.loadProps(Configuration.java:2914)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2896)
    at org.apache.hadoop.conf.Configuration.get(Configuration.java:1246)
    at org.apache.hadoop.conf.Configuration.getTimeDuration(Configuration.java:1863)
    at org.apache.hadoop.conf.Configuration.getTimeDuration(Configuration.java:1840)
    at org.apache.hadoop.util.ShutdownHookManager.getShutdownTimeout(ShutdownHookManager.java:183)
    at org.apache.hadoop.util.ShutdownHookManager.shutdownExecutor(ShutdownHookManager.java:145)
    at org.apache.hadoop.util.ShutdownHookManager.access$300(ShutdownHookManager.java:65)
    at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:102)
Caused by: com.ctc.wstx.exc.WstxParsingException: Unexpected close tag </property>; expected </configuration>.
 at [row,col,system-id]: [25,10,"file:/export/servers/hadoop-3.3.4/etc/hadoop/mapred-site.xml"]
    at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:634)
    at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:504)
    at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:488)
    at com.ctc.wstx.sr.BasicStreamReader.reportWrongEndElem(BasicStreamReader.java:3352)
    at com.ctc.wstx.sr.BasicStreamReader.readEndElem(BasicStreamReader.java:3279)
    at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2900)
    at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1121)
    at org.apache.hadoop.conf.Configuration$Parser.parseNext(Configuration.java:3396)
    at org.apache.hadoop.conf.Configuration$Parser.parse(Configuration.java:3182)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:3075)
    ... 10 more

提示我说:

/export/servers/hadoop-3.3.4/etc/hadoop/mapred-site.xml 这里配置有问题去看看

在这里插入图片描述

多了一个poperty结束标记。。。

第二个问题 namenode格式化失败:java.lang.IllegalArgumentException: URI has an authority component

java.lang.IllegalArgumentException: URI has an authority component
    at java.io.File.<init>(File.java:423)
    at org.apache.hadoop.hdfs.server.namenode.NNStorage.getStorageDirectory(NNStorage.java:353)
    at org.apache.hadoop.hdfs.server.namenode.FSEditLog.initJournals(FSEditLog.java:293)
    at org.apache.hadoop.hdfs.server.namenode.FSEditLog.initJournalsForWrite(FSEditLog.java:264)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1257)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1726)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1834)
2023-03-06 20:47:32,697 INFO util.ExitUtil: Exiting with status 1: java.lang.IllegalArgumentException: URI has an authority component

解决方案,是core-site.xml中的一个配置好像不太一样,3.x和2.x不太一样

cd /export/servers/hadoop-3.3.4/etc/hadoop/
vi core-site.xml

我的配置是:

<configuration>
<property>
    <!-- 配置Hadoop 的临时目录 -->
    <name>hadoop.tmp.dir</name>
    <value>file:/export/servers/hadoop-3.3.4/tmp</value>
</property>
<property>
     <!-- 配置Hadoop的文件系统,由URI指定 -->
    <name>fs.defaultFS</name>
    <!-- 这里我之前配置过主机名和IP映射所以写成主机名即可,
                没配置过的话,写完整的IP地址即可 192.168.197.133
        -->
    <value>hdfs://node-01:9000</value>
</property>
</configuration>

正确的配置应为:

<configuration>
<property>
    <!-- 配置Hadoop 的临时目录 -->
    <name>hadoop.tmp.dir</name>
    <value>/export/servers/hadoop-3.3.4/tmp</value>
</property>
<property>
     <!-- 配置Hadoop的文件系统,由URI指定 -->
    <name>fs.defaultFS</name>
    <!-- 这里我之前配置过主机名和IP映射所以写成主机名即可,
                没配置过的话,写完整的IP地址即可 192.168.197.133
        -->
    <value>hdfs://node-01:9000</value>
</property>
</configuration>

相关文章
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
147 6
|
21天前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
45 1
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
69 4
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
32 3
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
57 3
|
1月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
61 1
|
1月前
|
Kubernetes Ubuntu Linux
Centos7 搭建 kubernetes集群
本文介绍了如何搭建一个三节点的Kubernetes集群,包括一个主节点和两个工作节点。各节点运行CentOS 7系统,最低配置为2核CPU、2GB内存和15GB硬盘。详细步骤包括环境配置、安装Docker、关闭防火墙和SELinux、禁用交换分区、安装kubeadm、kubelet、kubectl,以及初始化Kubernetes集群和安装网络插件Calico或Flannel。
138 0
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
64 2
|
15天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
58 2
|
16天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
55 1