温馨提示×

Hadoop集群Linux系统如何搭建

小樊
51
2025-10-06 01:52:52
栏目: 智能运维

Hadoop集群在Linux系统上的搭建步骤

1. 环境准备

  • 硬件要求:集群需至少3台服务器(1台Master节点、2台Slave节点),建议配置:双核CPU、8GB及以上内存、100GB及以上硬盘(根据数据规模调整);所有节点需处于同一局域网,具备静态IP地址,确保网络互通。
  • 操作系统:推荐使用CentOS 7、Ubuntu 24.2等稳定Linux发行版(所有节点版本一致)。
  • 软件依赖:需提前安装Java(JDK 8及以上,推荐OpenJDK)、ssh工具(用于节点间通信)。

2. 安装Java环境

Hadoop基于Java开发,需在所有节点安装Java运行环境:

  • CentOS 7:执行sudo yum install -y java-1.8.0-openjdk-devel安装OpenJDK 8;
  • Ubuntu 24.2:执行sudo apt update && sudo apt install -y openjdk-11-jdk安装OpenJDK 11。
    安装完成后,通过java -version验证是否成功(需显示Java版本信息)。

3. 下载并解压Hadoop

从Apache Hadoop官网下载最新稳定版本(如3.3.5),解压至指定目录(如/usr/local):

wget https://downloads.apache.org/hadoop/core/hadoop-3.3.5/hadoop-3.3.5.tar.gz  # 替换为最新版本链接
tar -zxvf hadoop-3.3.5.tar.gz -C /usr/local/  # 解压到/usr/local
ln -s /usr/local/hadoop-3.3.5 /usr/local/hadoop  # 创建软链接(简化命令)

设置Hadoop目录权限:sudo chown -R hadoop:hadoop /usr/local/hadoop(hadoop为用户,需提前创建)。

4. 配置Hadoop环境变量

编辑所有节点的~/.bashrc(或/etc/profile)文件,添加以下内容:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64  # 根据实际Java安装路径修改
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

保存后执行source ~/.bashrc(或source /etc/profile)使配置生效。

5. 配置Hadoop核心文件

进入Hadoop配置目录($HADOOP_HOME/etc/hadoop),修改以下关键文件:

  • core-site.xml(HDFS默认文件系统):
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://namenode:9000</value>  <!-- Master节点主机名或IP -->
        </property>
    </configuration>
    
  • hdfs-site.xml(HDFS副本与目录配置):
    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>3</value>  <!-- 副本数(集群节点≥3时设为3,否则设为节点数) -->
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>/usr/local/hadoop/data/namenode</value>  <!-- NameNode数据目录 -->
        </property>
    </configuration>
    
  • mapred-site.xml(MapReduce框架配置):
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>  <!-- 使用YARN作为资源管理器 -->
        </property>
    </configuration>
    
  • yarn-site.xml(YARN资源管理配置):
    <configuration>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>resourcemanager</value>  <!-- ResourceManager节点主机名或IP -->
        </property>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>  <!-- Shuffle服务 -->
        </property>
    </configuration>
    

修改完成后,保存所有文件。

6. 配置SSH免密登录

实现Master节点与所有Slave节点的无密码通信:

  • 生成密钥对:在Master节点执行ssh-keygen -t rsa(直接回车,默认路径~/.ssh/id_rsa);
  • 分发公钥:将公钥复制到所有Slave节点:ssh-copy-id hadoop@slave1_ipssh-copy-id hadoop@slave2_ip(替换为Slave节点IP或主机名);
  • 验证免密:执行ssh slave1_ip,若无需输入密码即可登录,则配置成功。

7. 格式化NameNode

仅在Master节点执行,初始化HDFS文件系统:

hdfs namenode -format

此操作会清除HDFS中的所有数据,请谨慎执行(首次搭建时需执行)。

8. 启动Hadoop集群

  • 启动HDFS:在Master节点执行start-dfs.sh,启动NameNode、DataNode等组件;
  • 启动YARN:在Master节点执行start-yarn.sh,启动ResourceManager、NodeManager等组件。
    启动后,可通过jps命令查看进程(Master节点应有NameNode、ResourceManager;Slave节点应有DataNode、NodeManager)。

9. 验证集群状态

  • 命令行验证:执行hdfs dfsadmin -report查看HDFS节点状态;执行yarn node -list查看YARN节点状态;
  • Web界面验证:通过浏览器访问http://namenode_ip:50070(HDFS Web界面)、http://namenode_ip:8088(YARN Web界面),确认集群运行正常。

以上步骤完成后,Hadoop集群即搭建完成,可进行后续的HDFS文件操作、MapReduce作业提交等任务。

0