温馨提示×

Hadoop在Linux系统中如何扩容

小樊
45
2025-11-02 16:12:06
栏目: 智能运维

Hadoop在Linux系统中的扩容指南

Hadoop集群扩容主要分为**横向扩展(新增节点)纵向扩展(升级现有节点硬件)**两类,其中横向扩展是分布式集群提升容量的核心方式。以下是详细的扩容步骤及注意事项:

一、前期准备工作

1. 环境检查(所有新节点)

  • 基础软件安装:确保新节点已安装与集群一致的JDK(如java -version验证)和Hadoop(如hadoop version验证),版本不符会导致兼容性问题。
  • 网络与主机名配置
    • 统一主机名:为新节点设置唯一主机名(如node04),并通过hostnamectl set-hostname node04生效。
    • 配置/etc/hosts文件:在集群所有节点(包括新节点)的/etc/hosts中添加IP与主机名的映射(如192.168.1.14 node04),确保主机名解析一致。
  • SSH免密登录:从主节点(如master)向新节点生成SSH密钥(ssh-keygen -t rsa -P ""),并将公钥(id_rsa.pub)追加到新节点的~/.ssh/authorized_keys中(ssh-copy-id user@newnode_ip),实现无密码远程操作。
  • 防火墙设置:关闭新节点的防火墙(systemctl stop firewalld)或开放Hadoop相关端口(如HDFS的50070、YARN的8088),避免通信阻断。

2. Hadoop配置同步

将主节点的Hadoop安装目录(如/opt/hadoop)拷贝到新节点的相同路径(scp -r /opt/hadoop user@newnode_ip:/opt/),并同步$HADOOP_HOME/etc/hadoop下的配置文件(如core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml),确保新节点配置与集群一致。

二、新增DataNode节点(横向扩展核心步骤)

1. 修改主节点配置文件

  • 添加节点到workers列表:编辑主节点的$HADOOP_HOME/etc/hadoop/workers文件(或旧版本的slaves文件),添加新节点的主机名(如node04),该文件用于批量启动DataNode服务。
  • 配置节点白名单(可选):若集群启用了dfs.hosts白名单(用于控制允许连接的DataNode),需编辑hdfs-site.xml,添加新节点到dfs.hosts指定的文件中(如/opt/hadoop/etc/hadoop/include),并同步该文件到所有节点。

2. 启动新节点服务

  • 在新节点上启动服务:登录新节点,依次启动DataNode和NodeManager服务(YARN的计算节点):
    $HADOOP_HOME/sbin/hadoop-daemon.sh start datanode
    $HADOOP_HOME/sbin/yarn-daemon.sh start nodemanager
    
  • 验证服务状态:通过jps命令查看新节点是否运行DataNodeNodeManager进程(如5813 DataNode5935 Jps)。

3. 触发数据平衡(可选但推荐)

新增节点后,HDFS数据不会自动均衡分布,需手动触发平衡操作:

  • 设置平衡带宽:提高数据传输速度(单位:字节/秒),避免影响集群正常运行:
    hdfs dfsadmin -setBalancerBandwidth 128000000  # 设置为128MB/s
    
  • 启动平衡器:执行平衡命令,-threshold参数指定阈值(如5表示各节点存储使用率差异不超过5%):
    hdfs balancer -threshold 5
    
  • 监控平衡进度:通过hdfs balancer -status查看平衡状态,直到提示“The cluster is balanced”为止。

三、新增NodeManager节点(扩展计算能力)

若需提升YARN的计算资源,可新增NodeManager节点(步骤与新增DataNode类似):

  1. 在新节点上安装Hadoop并配置环境。
  2. 将新节点主机名添加到主节点的workers文件中。
  3. 启动新节点的NodeManager服务(yarn-daemon.sh start nodemanager)。
  4. 访问ResourceManager Web界面(如http://resourcemanager_ip:8088),查看新节点是否加入集群。

四、验证扩容效果

  • 查看HDFS节点状态:通过命令hdfs dfsadmin -report查看集群中DataNode的数量及存储使用情况,或访问NameNode Web界面(如http://namenode_ip:9870/dfshealth.html)。
  • 查看YARN节点状态:访问ResourceManager Web界面(如http://resourcemanager_ip:8088/cluster/nodes),确认新增的NodeManager节点已在线。
  • 测试任务提交:提交一个简单的MapReduce任务(如hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 5 100),验证任务是否能正常调度到新节点执行。

五、注意事项

  • 版本一致性:所有节点的Hadoop、JDK版本必须一致,避免兼容性问题。
  • 配置同步:新增节点的配置文件(如core-site.xmlhdfs-site.xml)必须与集群完全一致,尤其是fs.defaultFS(NameNode地址)、dfs.replication(副本数)等关键参数。
  • 安全配置:若集群启用了Kerberos认证,需在新节点上配置相同的认证信息(如keytab文件)。
  • 监控资源:扩容后需通过YARN ResourceManager、HDFS NameNode等监控工具,观察集群的资源使用情况(CPU、内存、磁盘),及时调整配置(如yarn.nodemanager.resource.memory-mbdfs.datanode.handler.count)。

0