当前位置: 首页 > news >正文

大数据开发环境搭建(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 开发。
# 安装 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. 下载与解压

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. 配置环境变量

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. 格式化与启动

hdfs namenode -format
start-dfs.sh
start-yarn.sh

四、Hive 安装

1. 下载与解压

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. 配置环境变量

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. 初始化元数据库

schematool -initSchema -dbType mysql

五、Spark 安装

1. 下载与解压

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. 配置环境变量

echo "export SPARK_HOME=/opt/spark" >> ~/.bashrc
echo "export PATH=$SPARK_HOME/bin:$PATH" >> ~/.bashrc
source ~/.bashrc

3. 启动 Spark

$SPARK_HOME/sbin/start-all.sh

六、Flink 安装

1. 下载与解压

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. 配置环境变量

echo "export FLINK_HOME=/opt/flink" >> ~/.bashrc
echo "export PATH=$FLINK_HOME/bin:$PATH" >> ~/.bashrc
source ~/.bashrc

3. 启动 Flink

$FLINK_HOME/bin/start-cluster.sh

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


七、Kafka 安装

1. 下载与解压

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

# 启动 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

# 创建 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)

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


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

http://www.dtcms.com/a/363430.html

相关文章:

  • React事件机制总结(基于5W2H分析法)
  • Vue3 + GSAP 动画库完全指南:从入门到精通,打造专业级网页动画
  • 学习React-8-useImmer
  • Linux---初始Linux及其基本指令
  • 02-Media-2-ai_rtsp.py 人脸识别加网络画面RTSP推流演示
  • 【51单片机】【protues仿真】基于51单片机脉搏体温检测仪系统
  • JavaScript》》JS》》ES6》》 数组 自定义属性
  • HTTP发展历程
  • RPC和HTTP的区别?
  • HttpHeadersFilter
  • GPT-Realtime 弹幕TTS API 低延迟集成教程
  • 网络原理——HTTP/HTTPS
  • 【MySQL体系结构详解:一条SQL查询的旅程】
  • 分布式中防止重复消费
  • 计算机视觉与深度学习 | 视觉里程计技术全解析:定义、原理、与SLAM的关系及应用场景
  • STM32之SPI详解
  • Linux《进程信号(上)》
  • mit6.031 2023spring 软件构造 笔记 Specification
  • 【XR硬件系列】Apple Vision Pro 完全解读:苹果为我们定义了怎样的 “空间计算” 未来?
  • springboot项目使用websocket功能,使用了nginx反向代理后连接失败问题解决
  • 集采与反腐双重压力下,医药销售的破局之道:从资源依赖到价值重构
  • DASK shuffle任务图分析
  • 阅读Linux 4.0内核RMAP机制的代码,画出父子进程之间VMA、AVC、anon_vma和page等数据结构之间的关系图。
  • 解密llama.cpp CUDA后端:512 token大模型批处理的异步流水线架构
  • 【llama.cpp】qwen2_vl_surgery.py详解
  • 应用层:HTTP/HTTPS协议
  • 2025年- H109-Lc1493. 删掉一个元素以后全为 1 的最长子数组(双指针)--Java版
  • 软件测试小结(1)
  • 【完整源码+数据集+部署教程】粘土石实例分割系统源码和数据集:改进yolo11-LVMB
  • MVP架构深层剖析-从六大设计原则的实现角度到用依赖注入深度解耦