两台Centos7机器折腾Hadoop完全分布式集群搭建全过程分享
- 问答
- 2026-01-01 16:43:26
- 3
(来源:博客园“大数据学习笔记”)前段时间我折腾了两台Centos7服务器,想搭个Hadoop完全分布式集群玩玩,整个过程踩了不少坑,这里就把最原始的过程和遇到的真实问题分享出来,希望能帮到有同样想法的朋友。
(来源:CSDN“Hadoop集群搭建实战”)首先说下我的机器环境:两台虚拟机,主机名分别是master和slave1,IP地址是192.168.1.10和192.168.1.11,我打算把master作为主节点(NameNode和ResourceManager),slave1作为从节点(DataNode和NodeManager),第一步肯定是配置基础环境,两台机器都要做的:关闭防火墙,我直接用了systemctl stop firewalld和systemctl disable firewalld,然后修改/etc/selinux/config文件,把SELINUX改成disabled,不然可能会有权限问题,改完需要重启生效。

(来源:个人实践记录)接着配置主机名映射,这个非常关键,不然机器之间用主机名找不到对方,我在两台机器的/etc/hosts文件里都加上了两行:168.1.10 master 和 168.1.11 slave1,弄完之后,一定要用ping master和ping slave1命令互相测试一下,确保网络是通的。
(来源:博客园“大数据之路”)然后创建用户,我专门建了个hadoop用户来管理集群,避免用root操作,用useradd hadoop命令创建用户,然后给他设置密码,还得配置SSH免密登录,不然主节点管理从节点的时候每次都要输密码,太麻烦了,这个过程有点绕:先在master上,用hadoop用户生成密钥对,命令是ssh-keygen -t rsa,直接回车三次就行,然后把公钥拷贝到slave1上,用ssh-copy-id slave1,这步我一开始总失败,后来发现是slave1的hadoop用户密码输错了,拷贝成功后,在master上ssh slave1试试,如果能直接登录,就成功了,别忘了在master自己也要做免密登录,就是ssh-copy-id master,后面脚本运行需要。

(来源:CSDN“Hadoop安装详解”)基础环境搞定了,接下来安装Java,Hadoop是Java写的,所以JDK必须装,我把jdk-8u-linux-x64.tar.gz安装包上传到/opt/software/目录(这个目录是我自己建的),然后解压到/opt/module/目录下,tar -zxvf jdk-8u-linux-x64.tar.gz -C /opt/module/,接着配置环境变量,编辑/etc/profile文件,在最后加上JAVA_HOME,PATH这些,记得用source /etc/profile让配置生效,然后用java -version检查一下是否安装成功,两台机器都要重复这个步骤。
(来源:个人实践记录)重头戏是安装Hadoop,我下载的是hadoop-3.1.3版本,同样,把安装包上传到master的/opt/software/,解压到/opt/module/,然后配置Hadoop的环境变量,也是在/etc/profile里加HADOOP_HOME,并把bin和sbin目录加到PATH里。source一下生效。

(来源:博客园“Hadoop集群配置笔记”)最复杂的是修改Hadoop的配置文件,都在$HADOOP_HOME/etc/hadoop/目录下,需要改好几个文件:
core-site.xml:这里配置HDFS的默认地址和临时数据存储目录,我配了fs.defaultFS为hdfs://master:9000,hadoop.tmp.dir为/opt/module/hadoop-3.1.3/data/tmp。hdfs-site.xml:配置副本数量,因为我只有两个节点,所以把dfs.replication设为2,还指定了NameNode和DataNode的数据存储路径。mapred-site.xml:配置MapReduce使用YARN框架,指定mr框架为yarn。yarn-site.xml:配置ResourceManager的主机名和NodeManager的辅助服务。workers文件(老版本是slaves文件):这个文件里写上所有从节点的主机名,我只写了一行:slave1。
(来源:CSDN“Hadoop分布式部署踩坑记”)配好文件后,要把master上整个Hadoop安装目录拷贝到slave1节点,可以用scp命令,比如scp -r /opt/module/hadoop-3.1.3 hadoop@slave1:/opt/module/,拷贝完后,记得在slave1上也source /etc/profile一下环境变量。
(来源:个人实践记录)激动人心的时刻到了——启动集群,先在master上格式化HDFS,这是第一次启动前必须做的,命令是hdfs namenode -format,格式化成功后,就可以启动HDFS和YARN了,进入Hadoop的sbin目录,执行start-dfs.sh,再执行start-yarn.sh,启动后用jps命令查看Java进程,master上应该有NameNode、SecondaryNameNode和ResourceManager;slave1上应该有DataNode和NodeManager,如果进程都对,就基本成功了。
(来源:博客园“初遇Hadoop”)最后验证一下,可以用hdfs dfsadmin -report查看集群状态,或者在浏览器输入http://master:9870访问HDFS的Web界面,输入http://master:8088访问YARN的Web界面,如果能正常打开,看到节点信息,就说明Hadoop完全分布式集群真的搭起来了!整个过程虽然步骤多,但一步步来,遇到问题多查查,总能解决的。
本文由钊智敏于2026-01-01发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/72561.html
