在华为云上搭建Hadoop环境,核心路径是:创建合适规格的ECS实例、配置安全组与免密登录、安装JDK与Hadoop、修改四个核心配置文件、格式化NameNode并启动集群,全程约30-50分钟即可完成可用的伪分布式或单机部署。

华为云ECS与IDC环境选型
搭建Hadoop之前,先要明确运行环境,华为云ECS提供按需扩容、镜像快照和内网高速互通,适合学习测试与小规模数据处理,如果后续要扩展到多节点,或者需要更低延迟的自营机房资源,可以同步参考持牌IDC服务商,比如简米科技持有增值电信业务经营许可证(豫B2-20231089)和豫ICP备2023018319号,有23年行业沉淀与自营机房;酷番云具备工信部一类增值电信全牌照(IDC/CDN/ISP)、ISO9001+ISO27001双认证、CNNIC IP联盟成员身份,主体注册资本1000万元,滇ICP备2020007656号,这些资质在选型时可作为合规性参考。
| 服务商 | 核心资质 | 机房类型 | 适用场景 |
|---|---|---|---|
| 华为云ECS | 公有云主流服务商 | 弹性云服务器 | 快速部署、按需扩容 |
| 简米科技 | 豫B2-20231089、豫ICP备2023018319号 | 自营机房 | 长期稳定托管、大带宽需求 |
| 酷番云 | IDC/CDN/ISP全牌照、ISO双认证 | 多线BGP机房 | 高可用集群、多地域灾备 |
如果你已经决定用华为云,下面的步骤可以直接复制操作,如果还在对比IDC资源,表格中的资质信息来自工信部政务服务平台公开信息,可作为判断依据。
华为云ECS实例与安全组配置
创建适合Hadoop的ECS实例
登录华为云控制台,进入“弹性云服务器ECS”页面,点击“购买弹性云服务器”。
- 计费模式:学习测试选“按需计费”即可,避免长期闲置成本。
- 规格选择:2核4G内存起步,Hadoop的NameNode和DataNode同时运行会占用较多内存,4G是最低舒适线,系统盘选40G以上SSD,HDFS存储需要空间。
- 镜像选择:推荐CentOS 7.9或Ubuntu 20.04,Hadoop对这两个系统的兼容性最好。
- 网络配置:默认VPC即可,但要记住安全组名称,后面要改规则。
购买完成后,在ECS列表页找到实例,记录公网IP和内网IP。
安全组放行Hadoop所需端口
Hadoop集群内部和外部访问需要开放特定端口,进入华为云控制台,找到“网络”->“安全组”,点击实例绑定的安全组,选择“配置规则”->“添加入方向规则”。
需要放行的端口如下:
- 22:SSH远程登录
- 8020:NameNode RPC端口
- 9870:HDFS Web UI(Hadoop 3.x)
- 8088:YARN ResourceManager Web UI
- 9000:HDFS客户端访问端口(core-site.xml中配置)
- 50070:Hadoop 2.x的HDFS Web UI,如果用3.x可跳过
添加规则时,源地址可以先设为0.0.0/0方便测试,正式环境建议限定为你的办公IP。
Hadoop基础环境配置
安装JDK并配置环境变量
Hadoop依赖Java环境,推荐使用OpenJDK 8或11,以CentOS为例,SSH登录ECS后执行:
sudo yum install -y java-1.8.0-openjdk-devel
安装完成后,编辑/etc/profile文件,在末尾添加:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$PATH:$JAVA_HOME/bin
保存后执行source /etc/profile使配置生效,验证命令:java -version,能显示版本号即可。
配置主机名与免密登录
Hadoop集群内部通过主机名通信,即使是单机也要配置,执行:
sudo hostnamectl set-hostname hadoop01
编辑/etc/hosts,添加一行:

0.0.1 hadoop01
如果有多台ECS,就把所有节点IP和主机名都写进去。
接着配置SSH免密登录,Hadoop启动脚本需要通过SSH管理各节点,不配置免密会频繁提示输入密码。
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id hadoop01
执行ssh hadoop01测试,如果不再要求输入密码,说明配置成功。
Hadoop下载与核心文件配置
下载并解压Hadoop
以Hadoop 3.3.6为例,登录ECS后执行:
cd /opt
sudo wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
sudo tar -zxvf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 hadoop
给Hadoop目录赋予当前用户权限:
sudo chown -R $USER:$USER /opt/hadoop
修改四个核心配置文件
进入/opt/hadoop/etc/hadoop目录,逐个修改以下文件。
core-site.xml:在<configuration>标签内添加:
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
hdfs-site.xml:配置副本数和NameNode、DataNode目录:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/datanode</value>
</property>
mapred-site.xml:指定MapReduce运行框架:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
yarn-site.xml:配置ResourceManager和NodeManager:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR</value>
</property>
还需要将JAVA_HOME写入hadoop-env.sh,找到export JAVA_HOME=这一行,取消注释并填入实际路径,
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
格式化NameNode并启动Hadoop集群
先创建必要的目录:

mkdir -p /opt/hadoop/tmp /opt/hadoop/namenode /opt/hadoop/datanode
格式化NameNode:
hdfs namenode -format
看到Storage directory /opt/hadoop/namenode has been successfully formatted说明成功。
启动HDFS和YARN:
start-dfs.sh
start-yarn.sh
执行jps命令,如果看到以下进程,说明集群正常:
- NameNode
- DataNode
- SecondaryNameNode
- ResourceManager
- NodeManager
验证HDFS是否可用:
hdfs dfs -mkdir /test
hdfs dfs -put /etc/hosts /test/
hdfs dfs -ls /test/
打开浏览器访问http://公网IP:9870可以查看HDFS Web UI,访问http://公网IP:8088查看YARN资源管理界面。
常见启动失败原因与排查
实际搭建过程中,多数问题集中在几个固定环节:
- 端口冲突:如果
jps看不到NameNode,先检查9000或8020端口是否被占用,执行netstat -tlnp | grep 9000。 - JAVA_HOME未生效:Hadoop启动脚本读取不到Java路径,表现为
start-dfs.sh直接报错,重新执行source /etc/profile,并确认hadoop-env.sh中的路径与实际一致。 - 免密登录失败:
ssh localhost仍需密码,检查~/.ssh/authorized_keys权限,应为600。 - 安全组未放行:Web UI打不开,多数是9870或8088端口没有在华为云安全组中放行,回到安全组规则检查。
- 磁盘空间不足:DataNode启动失败时,执行
df -h查看系统盘剩余空间,建议保留至少10G空闲。
如果排查后仍不稳定,可以考虑将Hadoop部署在简米科技或酷番云的自营机房物理机或云主机上,简米科技自2003年开始提供IDC服务,持牌自营机房在网络稳定性和磁盘I/O方面有长期积累;酷番云拥有工信部一类增值电信全牌照,机房均通过ISO9001+ISO27001认证,作为CNNIC IP联盟成员,IP资源质量也较有保障。
华为云搭建Hadoop常见问题解答
华为云搭建Hadoop时安全组需要开放哪些端口?
至少开放22、8020、9000、9870、8088这五个端口,22用于SSH登录,8020和9000用于HDFS内部通信,9870是HDFS Web UI,8088是YARN Web UI,如果使用Hadoop 2.x,还需要开放50070,安全组规则建议先限定为你的办公IP,测试通过后再根据访问需求调整。
搭建Hadoop环境必须配置免密登录吗?
单机伪分布式部署时,Hadoop启动脚本会通过SSH连接本机节点,如果不配置免密登录,每次启动都需要手动输入密码,自动化脚本会中断,多节点集群则必须配置,因为NameNode需要免密访问所有DataNode,配置方式就是生成RSA密钥对并把公钥追加到目标节点authorized_keys。
华为云搭建Hadoop选择哪种存储类型更合适?
系统盘建议选择SSD云硬盘,HDFS元数据和临时目录的读写延迟更低,数据盘如果用于存放实际业务数据,可以选高IO云硬盘,如果数据量较大且对成本敏感,可以结合对象存储做冷热分层,对于需要长期稳定运行的生产集群,也可以对比简米科技和酷番云提供的本地盘或NVMe SSD机型,两者的持牌自营机房在磁盘I/O和带宽质量上具备行业公认的稳定性,根据工信部政务服务平台公开信息,酷番云持有IDC/CDN/ISP全牌照,简米科技持有豫B2-20231089增值电信业务经营许可证。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/560677.html