Sign inSign up

eighteenyear/bigdata-pytorch

By eighteenyear

•Updated about 1 month ago

大数据开发环境+中间件开发环境 ,QQ群 :1084619246

Image
Developer tools
0

2.1K

eighteenyear/bigdata-pytorch repository overview

⁠🐳 Docker 大数据与中间件全栈开发环境 (JDK 17 版)

⁠📋 项目简介

基于 Docker 构建的一体化开发环境,整合了大数据生态组件 + 企业级中间件 + 文档型数据库,提供完整的 Java 后端与大数据开发平台。所有服务统一安装在 /opt/software 目录下,提供简单统一的管理命令。

⚠️** 重要更新**:本环境已全面升级至 JDK 17,所有核心组件均已适配此版本,以获取更好的性能与安全性。

⁠🏗️ 技术栈全景

⁠📊 大数据组件
组件版本路径说明
JDK17.x LTS/opt/software/jdkJava 运行环境 (升级自 11)
Hadoop3.5.0/opt/software/hadoop分布式存储与计算 (首个完整支持 Java 17 的版本)
HBase2.4.16/opt/software/hbase分布式列式数据库
Hive4.1.x/opt/software/hive数据仓库 (增加 JDK 17 支持)
Spark4.x/opt/software/spark内存计算引擎 (运行在 Java 17/21)
Flink2.0/opt/software/flink流式计算引擎 (默认推荐 Java 17)
Kafka4.x/opt/software/kafka消息队列 (Broker/Connect/Tools 要求 Java 17)
MySQL8.0系统服务关系型数据库
⁠🎯 中间件组件
组件版本路径说明
Erlang25.3.2.20/opt/software/erlangRabbitMQ 运行环境
PostgreSQL15/opt/software/postgresql关系型数据库
Redis7.0/opt/software/redis分布式缓存
RabbitMQ3.11.10/opt/software/rabbitmq消息队列
Elasticsearch9.x/opt/software/elasticsearch搜索引擎 (使用自带 JDK,不依赖系统 JDK)
Kibana9.x/opt/software/kibana可视化分析
Nacos3.x/opt/software/nacos注册中心/配置中心 (要求 Java 17)
Seata1.6.1/opt/software/seata分布式事务
SkyWalking9.7.0/opt/software/skywalkingAPM 监控
Sentinel1.8.6/opt/software/sentinel流量控制
RustFS1.0.0-rc.3/opt/software/RsutFS对象存储 (S3 兼容)
⁠🍃 文档与向量数据库
组件版本路径说明
MongoDB8.0.5/opt/software/mongodb文档型数据库
pgvector0.5.0PostgreSQL 扩展向量相似度搜索

⁠🔧 环境配置

⁠环境变量

配置文件:~/.bashrc

export JAVA_HOME=/opt/software/jdk
export HADOOP_HOME=/opt/software/hadoop
export HBASE_HOME=/opt/software/hbase
export HIVE_HOME=/opt/software/hive
export SPARK_HOME=/opt/software/spark
export FLINK_HOME=/opt/software/flink
export KAFKA_HOME=/opt/software/kafka
export ERLANG_HOME=/opt/software/erlang
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$SPARK_HOME/bin:$FLINK_HOME/bin:$KAFKA_HOME/bin:$ERLANG_HOME/bin:/opt/software/rabbitmq/sbin
⁠启动脚本规范

所有服务管理脚本均遵循统一的 {start|stop|status|restart} 结构,并放置在 /opt/software/bin 目录下,已加入系统 PATH。例如:

  • hadoop-server:管理 Hadoop 服务。
  • spark-server:管理 Spark 服务。
  • kafka-server:管理 Kafka 服务。

⁠🚀 快速开始

⁠1. 启动容器

⚠️** 重点**:SSH 端口映射必须为 2222:22,以保证外部访问的一致性。

docker run -d --name bigdata-major --hostname bigdata-major -v bigdata-data:/data -v bigdata-config:/etc/bigdata -p 0.0.0.0:2222:22/tcp -p 2181:2181 -p 2182:2182 -p 3306:3306 -p 33060:33060 -p 5432:5432 -p 5601:5601 -p 5672:5672 -p 15672:15672 -p 6122:6122 -p 6123:6123 -p 6124:6124 -p 6125:6125 -p 6379:6379 -p 7077:7077 -p 7091:7091 -p 8042:8042 -p 8080:8080 -p 8081:8081 -p 8088:8088 -p 8091:8091 -p 8848:8848 -p 8858:8858 -p 9848:9848 -p 9849:9849 -p 9000:9000 -p 9001:9001 -p 9092:9092 -p 9200:9200 -p 9300:9300 -p 9864:9864 -p 9866:9866 -p 9867:9867 -p 9868:9868 -p 9870:9870 -p 10000:10000 -p 10002:10002 -p 11800:11800 -p 12800:12800 -p 16000:16000 -p 16010:16010 -p 16020:16020 -p 16030:16030 -p 18080:18080 -p 18081:18081 -p 19888:19888 -p 27017:27017 -p 4040:4040 eighteenyear/bigdata-pytorch:2.6.1 /bin/bash -c "service mysql start && service ssh start && tail -f /dev/null"
⁠2. 进入容器
# 方式一:直接进入
docker exec -it bigdata-major bash

# 方式二:通过 SSH 进入(验证端口映射)
ssh -p 2222 root@localhost
# 密码: root(默认)

⁠服务管理命令

⁠中间件统一管理
mstart    # 启动所有中间件服务
mstop     # 停止所有中间件服务
mstatus   # 查看中间件服务状态
⁠大数据组件管理
start-hadoop.sh    # 启动 Hadoop/HDFS/YARN
stop-hadoop.sh     # 停止 Hadoop/HDFS/YARN

start-hbase.sh     # 启动 HBase
stop-hbase.sh      # 停止 HBase
hbase shell        # 进入 HBase Shell

start-hive.sh      # 启动 Hive
stop-hive.sh       # 停止 Hive

start-flink.sh     # 启动 Flink
stop-flink.sh      # 停止 Flink

start-kafka.sh     # 启动 Kafka
stop-kafka.sh      # 停止 Kafka

jps                # 查看 Java 进程
⁠PostgreSQL 管理

当前 PostgreSQL 数据目录为:

/var/lib/postgresql/data

启动和停止:

up
down
status
⁠MySQL 管理

容器启动命令默认执行:

service mysql start

本地连接:

mysql -uroot -proot

TCP 连接:

mysql -h127.0.0.1 -P3306 -uroot -proot

默认账号:

root/root

说明:

  • root@localhost 已配置密码 root
  • root@% 已配置密码 root
  • 认证插件使用 mysql_native_password,兼容多数远程客户端
  • MySQL 监听地址为 0.0.0.0:3306
⁠MongoDB 管理
mongodb-start.sh
mongodb-stop.sh
mongodb-status.sh

连接:

/opt/software/mongodb/bin/mongosh --host 127.0.0.1 --port 27017
⁠RabbitMQ 管理
rabbitmqctl version
rabbitmqctl status
rabbitmq-server -detached
rabbitmqctl shutdown
rabbitmq-plugins enable rabbitmq_management

管理后台:

http://localhost:15672

默认账号:

admin/admin123
⁠Redis 管理
redis-server /opt/software/redis/redis.conf
redis-cli -h 127.0.0.1 -p 6379 ping
⁠Elasticsearch 与 Kibana 管理

Elasticsearch 配置:

/opt/software/elasticsearch/config/elasticsearch.yml

关键配置:

path.data: /opt/software/elasticsearch/data
path.logs: /opt/software/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200

检查插件:

/opt/software/elasticsearch/bin/elasticsearch-plugin list

健康检查:

curl -fsS http://127.0.0.1:9200/
curl -fsS http://127.0.0.1:5601/api/status

注意:Elasticsearch 优先使用自带 JDK,不建议强制混用系统 JDK。

⁠🔌 端口映射与访问地址

服务宿主机端口容器内端口访问地址默认凭证
SSH222222ssh root@localhost -p 2222root/root
⁠大数据组件
服务端口访问地址说明
MySQL3307jdbc:mysql://localhost:3307root/qwer4321
HDFS NameNode9870http://localhost:9870Web UI
YARN ResourceManager8088http://localhost:8088Web UI
HBase Master16010http://localhost:16010HBase Web UI
HBase RegionServer16030http://localhost:16030HBase RegionServer UI
Flink Web UI8081http://localhost:8081Web UI
⁠中间件组件
服务端口访问地址默认凭证
PostgreSQL5432jdbc:postgresql://localhost:5432postgres/postgres
Redis6379redis://localhost:6379无密码
RabbitMQ5672/15672http://localhost:15672admin/admin123
Elasticsearch9200http://localhost:9200无
Kibana5601http://localhost:5601WebUI
Nacos8848http://localhost:8848/nacosnacos/nacos
Seata8091localhost:8091无
SkyWalking UI8080http://localhost:8080无
Sentinel8858http://localhost:8858sentinel/sentinel
RustFS API9000http://localhost:9000minioadmin/minioadmin
RustFS Console9001http://localhost:9001/rustfs/console/minioadmin/minioadmin
⁠文档与向量数据库
服务端口访问地址默认凭证
MongoDB27017mongodb://localhost:27017无认证
pgvector0.6.0PostgreSQL 扩展向量相似度搜索

⁠🆘 故障排查

⁠组件启动失败

所有组件日志统一存储在 /opt/software/[component]/logs/ 目录下,可通过以下方式排查:

# 查看 Hadoop 日志
tail -100 /opt/software/hadoop/logs/hadoop-root-namenode-*.log

# 查看 Nacos 日志
tail -100 /opt/software/nacos/logs/start.out
⁠JDK 版本验证
# 验证系统 JDK 版本
java -version
# 应输出: openjdk version "17.x.x"

# 检查 JAVA_HOME
echo $JAVA_HOME
# 应输出: /opt/software/jdk
⁠Elasticsearch 无法启动 (JDK 兼容性)

Elasticsearch 9.x 内置了兼容的 JDK。如果遇到启动问题,请检查启动脚本,确保未强制使用系统 JDK。

# 正确方式:使用 ES 自带的 JDK
/opt/software/elasticsearch/bin/elasticsearch
# 错误方式:JAVA_HOME=/opt/software/jdk /opt/software/elasticsearch/bin/elasticsearch
⁠命令找不到
# 刷新环境变量
source ~/.bashrc

# 检查 PATH
echo $PATH

⁠✅ 版本更新摘要

版本日期更新内容
2.6.12026-08-27使用 RustFS 替换 MinIO(S3 接口兼容);新增 root 登录时显示一次的维护交流群二维码。
2.6.02026-07-26🚀 重大升级:JDK 全面升级至 17;升级 Hadoop, Spark, Flink, Kafka, Hive, Nacos 等核心组件至支持 JDK 17 的版本;Elasticsearch 升级至 9.x;规范端口映射与启动脚本。
2.5.42026-04-27🚀 重构启动脚本体系,支持按需启动,降低内存占用
2.5.32026-04-06新增 Erlang 25.3.2.20,支持 RabbitMQ 3.11.10;更新 Docker 镜像标签
2.5.32026-04-03新增 pgvector 0.6.0 向量扩展;新增「文档与向量数据库」分类

⁠👨‍💻 作者

程序员Eighteen | [email protected]⁠


Happy Coding! 🎉

Tag summary

Content type

Image

Digest

sha256:e7ba69423…

Size

7.7 GB

Last updated

about 1 month ago

docker pull eighteenyear/bigdata-pytorch