Docker - 使用容器快速搭建HDP大数据环境教程(Hadoop、Hive、Spark、HBase等)
作者:hangge | 2025-06-18 09:30
HDP 是 Hortonworks Data Platform 的缩写,是一个专为企业大数据需求而设计的开源数据管理平台,它集成了许多各种大数据相关的功能和组件。本文演示如何使用 Docker 进行一键部署 HDP Sandbox,其内置了完整的 Hortonworks Data Platform,供了一个安全、隔离的环境,让用户可以体验和学习大数据技术,而无需在物理硬件上进行复杂的配置。
1,HDP Sandbox 包含的组件
(1)Hadoop 核心组件:
- HDFS:分布式文件系统。
- YARN:资源管理和作业调度系统。
- MapReduce:用于分布式数据处理。
(2)数据处理和分析:
- Apache Hive:用于数据仓库和 SQL 查询。
- Apache Pig:数据流脚本语言。
- Apache Spark:内存中数据处理引擎。
- Apache Tez:用于优化 Hive 和 Pig 作业的执行。
(3)数据存储:
- Apache HBase:分布式 NoSQL 数据库。
- Apache Phoenix:为 HBase 提供 SQL 支持。
(4)数据集成和流处理:
- Apache Kafka:分布式消息系统。
- Apache NiFi:数据流管理和集成工具。
- Apache Storm:实时流处理系统。
(5)安全性和治理:
- Apache Ranger:安全管理框架。
- Apache Atlas:数据治理和元数据管理。
(6)管理和监控:
- Apache Ambari:集群管理和监控工具。
2,准备工作
(1)由于镜像体积较大(20 多个 G),内存封装的组件众多,服务器硬件建议如下:
- CPU:4 核
- 内存:16G
- 硬盘:70G
(2)服务器安装 Docker 环境,具体操作步骤可以参考我之前的文章:
3,拉取镜像
(1)首先执行如下命令将镜像下载到本地:

docker pull hortonworks/sandbox-hdp:3.0.1 docker pull hortonworks/sandbox-proxy:1.0

(2)接着执行如下命令下载安装脚本:
git clone https://github.com/dounine/sandbox-hdp-3.0.1.git
4,添加 host 映射
(1)首先执行如下命令编辑 hosts 文件:
(2)在文件内容新增如下内容添加 host 映射:
vi /etc/hosts
(2)在文件内容新增如下内容添加 host 映射:
127.0.0.1 sandbox-hdp.hortonworks.com
5,启动容器
(1)进入我们前面从 github 上下载下来的安装脚本文件夹:
(2)接着设置启动脚本权限:
(3)最后执行脚本启动容器:
(4)容器启动后使用 docker ps 命令可以看到容器已经启动成功,并且各个组件的端口映射也都设置好了。

(2)然后执行如下命令开始重置密码:
(3)根据提示输入我们想要使用的密码,比如我这里使用 123









cd sandbox-hdp-3.0.1
(2)接着设置启动脚本权限:
chmod 777 docker-deploy-hdp265.sh
(3)最后执行脚本启动容器:
./docker-deploy-hdp265.sh

6,重置密码
(1)要使用 HDP 集群管理的 Web 界面我,我们首先需要重置一下 ambari 的密码,首先执行如下命令进入容器:docker exec -ti sandbox-hdp bash
(2)然后执行如下命令开始重置密码:
ambari-admin-password-reset
(3)根据提示输入我们想要使用的密码,比如我这里使用 123

7,登录 Web 管理页面
(1)使用浏览器访问 http://服务器 IP:8080,输入用户名(admin)和密码(前面设置的)进行登录。

(2)登录成功后,我们就可以在 Web 界面中方便地管理大数据组件了:

(3)比如我们想要启动 HBase,只需要点击左侧的菜单的 Hbase,然后点击右侧的 Action -> Start 即可以启动该服务。

8,在线 shell 命令行窗口
(1)HDP 还提供了一个基于浏览器界面的 shell 命令行,我们使用浏览器访问 http://服务器 IP:4200
(2)打开后会让我们输入用户名密码,用户名为 root,默认密码 hadoop。登录后会提示我们需要修改密码,这里我将密码修改为 hangge.com,

(3)密码修改后就可以进行操作了:

附:相关组件的使用测试
1,YARN
(1)我们使用浏览器访问 http://服务器 IP:8088 可以访问 YARN 的 web 界面:

(2)使用浏览器访问 http://服务器 IP:50070 可以访问下 HDFS 的 web 界面:

2,HDFS
(1)我们执行如下命令尝试操作一下 hdfs,可以看到能够正常返回结果:
hdfs dfs -ls /
(2)使用 HDFS 的全路径尝试一下也是可以的:
hdfs dfs -ls hdfs://服务器IP:8020/
3,Hive
(1)我们可以使用 hive 客户端来执行 Hive 命令:
hive -e "show databases;"

(2)也可以使用 beeline 客户端执行 Hive 命令:
beeline -u jdbc:hive2://localhost:10000 -n hive -e "show databases;"

全部评论(0)