大数据开发环境搭建(Linux + Hadoop + Spark + Flink + Hive + Kafka)

一、前言

大数据生态系统包含众多组件,初学者常常不知道如何一步步搭建开发环境。本文将以 Linux 系统为基础 ,带你完成 Hadoop、Spark、Flink、Hive、Kafka 的安装与配置,搭建出一个完整的大数据开发环境,既适合个人学习,也能应用于小规模实验集群。


二、环境准备

1. 操作系统

  • 推荐使用 CentOS 7 / Ubuntu 20.04(稳定,兼容性好)。
  • 关闭防火墙、SELinux,保证节点通信正常。

2. 基础依赖

  • JDK:推荐 JDK 8(大多数大数据组件与其兼容性最好)。
  • SSH:用于节点免密登录。
  • Python(可选):部分组件(如 Spark)支持 Python 开发。
bash 复制代码
# 安装 JDK
yum install -y java-1.8.0-openjdk-devel
# 配置环境变量
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk" >> ~/.bashrc
echo "export PATH=$JAVA_HOME/bin:$PATH" >> ~/.bashrc
source ~/.bashrc

三、Hadoop 搭建

1. 下载与解压

bash 复制代码
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz -C /opt/
mv /opt/hadoop-3.3.6 /opt/hadoop

2. 配置环境变量

bash 复制代码
echo "export HADOOP_HOME=/opt/hadoop" >> ~/.bashrc
echo "export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH" >> ~/.bashrc
source ~/.bashrc

3. 核心配置(core-site.xmlhdfs-site.xmlyarn-site.xml

  • 配置 NameNode、DataNode 路径;
  • 设置副本数与资源调度策略。

4. 格式化与启动

bash 复制代码
hdfs namenode -format
start-dfs.sh
start-yarn.sh

四、Hive 安装

1. 下载与解压

bash 复制代码
wget https://downloads.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /opt/
mv /opt/apache-hive-3.1.3-bin /opt/hive

2. 配置环境变量

bash 复制代码
echo "export HIVE_HOME=/opt/hive" >> ~/.bashrc
echo "export PATH=$HIVE_HOME/bin:$PATH" >> ~/.bashrc
source ~/.bashrc

3. 配置元数据库(MySQL)

  • Hive 默认使用 Derby,不适合多用户,推荐配置 MySQL。
  • 修改 hive-site.xml,设置 JDBC 连接信息。

4. 初始化元数据库

bash 复制代码
schematool -initSchema -dbType mysql

五、Spark 安装

1. 下载与解压

bash 复制代码
wget https://downloads.apache.org/spark/spark-3.5.1/spark-3.5.1-bin-hadoop3.tgz
tar -zxvf spark-3.5.1-bin-hadoop3.tgz -C /opt/
mv /opt/spark-3.5.1-bin-hadoop3 /opt/spark

2. 配置环境变量

bash 复制代码
echo "export SPARK_HOME=/opt/spark" >> ~/.bashrc
echo "export PATH=$SPARK_HOME/bin:$PATH" >> ~/.bashrc
source ~/.bashrc

3. 启动 Spark

bash 复制代码
$SPARK_HOME/sbin/start-all.sh

1. 下载与解压

bash 复制代码
wget https://downloads.apache.org/flink/flink-1.19.0/flink-1.19.0-bin-scala_2.12.tgz
tar -zxvf flink-1.19.0-bin-scala_2.12.tgz -C /opt/
mv /opt/flink-1.19.0 /opt/flink

2. 配置环境变量

bash 复制代码
echo "export FLINK_HOME=/opt/flink" >> ~/.bashrc
echo "export PATH=$FLINK_HOME/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
bash 复制代码
$FLINK_HOME/bin/start-cluster.sh

访问 http://localhost:8081 查看 Web UI。


七、Kafka 安装

1. 下载与解压

bash 复制代码
wget https://downloads.apache.org/kafka/3.7.0/kafka_2.12-3.7.0.tgz
tar -zxvf kafka_2.12-3.7.0.tgz -C /opt/
mv /opt/kafka_2.12-3.7.0 /opt/kafka

2. 启动 Zookeeper 与 Kafka

bash 复制代码
# 启动 Zookeeper
/opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties

# 启动 Kafka
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties

3. 测试 Producer 与 Consumer

bash 复制代码
# 创建 topic
/opt/kafka/bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092

# 启动生产者
/opt/kafka/bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092

# 启动消费者
/opt/kafka/bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server localhost:9092

八、验证整体环境

  1. 在 Kafka 中写入数据,Flink 或 Spark Streaming 消费数据进行实时计算。
  2. 批量数据存储到 HDFS,通过 Hive 进行 SQL 查询分析。
  3. Spark 进行批处理任务,结果写入 Hive 或 MySQL。

这样,一个完整的 大数据开发环境就搭建完成了。


九、总结

通过本文,你完成了 Linux + Hadoop + Hive + Spark + Flink + Kafka 的大数据开发环境搭建。从存储、计算、流处理到消息传输,形成了一个完整的大数据处理闭环。接下来可以基于该环境实践:

  • 日志分析项目(HDFS + Hive + Spark)
  • 实时大屏(Kafka + Flink + ClickHouse + ECharts)
  • 机器学习建模(Spark MLlib)

只要环境搭建好了,就能快速上手各种大数据实战项目。


👉 如果这篇文章对你有帮助,欢迎点赞 + 收藏,后续我会继续分享 大数据项目实战与调优案例

相关推荐
wang09072 分钟前
linux的中断分析(硬中断和软中断)
linux·运维·服务器
赵优秀一一15 分钟前
Python 工程化基础1:环境(conda)、pip、requirements.txt
linux·开发语言·python
风酥糖22 分钟前
chroot的Linux服务配置-当云服务器真正用起来
linux·运维·服务器
木鱼布23 分钟前
安装arm虚机启动失败
linux·运维·arm开发
Deitymoon30 分钟前
linux——网络基础
linux·网络
独小乐35 分钟前
013.定时器之系统Tick实现|千篇笔记实现嵌入式全栈/裸机篇
linux·笔记·单片机·嵌入式硬件·arm
笨笨饿40 分钟前
# 52_浅谈为什么工程基本进入复数域?
linux·服务器·c语言·数据结构·人工智能·算法·学习方法
姜太小白44 分钟前
【Linux】麒麟V10SP3解决网络设备名不匹配问题
linux·运维·服务器
@小博的博客44 分钟前
【Linux探索学习】第六弹:操作系统的概念及冯诺依曼体系结构
linux·学习
青桔柠薯片1 小时前
Linux 设备驱动开发环境构建与系统启动机制剖析
linux·arm开发·驱动开发·imx6ull