使用宝塔面板搭建Hadoop、Spark等大数据平台,可以大幅降低手动配置环境的复杂度,适合新手快速完成基础环境部署。整个过程主要分为服务器基础环境准备、宝塔面板安装、依赖环境配置、Hadoop部署、Spark部署几个核心步骤,下面逐一展开说明。

一、前期环境准备
首先确保你有一台配置符合要求的服务器,建议内存至少4G,硬盘空间50G以上,操作系统选择CentOS 7或者Ubuntu 20.04,这两个系统对Hadoop和Spark的兼容性更好。
服务器购买完成后,先通过SSH工具登录服务器,执行系统更新命令,保证基础依赖是最新版本:
# CentOS系统执行 yum update -y # Ubuntu系统执行 apt update && apt upgrade -y
二、安装宝塔面板
宝塔面板的安装命令非常简单,根据你的服务器系统选择对应的安装脚本执行即可:
# CentOS安装命令 yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh # Ubuntu安装命令 wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
安装完成后,终端会输出面板的登录地址、用户名和密码,复制地址到浏览器访问,首次登录会弹出推荐安装环境,这里暂时选择不安装,后续我们手动配置大数据需要的依赖。
三、配置基础依赖环境
Hadoop和Spark都依赖Java运行环境,同时需要配置SSH免密登录,下面是具体步骤。
1. 安装JDK
在宝塔面板的软件商店中搜索OpenJDK,选择JDK 8版本安装,安装完成后记录JDK的安装路径,一般默认路径为/usr/lib/jvm/java-1.8.0-openjdk。
也可以通过命令行手动安装验证:
# 查看JDK版本 java -version # 查看JAVA_HOME路径 echo $JAVA_HOME
2. 配置SSH免密登录
Hadoop的节点通信需要SSH免密登录,执行以下命令配置:
# 安装SSH服务 yum install -y openssh-server openssh-clients # 启动SSH服务 systemctl start sshd systemctl enable sshd # 生成密钥 ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa # 配置免密登录到本机 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys # 验证免密登录 ssh localhost
四、部署Hadoop
接下来我们下载并配置Hadoop,这里以Hadoop 3.3.4版本为例。
1. 下载解压Hadoop
# 下载Hadoop安装包 wget https://ipipp.com/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz # 解压到/usr/local目录 tar -zxvf hadoop-3.3.4.tar.gz -C /usr/local/ # 重命名目录 mv /usr/local/hadoop-3.3.4 /usr/local/hadoop
2. 配置Hadoop环境变量
在宝塔面板的文件管理中,编辑/etc/profile文件,在末尾添加以下内容:
export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
保存后执行source /etc/profile让配置生效,执行hadoop version验证是否安装成功。
3. 修改Hadoop核心配置文件
进入/usr/local/hadoop/etc/hadoop目录,修改以下几个核心配置文件:
首先是hadoop-env.sh,添加JAVA_HOME配置:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
然后是core-site.xml,配置默认文件系统和临时目录:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
接着是hdfs-site.xml,配置副本数量:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
最后是mapred-site.xml和yarn-site.xml,分别配置MapReduce运行框架和资源管理器:
<!-- mapred-site.xml -->
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
<!-- yarn-site.xml -->
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
4. 启动Hadoop
先格式化HDFS文件系统,然后启动所有服务:
# 格式化HDFS hdfs namenode -format # 启动HDFS服务 start-dfs.sh # 启动YARN服务 start-yarn.sh # 查看服务运行状态 jps
如果看到NameNode、DataNode、ResourceManager、NodeManager等进程,说明Hadoop启动成功。
五、部署Spark
Hadoop部署完成后,我们继续部署Spark,这里以Spark 3.3.1版本为例,选择与Hadoop 3兼容的预编译版本。
1. 下载解压Spark
# 下载Spark安装包 wget https://ipipp.com/spark/spark-3.3.1/spark-3.3.1-bin-hadoop3.tgz # 解压到/usr/local目录 tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /usr/local/ # 重命名目录 mv /usr/local/spark-3.3.1-bin-hadoop3 /usr/local/spark
2. 配置Spark环境变量
编辑/etc/profile文件,添加Spark相关配置:
export SPARK_HOME=/usr/local/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
执行source /etc/profile生效,运行spark-shell可以进入Spark交互式命令行,验证安装是否成功。
3. 配置Spark关联Hadoop
进入/usr/local/spark/conf目录,复制模板配置文件:
cp spark-env.sh.template spark-env.sh
编辑spark-env.sh,添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export HADOOP_HOME=/usr/local/hadoop export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop export SPARK_MASTER_HOST=localhost export SPARK_MASTER_PORT=7077
4. 启动Spark服务
# 启动Spark主节点和从节点 start-master.sh start-worker.sh spark://localhost:7077 # 查看进程 jps
此时可以看到Master和Worker进程,访问http://服务器IP:8080可以看到Spark的管理界面。
六、常见问题解决
- 如果Hadoop启动时报JAVA_HOME找不到的错误,检查所有配置文件中的JAVA_HOME路径是否正确,尤其是
hadoop-env.sh和spark-env.sh中的配置。 - 如果SSH免密登录失败,检查
~/.ssh目录的权限是否正确,authorized_keys文件权限是否为600。 - 如果Spark无法连接Hadoop,检查Hadoop的HDFS服务是否正常启动,HADOOP_CONF_DIR路径是否配置正确。
完成以上所有步骤后,你就成功使用宝塔面板搭建好了Hadoop和Spark大数据平台,可以上传测试数据运行简单的MapReduce任务或者Spark任务验证平台功能。