伪分布Hadoop+localSpark的搭建

 (一)实验目的

  1. 理解大数据生态系统的基本原理和组件:通过搭建一个包含Hadoop和Spark的伪分布集群,能够理解大数据技术栈中各个组件的作用、相互关系以及数据流动方式。
  2. 掌握Hadoop基础架构的搭建与配置:学习如何安装和配置Hadoop环境,包括对HDFS(Hadoop分布式文件系统)和YARN(Yet Another Resource Negotiator,资源管理器)的基本设置,为进一步的大数据处理打下坚实基础。
  3. 熟悉Spark框架及其与Hadoop的集成:了解Spark的核心概念,包括RDD(弹性分布式数据集)、DataFrame、Dataset等,并学习如何在Spark应用程序中利用Hadoop的分布式存储和计算能力。
  4. 实践大数据环境的本地化部署:通过在单机上模拟分布式环境(伪分布),能够在有限的硬件资源下进行大数据技术的学习和实验,降低学习门槛。
  5. 学习数据的存储和处理流程:从数据的存储到数据的读取,再到数据的处理和分析,通过实际操作加深对数据在Hadoop和Spark中流动过程的理解。
  6. 提升实际问题解决能力:通过搭建实验环境并运行简单的作业,培养学习者解决实际问题的能力,例如数据清洗、转换、分析和可视化等。
  7. 增强系统调优和性能分析技能:通过观察和调整Hadoop和Spark的配置参数,学习如何优化大数据处理作业的性能,并分析不同配置对系统性能的影响。

(二)实验原理

  1. Hadoop基础架构:Hadoop是一个开源的分布式计算框架,它提供了一种可靠、可扩展的方式来存储和处理大规模数据集。Hadoop主要由HDFS(Hadoop Distributed File System)和YARN(Yet Another Resource Negotiator)两个核心组件组成。HDFS负责数据的分布式存储,而YARN负责资源的管理和调度。
  2. Spark框架:Spark是一个快速、通用、可扩展的大数据处理引擎,它提供了丰富的数据处理API和高效的执行引擎。Spark支持多种数据源,包括HDFS、本地文件系统等,并能够与Hadoop生态系统中的其他组件进行集成。
  3. 伪分布模式:在有限的硬件资源下,可以通过配置Hadoop和Spark以模拟分布式环境,实现大数据技术的学习和实验。伪分布模式允许在一个单机上启动多个节点,每个节点运行一个独立的进程,并通过网络连接模拟分布式集群。

  (三)  实验环境

操作系统:Ubuntu 18.04.5

Hadoop版本:3.3.0

Spark版本:3.4.2

Java版本:JDK 8u201

远程连接工具:Xshell7 Xftp7

  (四)  实验步骤

1.使用VMware Workstation创建虚拟机

之后的操作  选择推荐和默认就好 磁盘大小建议30G以上  内存建议4G左右

2.虚拟网卡配置及系统

打开虚拟机的网络配置  查看

如果之前做过配置  则不需要再进行修改  按照之前配置的即可  没有配置过的可以按照教程重新来

修改映射 sudo vim /etc/hosts

为了以后操作方便,我们首先为宿主系统配置主机名映射,使用文本编辑器打开 C:\Windows\System32\drivers\etc\host 文件并在文件末尾添加以下配置并保存退出

192.168.30.138 local

3.关闭防火墙

如果不关闭防火墙,则可能会出现以下几种情况:

1、无法正常访问Hadoop HDFS的Web管理页面

2、会导致后台某些运行脚本(比如Hive)出现假死状态。

3、在删除和增加节点的时候,会让数据迁移处理时间更长,甚至不能完成相关操作。

关闭防火墙的命令如下

 sudo ufw disable

查看防火墙状态

sudo ufw status

 4 SSH安装

   SSH是Secure Shell 的缩写,是一种建立在应用层基础上的安全协议,利用SSH协议可以为远程登录会话提供安全性,有效的防止远程管理过程中的信息泄露。由客户端和服务器端软件组成。

可以通过

sudo dpkg -l | grep ssh

查看是否已经安装

否则用下列命令安装

sudo apt-get install openssh-client

sudo apt-get install openssh-server

重启ssh服务

sudo /etc/init.d/ssh restart

节点的/home/目录下创建三个文件夹

mkdir  -p  software

mkdir  -p  servers

mkdir  -p  data

节点上进行Ntp同步

sudo cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

sudo apt-get install  -y ntpdate

sudo ntpdate -u cn.pool.ntp.org

在master上:

上传jdk安装包到software,解压到servers

cd ~/software

tar -zxvf ./jdk-8u201-linux-x64.tar.gz -C ~/servers

mv  jdk1.8.0_201 jdk

设置jdk环境变量

sudo vim ~/.bashrc

添加如下代码

使得设置生效

source ~/.bashrc

检测是否安装成功

java -version

出现如下版本信息表示jdk安装成功

5.Hadoop配置

上传到software目录

解压到servers

cd ~/software

tar -zxvf hadoop-3.3.0gz -C ~/servers/

重命名文件

mv hadoop-3.3.0-hadoop

设置环境变量,以后就可以在任意目录下使用Hadoop相关命令

vim ~/.bashrc

添加下面的语句

export HADOOP_HOME=/home/servers/wfb-hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使设置生效

source ~/.bashrc

验证hadoop环境变量设置是否正确

Whereis hdfs

whereis start-all.sh

(五)安装Hadoop伪分布式模式

免密登录设置

ssh-keygen -t rsa

查看

ls ~/.ssh

将公钥追加到authorized_keys文件中

ssh-copy-id -i ~/.ssh/id_rsa.pub spark001

或者

cat ./id_rsa.pub >> ./authorized_keys

ssh spark001免密登录,注意前后路径的变化

设置hadoop配置文件

修改hadoop-env.sh文件

cd ~/servers/wfb-hadoop/etc/hadoop

vim hadoop-env.sh

找到export JAVA_HOME一行,去掉行首的#,修改JAVA_HOME的值

export JAVA_HOME=/home/servers/jdk

设置core-site.xml文件

修改hdfs-site.xml

修改mapred-site.xml

修改yarn-site.xml

格式化HDFS

hdfs namenode -format

start-all.sh

(六)安装spark

(1)上传安装包到software

cd /home/ software

解压缩sparkserevrs

tar -zxvf /home /software/spark-3.4.2-bin-hadoop3.tgz -C /home /serevrs/

进入serevrs

cd /home /serevrs

重命名spark-3.4.2-bin-hadoop3.tgz

mv spark-3.4.2-bin-hadoop3.tgz spark-local

进入spark-local

cp ./conf/spark-env.sh.template ./conf/spark-env.sh

vim conf/spark-env.sh

进入.bashrc 修改环境变量

vim ~/.bashrc

使配置生效

source ~/.bashrc

(2)sudo ln -s /usr/bin/python3 /usr/bin/python

(3)启动pyspark方式测试

bin/pyspark --master local[*]

(七)实验总结

经过一系列的实验步骤,我们成功地搭建了伪分布式的Hadoop环境和本地的Spark环境,实现了两者的集成。这次实验不仅加深了我们对于分布式计算系统的理解,也锻炼了我们的实践能力和问题解决能力。

首先,通过搭建伪分布式Hadoop集群,我们深入了解了分布式计算系统的架构和组件。我们熟悉了HDFS作为分布式文件系统的优势和使用方法,掌握了MapReduce编程模型的基本原理,并体验了YARN作为资源管理器的作用。这些基础知识的获取为我们后续的大数据处理工作奠定了坚实的基础。

其次,通过搭建本地Spark环境,我们深入学习了Spark的核心概念和计算框架。我们了解了RDD作为Spark中基本数据处理单元的重要性,熟悉了DAG和Spark Core的计算过程,并掌握了Spark SQL和Spark Streaming等组件的功能和应用场景。这些知识的积累将对我们后续的数据分析工作产生积极的推动作用。

在实验中,我们还探索了Hadoop与Spark的集成方式。通过配置Hadoop相关属性,我们实现了Spark对HDFS的访问,使得Spark能够读取和处理存储在Hadoop中的数据。这种集成方式不仅提高了数据的处理效率,也为我们提供了一种灵活且强大的大数据分析工具。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值