大数据开发环境搭建(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)

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


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

相关推荐
AlfredZhao19 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
得物技术1 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
久美子1 天前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
大志哥1232 天前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux