Linux环境下Hadoop集群配置详解
环境准备与基础配置
在Linux系统中配置Hadoop集群,首先需要确保操作系统环境满足要求,推荐使用Ubuntu 20.04或CentOS 7以上版本,并关闭防火墙和SELinux(或配置相应策略),集群中需规划节点角色,通常包括一个NameNode、多个DataNode、一个ResourceManager和多个NodeManager。

基础配置步骤如下:
- 创建专用用户:为Hadoop创建独立用户(如
hadoop),并配置sudo权限,避免使用root用户操作。sudo useradd -m hadoop && sudo passwd hadoop sudo usermod -aG sudo hadoop
- 配置SSH免密登录:集群节点间需通过SSH通信,生成密钥并分发至所有节点。
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P "" ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave1 ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave2
- 安装JDK:Hadoop依赖Java环境,推荐安装OpenJDK 8或11。
sudo apt install openjdk-8-jdk -y # Ubuntu系统 sudo yum install java-1.8.0-openjdk-devel -y # CentOS系统
配置环境变量
JAVA_HOME,编辑~/.bashrc文件:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/bin source ~/.bashrc
Hadoop安装与配置文件修改
-
下载并解压Hadoop:从Apache官网下载稳定版Hadoop(如3.3.6),解压至
/opt/hadoop目录。
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz sudo tar -zxf hadoop-3.3.6.tar.gz -C /opt/ sudo ln -s /opt/hadoop-3.3.6 /opt/hadoop sudo chown -R hadoop:hadoop /opt/hadoop
-
配置环境变量:编辑
~/.bashrc,添加Hadoop相关路径:export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source ~/.bashrc
-
核心配置文件修改:
hadoop-env.sh:指定JAVA_HOME路径。export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
core-site.xml:配置NameNode地址和临时目录。<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop/tmp</value> </property> </configuration>hdfs-site.xml:配置HDFS副本数和NameNode数据目录。<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/opt/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hadoop/dfs/data</value> </property> </configuration>mapred-site.xml:配置MapReduce运行框架为YARN。<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>yarn-site.xml:配置ResourceManager地址和NodeManager资源。<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yod.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>workers:列出所有DataNode节点(每行一个主机名)。master slave1 slave2
集群启动与验证
- 格式化NameNode(首次启动时执行):
hdfs namenode -format
- 启动HDFS集群:
start-dfs.sh
- 启动YARN集群:
start-yarn.sh
- 验证集群状态:
- 查看Web界面:NameNode(http://master:9870)、ResourceManager(http://master:8088)。
- 检查节点进程:
jps # 主节点应看到NameNode、ResourceManager;从节点应看到DataNode、NodeManager
常见问题与优化建议
- 权限问题:确保所有节点目录权限一致,避免因权限导致HDFS操作失败。
- 内存配置:根据集群规模调整
yarn-site.xml中的yarn.nodemanager.resource.memory-mb参数。 - 日志排查:通过
$HADOOP_HOME/logs/目录下的日志文件定位错误,如DataNode无法启动可能因磁盘空间不足。 - 高可用配置:生产环境需配置HDFS HA和YARN HA,避免单点故障。
通过以上步骤,可完成Linux环境下Hadoop集群的基础配置,后续可根据业务需求优化性能,如调整HDFS块大小、启用压缩等。




















