CentOS7 + JDK8 虚拟机安装与 Hadoop + Spark 集群搭建实践

前言

在大数据时代,Hadoop 和 Spark 是两种非常重要的分布式计算框架。本文将详细介绍如何在 CentOS7 + JDK8 的虚拟机环境中搭建 Hadoop + Spark 分布式集群,包括 Spark Standalone 和 Hadoop + Spark on YARN 两种模式,并提供具体的代码示例。

一、CentOS7 + JDK8 虚拟机安装与基础配置

1. 虚拟机准备

使用已安装好的 CentOS7 操作系统虚拟机文件,克隆出三台虚拟机,分别命名为 CentOS7_x64-vm01CentOS7_x64-vm02CentOS7_x64-vm03,并使用 root 账户登录。

2. 配置 IP 地址

通过 VMware 的"虚拟网络编辑器"查看网络配置信息,确保虚拟机的 IP 地址固定且不冲突。在每台虚拟机中,修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,配置静态 IP 地址,例如:

复制代码
BOOTPROTO=static
IPADDR=192.168.163.201
NETMASK=255.255.255.0
GATEWAY=192.168.163.2
DNS1=8.8.8.8

3. 修改主机名和 hosts 文件

在每台虚拟机中,使用以下命令修改主机名:

复制代码
hostnamectl set-hostname CentOS7_x64-vm01

编辑 /etc/hosts 文件,添加所有虚拟机的主机名与 IP 地址的映射关系:

复制代码
192.168.163.201 CentOS7_x64-vm01
192.168.163.202 CentOS7_x64-vm02
192.168.163.203 CentOS7_x64-vm03

4. 测试网络连通性

在每台虚拟机上执行以下命令,测试与其他虚拟机的网络连通性:

复制代码
ping -c 4 CentOS7_x64-vm02
ping -c 4 CentOS7_x64-vm03

5. 配置免密登录

在每台虚拟机上生成 SSH 密钥对,并将公钥添加到其他虚拟机的 ~/.ssh/authorized_keys 文件中,实现免密登录:

复制代码
ssh-keygen -t rsa
ssh-copy-id root@CentOS7_x64-vm02
ssh-copy-id root@CentOS7_x64-vm03

6. 安装 JDK

下载并安装 JDK 8,配置环境变量:

复制代码
wget https://example.com/jdk-8uXXX-linux-x64.rpm
rpm -ivh jdk-8uXXX-linux-x64.rpm

编辑 /etc/profile 文件,添加以下内容:

复制代码
export JAVA_HOME=/usr/java/jdk1.8.0_XXX
export PATH=$JAVA_HOME/bin:$PATH

执行以下命令使配置生效:

复制代码
source /etc/profile
java -version

二、Hadoop + Spark Standalone 分布式集群环境搭建

1. 软件包准备

将 Hadoop 和 Spark 的安装包(如 hadoop-2.6.5.tar.gzspark-2.4.8-bin-withouthadoop.tgz)上传到 vm01 虚拟机的 /root 目录下。

2. 解压软件包

vm01 虚拟机上,将 Hadoop 和 Spark 的安装包解压到 /usr/local 目录下:

复制代码
tar -zxvf hadoop-2.6.5.tar.gz -C /usr/local/
tar -zxvf spark-2.4.8-bin-withouthadoop.tgz -C /usr/local/

3. 配置环境变量

编辑 /etc/profile 文件,添加以下内容:

复制代码
export HADOOP_HOME=/usr/local/hadoop-2.6.5
export SPARK_HOME=/usr/local/spark-2.4.8
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$PATH

执行以下命令使配置生效:

复制代码
source /etc/profile

4. 配置 HDFS

修改 Hadoop 的 core-site.xmlhdfs-site.xml 文件,配置 HDFS 的存储路径、副本数量等参数:

复制代码
<!-- core-site.xml -->
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://vm01:9000</value>
    </property>
</configuration>

<!-- hdfs-site.xml -->
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>

5. 配置 Spark

修改 Spark 的 spark-defaults.conf 文件,配置 Spark Standalone 模式下的主节点地址、内存分配等参数:

复制代码
spark.master spark://vm01:7077
spark.executor.memory 2g
spark.executor.cores 2

6. 分发配置文件

将配置好的 Hadoop 和 Spark 文件夹从 vm01 虚拟机分发到 vm02vm03 虚拟机上:

复制代码
scp -r /usr/local/hadoop-2.6.5 root@vm02:/usr/local/
scp -r /usr/local/hadoop-2.6.5 root@vm03:/usr/local/
scp -r /usr/local/spark-2.4.8 root@vm02:/usr/local/
scp -r /usr/local/spark-2.4.8 root@vm03:/usr/local/

7. 启动集群

vm01 虚拟机上,启动 HDFS 和 Spark 集群服务:

复制代码
start-dfs.sh
start-master.sh
start-slaves.sh

8. 测试集群

vm01 虚拟机上,通过提交 SparkPi 计算任务和启动 PySparkShell 来测试集群的配置是否正常:

复制代码
spark-submit --class org.apache.spark.examples.SparkPi \
    /usr/local/spark-2.4.8/examples/jars/spark-examples_2.11-2.4.8.jar 10
pyspark

三、Hadoop + Spark on YARN 分布式集群环境搭建

1. 软件包准备与解压

与 Hadoop + Spark Standalone 模式类似,将 Hadoop 和 Spark 的安装包上传到 vm01 虚拟机并解压到 /usr/local 目录下。

2. 配置环境变量

编辑 /etc/profile 文件,添加 Hadoop 和 Spark 的环境变量。

3. 配置 HDFS、MapReduce 和 YARN

修改 Hadoop 的 core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml 文件,配置 HDFS、MapReduce 和 YARN 的相关参数:

复制代码
<!-- core-site.xml -->
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://vm01:9000</value>
    </property>
</configuration>

<!-- hdfs-site.xml -->
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>

<!-- mapred-site.xml -->
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

<!-- yarn-site.xml -->
<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>vm01</value>
    </property>
</configuration>

4. 分发配置文件

将配置好的 Hadoop 和 Spark 文件夹从 vm01 虚拟机分发到 vm02vm03 虚拟机上。

5. 启动集群

vm01 虚拟机上,启动 HDFS 和 YARN 集群服务:

复制代码
start-dfs.sh
start-yarn.sh

6. 配置 Spark on YARN

修改 Spark 的 spark-defaults.conf 文件,配置 Spark 在 YARN 集群

相关推荐
mazhafener1232 小时前
智慧照明:集中控制器、单双灯控制器与智慧灯杆网关的高效协同
大数据
打码人的日常分享2 小时前
物联网智慧医院建设方案(PPT)
大数据·物联网·架构·流程图·智慧城市·制造
Lansonli3 小时前
大数据Spark(六十一):Spark基于Standalone提交任务流程
大数据·分布式·spark
Rverdoser5 小时前
电脑硬盘分几个区好
大数据
傻啦嘿哟5 小时前
Python 数据分析与可视化实战:从数据清洗到图表呈现
大数据·数据库·人工智能
Theodore_10225 小时前
大数据(2) 大数据处理架构Hadoop
大数据·服务器·hadoop·分布式·ubuntu·架构
Theodore_10228 小时前
大数据(1) 大数据概述
大数据·hadoop·数据分析·spark·hbase
Aurora_NeAr8 小时前
Apache Spark详解
大数据·后端·spark
IvanCodes10 小时前
六、Sqoop 导出
大数据·hadoop·sqoop