搭建Hadoop环境的核心步骤是:准备Linux虚拟机、安装JDK、配置SSH免密登录、解压Hadoop并修改配置文件,最后格式化NameNode并启动进程,别被海量hadoop视频教程吓到,按这套流程走,两小时就能跑起来。

hadoop视频教程哪个好?边看边搭才有效
很多人一开始会去搜hadoop视频教程哪个好,说实话,真正决定你能不能学会的,不是教程本身,而是你有没有跟着敲命令,行业共识认为,90%的人卡在环境搭建这一步,就是因为光看不练。
为什么视频教程“一看就会,一搭就废”?
视频里老师用的是现成环境,你看到的只是结果,等你回到自己电脑上,可能遇到JDK版本对不上、SSH连不上、端口被占用等问题,这时候,视频里不会告诉你。
我自己的经验是:先把视频里出现的所有命令手敲一遍,哪怕报错也要敲,报错越早,印象越深,很多人在B站看十几个小时的hadoop视频教程,结果连NameNode都起不来,就是因为没动手。
推荐搭配:官方文档+实操视频
- 看官方文档的Quick Start,了解核心配置项。
- 找一个发布年份新一点的视频教程,避免老版本命令失效。
- 重点看“伪分布式”和“完全分布式”两种模式的搭建部分。
如果你现在用的是Hadoop 3.3.x,那就别找2018年的老教程,很多配置路径早就变了,业内专家指出,Hadoop学习最大的门槛不是算法,而是环境,克服这个门槛的唯一办法就是亲手搭一遍。
hadoop环境搭建步骤:以三节点集群为例
这里我以三节点集群为例,给你一套可直接复制的操作路径,每一步都经过验证,别跳步骤,也别随意改配置项。
准备虚拟机和操作系统
用VMware或VirtualBox建三台CentOS 7虚拟机,每台配2核CPU、2GB内存,硬盘20GB,网络用NAT模式,保证三台机器能互通。
关键点是设置好主机名:
- 三台机器分别命名为
node1、node2、node3。 - 修改
/etc/hosts,把三台机器的IP和主机名对应关系写进去,168.56.101 node1 192.168.56.102 node2 192.168.56.103 node3 - 关闭防火墙,否则后面端口访问全被拦截:
systemctl stop firewalld systemctl disable firewalld
安装JDK并配置环境变量
Hadoop 3.x要求JDK 8以上,用yum安装最省事:
yum install java-1.8.0-openjdk 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确认。
这里有个容易踩的坑:有些教程会让你下载Oracle JDK,但OpenJDK完全够用,而且不需要手动配置JAVA_HOME,如果你是初学者,直接用yum装的OpenJDK就行。
配置SSH免密登录
三台机器都要执行:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa- 将三台的公钥合并到每台的
authorized_keys文件,最简单的办法是:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ssh-copy-id node2 ssh-copy-id node3 - 测试
ssh node1、ssh node2、ssh node3是否免密。
如果这一步失败,检查/etc/ssh/sshd_config里的PubkeyAuthentication是否开启,还有,注意权限问题:.ssh目录权限必须为700,authorized_keys文件权限必须为600。
下载并解压Hadoop
去Apache官网或国内镜像下载hadoop-3.3.6.tar.gz,传到/opt目录:
tar -zxvf hadoop-3.3.6.tar.gz- 重命名为
/opt/hadoop - 设置环境变量,同样写入
/etc/profile:export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
三台机器都要做同样的操作,我一般先在一台把配置改好,再用scp同步到另外两台。

核心配置文件修改
五个文件必须改对,否则集群起不来,以下以node1为主节点,其他节点只改部分内容。
core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data</value>
</property>
</configuration>
mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
workers文件(新版叫workers,老版本叫slaves):
node1
node2
node3
改完后,把整个/opt/hadoop目录scp给另外两台机器,注意每台机器的JAVA_HOME路径要一一对应。
格式化NameNode并启动集群
只在node1上执行一次:
hdfs namenode -format
不要重复格式化,否则会报clusterID不一致的错误,然后启动:
start-dfs.shstart-yarn.sh
用jps查看进程:
node1上应该有NameNode、ResourceManager、SecondaryNameNodenode2和node3上应该有DataNode、NodeManager
最后访问http://node1:9870,能看到HDFS的Web界面就说明成功了。
hadoop集群搭建教程:常见坑与排查思路
很多hadoop集群搭建教程只会告诉你顺利的情况,实际动手时坑多到你怀疑人生,我帮你把高频问题列出来,排查思路直接给全。
端口占用和日志排查
- NameNode Web界面打不开?先看
http://node1:9870是否通,不通就用netstat -tlnp查9870端口是否被监听。 jps显示没有DataNode?查看/opt/hadoop/logs下的hadoop-hadoop-datanode-.log,多半是dfs.datanode.data.dir目录没创建或权限不对。- ResourceManager连接失败?检查
yarn-site.xml里yarn.resourcemanager.hostname是否写对,主机名解析是否正常。 - 三台机器时间不同步?搭建集群前用
ntpdate -u ntp.aliyun.com同步一下,时间差太大会导致节点间连接失败。
别急着去论坛提问,先自己扒一遍日志,日志文件里每个WARN或ERROR都是线索,这个排查过程比看十遍视频都长本事。

hadoop安装配置教程:推荐的学习路径
如果你正打算跟着hadoop安装配置教程动手,下面这两个选择会影响你的效率。
用虚拟机还是云服务器?
- 本地虚拟机:免费,适合练习,但吃内存,三台机器至少要6G内存,电脑吃不消的话,可以只搭两台或单机伪分布式。
- 云服务器:按量付费,一台实例大概几毛钱一小时,优点是网络环境真实,不受本机断电影响,适合练完不删。
如果只是学基础,我建议用虚拟机,虽然云服务器快,但本地环境能帮你熟悉网络配置和Linux基础操作,这些技能后面找工作都有用。
学习资源怎么选?
- 入门阶段,看免费的官方文档就够了。
- 视频教程可以在B站或腾讯课堂找,找播放量高且评论更新的,说明有人踩过坑。
- 加入一些Hadoop学习交流群,但提问前先附上你自己的日志文件,否则没人愿意帮你。
现在很多人喜欢找“hadoop视频教程百度网盘”打包下载,但那些资源往往过期严重,Hadoop版本迭代很快,学新不学旧才是理智选择。
到这里,你应该已经理解了整条搭建路径。上文归纳很简单:环境搭建不难,难的是你愿不愿意动手碰到每一个报错,跟着上面的hadoop环境搭建步骤敲一遍,比看十遍视频都有效。
关于hadoop环境搭建的常见问题
问:我格式化NameNode后,启动时总是失败,怎么办?
先检查有没有重复格式化,如果格式化过多次,会导致clusterID不一致,解决方法是删除所有节点的dfs.namenode.name.dir和dfs.datanode.data.dir目录下保留的数据,然后重新格式化,注意这一步会清空HDFS上的所有数据,只是练习环境无所谓,生产环境千万别乱来。
问:单机模式和伪分布式有什么区别?
单机模式默认不启动守护进程,适合跑MapReduce调试,不需要改配置文件,伪分布式则在单机上模拟所有Hadoop进程,配置基本和真集群一致,如果你只是想学API,单机就够了;想学集群管理,至少搭伪分布式,因为它的配置过程和完全分布式几乎一样,只是所有进程跑在同一台机器上。
问:搭建Hadoop环境的最低要求是什么?
内存是关键,伪分布式最少2GB内存,三节点集群最低6GB,JDK版本不低于1.8,操作系统建议用CentOS 7或Ubuntu 18.04以上,硬盘20GB够用,但如果你要跑大量数据,建议至少50GB。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/538772.html