大数据开发环境+中间件开发环境 ,QQ群 :1084619246
2.1K
基于 Docker 构建的一体化开发环境,整合了大数据生态组件 + 企业级中间件 + 文档型数据库,提供完整的 Java 后端与大数据开发平台。所有服务统一安装在 /opt/software 目录下,提供简单统一的管理命令。
⚠️** 重要更新**:本环境已全面升级至 JDK 17,所有核心组件均已适配此版本,以获取更好的性能与安全性。
| 组件 | 版本 | 路径 | 说明 |
|---|---|---|---|
| JDK | 17.x LTS | /opt/software/jdk | Java 运行环境 (升级自 11) |
| Hadoop | 3.5.0 | /opt/software/hadoop | 分布式存储与计算 (首个完整支持 Java 17 的版本) |
| HBase | 2.4.16 | /opt/software/hbase | 分布式列式数据库 |
| Hive | 4.1.x | /opt/software/hive | 数据仓库 (增加 JDK 17 支持) |
| Spark | 4.x | /opt/software/spark | 内存计算引擎 (运行在 Java 17/21) |
| Flink | 2.0 | /opt/software/flink | 流式计算引擎 (默认推荐 Java 17) |
| Kafka | 4.x | /opt/software/kafka | 消息队列 (Broker/Connect/Tools 要求 Java 17) |
| MySQL | 8.0 | 系统服务 | 关系型数据库 |
| 组件 | 版本 | 路径 | 说明 |
|---|---|---|---|
| Erlang | 25.3.2.20 | /opt/software/erlang | RabbitMQ 运行环境 |
| PostgreSQL | 15 | /opt/software/postgresql | 关系型数据库 |
| Redis | 7.0 | /opt/software/redis | 分布式缓存 |
| RabbitMQ | 3.11.10 | /opt/software/rabbitmq | 消息队列 |
| Elasticsearch | 9.x | /opt/software/elasticsearch | 搜索引擎 (使用自带 JDK,不依赖系统 JDK) |
| Kibana | 9.x | /opt/software/kibana | 可视化分析 |
| Nacos | 3.x | /opt/software/nacos | 注册中心/配置中心 (要求 Java 17) |
| Seata | 1.6.1 | /opt/software/seata | 分布式事务 |
| SkyWalking | 9.7.0 | /opt/software/skywalking | APM 监控 |
| Sentinel | 1.8.6 | /opt/software/sentinel | 流量控制 |
| RustFS | 1.0.0-rc.3 | /opt/software/RsutFS | 对象存储 (S3 兼容) |
| 组件 | 版本 | 路径 | 说明 |
|---|---|---|---|
| MongoDB | 8.0.5 | /opt/software/mongodb | 文档型数据库 |
| pgvector | 0.5.0 | PostgreSQL 扩展 | 向量相似度搜索 |
配置文件:~/.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 服务。⚠️** 重点**: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"
# 方式一:直接进入
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 数据目录为:
/var/lib/postgresql/data
启动和停止:
up
down
status
容器启动命令默认执行:
service mysql start
本地连接:
mysql -uroot -proot
TCP 连接:
mysql -h127.0.0.1 -P3306 -uroot -proot
默认账号:
root/root
说明:
root@localhost 已配置密码 rootroot@% 已配置密码 rootmysql_native_password,兼容多数远程客户端0.0.0.0:3306mongodb-start.sh
mongodb-stop.sh
mongodb-status.sh
连接:
/opt/software/mongodb/bin/mongosh --host 127.0.0.1 --port 27017
rabbitmqctl version
rabbitmqctl status
rabbitmq-server -detached
rabbitmqctl shutdown
rabbitmq-plugins enable rabbitmq_management
管理后台:
http://localhost:15672
默认账号:
admin/admin123
redis-server /opt/software/redis/redis.conf
redis-cli -h 127.0.0.1 -p 6379 ping
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。
| 服务 | 宿主机端口 | 容器内端口 | 访问地址 | 默认凭证 |
|---|---|---|---|---|
| SSH | 2222 | 22 | ssh root@localhost -p 2222 | root/root |
| 服务 | 端口 | 访问地址 | 说明 |
|---|---|---|---|
| MySQL | 3307 | jdbc:mysql://localhost:3307 | root/qwer4321 |
| HDFS NameNode | 9870 | http://localhost:9870 | Web UI |
| YARN ResourceManager | 8088 | http://localhost:8088 | Web UI |
| HBase Master | 16010 | http://localhost:16010 | HBase Web UI |
| HBase RegionServer | 16030 | http://localhost:16030 | HBase RegionServer UI |
| Flink Web UI | 8081 | http://localhost:8081 | Web UI |
| 服务 | 端口 | 访问地址 | 默认凭证 |
|---|---|---|---|
| PostgreSQL | 5432 | jdbc:postgresql://localhost:5432 | postgres/postgres |
| Redis | 6379 | redis://localhost:6379 | 无密码 |
| RabbitMQ | 5672/15672 | http://localhost:15672 | admin/admin123 |
| Elasticsearch | 9200 | http://localhost:9200 | 无 |
| Kibana | 5601 | http://localhost:5601 | WebUI |
| Nacos | 8848 | http://localhost:8848/nacos | nacos/nacos |
| Seata | 8091 | localhost:8091 | 无 |
| SkyWalking UI | 8080 | http://localhost:8080 | 无 |
| Sentinel | 8858 | http://localhost:8858 | sentinel/sentinel |
| RustFS API | 9000 | http://localhost:9000 | minioadmin/minioadmin |
| RustFS Console | 9001 | http://localhost:9001/rustfs/console/ | minioadmin/minioadmin |
| 服务 | 端口 | 访问地址 | 默认凭证 |
|---|---|---|---|
| MongoDB | 27017 | mongodb://localhost:27017 | 无认证 |
| pgvector | 0.6.0 | PostgreSQL 扩展 | 向量相似度搜索 |
所有组件日志统一存储在 /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 版本
java -version
# 应输出: openjdk version "17.x.x"
# 检查 JAVA_HOME
echo $JAVA_HOME
# 应输出: /opt/software/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.1 | 2026-08-27 | 使用 RustFS 替换 MinIO(S3 接口兼容);新增 root 登录时显示一次的维护交流群二维码。 |
| 2.6.0 | 2026-07-26 | 🚀 重大升级:JDK 全面升级至 17;升级 Hadoop, Spark, Flink, Kafka, Hive, Nacos 等核心组件至支持 JDK 17 的版本;Elasticsearch 升级至 9.x;规范端口映射与启动脚本。 |
| 2.5.4 | 2026-04-27 | 🚀 重构启动脚本体系,支持按需启动,降低内存占用 |
| 2.5.3 | 2026-04-06 | 新增 Erlang 25.3.2.20,支持 RabbitMQ 3.11.10;更新 Docker 镜像标签 |
| 2.5.3 | 2026-04-03 | 新增 pgvector 0.6.0 向量扩展;新增「文档与向量数据库」分类 |
程序员Eighteen | [email protected]
Happy Coding! 🎉
Content type
Image
Digest
sha256:e7ba69423…
Size
7.7 GB
Last updated
about 1 month ago
docker pull eighteenyear/bigdata-pytorch