CentOS环境下Hadoop安装与配置指南(单机/伪分布式模式)
一、前置准备
-
系统要求
- CentOS 7/8及以上版本(建议使用纯净系统,避免冲突)。
- 确保系统已联网,能访问Apache Hadoop官网下载资源。
-
安装Java环境(JDK 8+)
Hadoop依赖Java运行,需先安装OpenJDK 8:sudo yum install -y java-1.8.0-openjdk-devel # 验证安装 java -version # 应输出Java 1.8版本信息 -
下载并解压Hadoop
从Apache Hadoop官网下载稳定版本(如3.3.1),解压至/usr/local/:cd /usr/local sudo wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz sudo tar -xzvf hadoop-3.3.1.tar.gz sudo mv hadoop-3.3.1 hadoop # 重命名为hadoop方便管理 -
配置Hadoop环境变量
编辑/etc/profile.d/hadoop.sh(全局生效),添加以下内容:export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk # Java安装路径(通过`which java`确认) export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin使配置生效:
source /etc/profile.d/hadoop.sh # 验证Hadoop命令 hadoop version # 应输出Hadoop版本信息 -
配置SSH无密码登录(单机模式可选,集群必需)
若需实现NameNode与DataNode的无密码通信,执行以下命令:ssh-keygen -t rsa # 生成密钥对(直接回车,默认路径) cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # 将公钥加入授权文件 chmod 600 ~/.ssh/authorized_keys # 设置权限 # 测试无密码登录 ssh localhost # 应无需输入密码直接登录
二、Hadoop核心配置文件修改
Hadoop的主要配置文件位于$HADOOP_HOME/etc/hadoop/目录下,需修改以下4个核心文件:
1. core-site.xml(系统级配置)
定义HDFS的默认文件系统和临时目录:
<configuration>
<property>
<name>fs.defaultFSname>
<value>hdfs://localhost:9000value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>/usr/local/hadoop/tmpvalue>
property>
configuration>
2. hdfs-site.xml(HDFS特有配置)
配置NameNode、DataNode的存储路径及副本数(单机模式副本数为1):
<configuration>
<property>
<name>dfs.replicationname>
<value>1value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>/usr/local/hadoop/hdfs/namenodevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>/usr/local/hadoop/hdfs/datanodevalue>
property>
configuration>
3. mapred-site.xml(MapReduce配置)
指定MapReduce框架为YARN(需先配置YARN):
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
configuration>
4. yarn-site.xml(YARN配置)
配置ResourceManager和NodeManager的辅助服务:
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
<value>org.apache.hadoop.mapred.ShuffleHandlervalue>
property>
configuration>
三、格式化HDFS并启动集群
-
格式化HDFS(首次启动必需)
格式化会清除HDFS中的所有数据,仅首次启动时执行:hdfs namenode -format -
启动Hadoop集群
启动HDFS和YARN服务:start-dfs.sh # 启动HDFS(NameNode、DataNode) start-yarn.sh # 启动YARN(ResourceManager、NodeManager) -
验证集群状态
使用jps命令查看进程:jps正常应输出以下进程(单机模式):
- NameNode(HDFS主节点)
- DataNode(HDFS数据节点)
- SecondaryNameNode(HDFS辅助节点,可选)
- ResourceManager(YARN资源管理器)
- NodeManager(YARN节点管理器)
也可通过Web界面查看集群状态(默认端口):
- HDFS NameNode:
http://localhost:9870 - YARN ResourceManager:
http://localhost:8088
四、常见问题排查
-
端口冲突
若启动时报端口被占用(如9000、50070),可通过netstat -tulnp | grep 端口号查找占用进程,杀掉冲突进程或修改core-site.xml中的端口。 -
权限问题
若出现Permission denied错误,需检查Hadoop目录的权限(如/usr/local/hadoop),确保hadoop用户有读写权限:sudo chown -R hadoop:hadoop /usr/local/hadoop -
环境变量未生效
若hadoop version报错,需重新执行source /etc/profile或重启终端。
通过以上步骤,即可在CentOS上完成Hadoop的单机/伪分布式安装与配置。如需扩展为多节点集群,只需在每台节点上重复安装步骤,并修改core-site.xml中的fs.defaultFS为NameNode的实际IP地址,同时调整hdfs-site.xml中的dfs.replication为集群节点数即可。
以上就是关于“CentOS Hadoop如何安装与配置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm