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 集群

相关推荐
ACP广源盛139246256731 分钟前
M6/M5 Pro Mac mini 端侧 AI 爆发@ACP#YLB3118 存储扩展芯片在本地 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos
IT研究室10 分钟前
最新大数据毕业设计选题推荐-基于大数据的水质多指标关联分析与可视化的设计与实现-大数据-Spark-Hadoop-Bigdata
大数据·spark·课程设计
故七月14 分钟前
产业观察|从 9 月行业数据看西南市场 GEO 落地现状与发展路径
大数据·人工智能
丶浅行DE时光17 分钟前
管道式电磁流量计选型指南 介质腐蚀与工况适配方案推荐
大数据·网络·人工智能·科技·推荐算法
小白说大模型21 分钟前
Hermes 全配置指南:从裸版到 AI Agent 天花板
大数据·人工智能·学习·算法·机器学习·数据挖掘
涛思数据(TDengine)24 分钟前
从“改了就改了“到“每一次变更都可追溯“:工业 AI 实战直播(十二期)
大数据·数据库·人工智能·时序数据库·tdengine
微三云 - 廖会灵 (私域系统开发)2 小时前
存量社区破局:当物业困局遇上消费返物业费,重构社区商业新生态
大数据·人工智能·重构
小五传输3 小时前
消防总队信创改造实践:国产文件传输服务器解决文件传输难题
大数据·运维·安全
flyinsono4 小时前
连锁宠物医院怎么管?杏聆荟系统实现多店高效协同
大数据·宠物
Sayai4 小时前
Elasticsearch 9 安装验证实战:start-local 一键部署 + Docker 手动安装踩坑指南
大数据·elasticsearch·docker