Ubuntu如何安装Hadoop物理机集群?

在Ubuntu物理机上搭建Hadoop集群,需准备多台机器,配置SSH免密登录、安装Java环境、部署Hadoop软件包,编辑核心配置文件(如core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml, workers),格式化HDFS并启动集群服务,最终实现分布式计算与存储。

Hadoop作为分布式计算的核心框架,在物理机集群上部署可充分发挥硬件性能,本文将基于Ubuntu系统,详细讲解从零构建高可用Hadoop集群的全流程,涵盖环境配置、分布式部署、安全优化及故障排查,适用于大数据工程师和运维人员。

Ubuntu如何安装Hadoop物理机集群?


前期准备

硬件与网络要求

  • 节点规划(示例):
    • 主节点(Master):1台(运行NameNode + ResourceManager)
    • 从节点(Slave):≥2台(运行DataNode + NodeManager)
  • 网络配置
    # 所有节点配置静态IP(示例)
    sudo nano /etc/netplan/01-netcfg.yaml
    # 添加内容:
    addresses: [192.168.1.10/24]  # Master节点IP
    # 执行生效:
    sudo netplan apply
  • 主机名映射(所有节点执行):
    sudo nano /etc/hosts
    # 添加:
    192.168.1.10 hadoop-master
    192.168.1.11 hadoop-slave1
    192.168.1.12 hadoop-slave2

系统环境配置

  • 创建专用用户(所有节点):
    sudo adduser hadoopuser  # 用户名自定义
    sudo usermod -aG sudo hadoopuser
  • SSH免密登录(Master节点执行):
    ssh-keygen -t rsa  # 连续回车生成密钥
    ssh-copy-id hadoopuser@hadoop-master
    ssh-copy-id hadoopuser@hadoop-slave1  # 依次配置所有Slave

依赖安装

sudo apt update && sudo apt install -y openjdk-11-jdk openssh-server pdsh
# 验证Java:
java -version  # 需≥Java 8

Hadoop集群安装与配置

下载并解压(所有节点)

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzvf hadoop-3.3.6.tar.gz -C /opt/
sudo mv /opt/hadoop-3.3.6 /opt/hadoop
sudo chown -R hadoopuser:hadoopuser /opt/hadoop

配置环境变量(所有节点)

编辑 ~/.bashrc

export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

生效配置:source ~/.bashrc

Ubuntu如何安装Hadoop物理机集群?

核心配置文件(Master节点操作)

  • $HADOOP_HOME/etc/hadoop/core-site.xml
    <configuration>
      <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop-master:9000</value>
      </property>
      <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/tmp</value>
      </property>
    </configuration>
  • $HADOOP_HOME/etc/hadoop/hdfs-site.xml
    <configuration>
      <property>
        <name>dfs.replication</name>
        <value>2</value>  <!-- 副本数≤Slave节点数 -->
      </property>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>/opt/hadoop/data/namenode</value>
      </property>
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>/opt/hadoop/data/datanode</value>
      </property>
    </configuration>
  • $HADOOP_HOME/etc/hadoop/mapred-site.xml
    <configuration>
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
    </configuration>
  • $HADOOP_HOME/etc/hadoop/yarn-site.xml
    <configuration>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop-master</value>
      </property>
    </configuration>
  • 从节点配置$HADOOP_HOME/etc/hadoop/workers):
    hadoop-slave1
    hadoop-slave2

同步配置到所有节点

scp -r /opt/hadoop/etc/hadoop/* hadoopuser@hadoop-slave1:/opt/hadoop/etc/hadoop/
scp -r /opt/hadoop/etc/hadoop/* hadoopuser@hadoop-slave2:/opt/hadoop/etc/hadoop/

启动集群与验证

格式化HDFS(仅首次,Master执行)

hdfs namenode -format  # 出现 "successfully formatted" 即成功

启动服务

# Master节点:
start-dfs.sh && start-yarn.sh
# 验证进程:
jps  # Master应有 NameNode/ResourceManager, Slave应有 DataNode/NodeManager

集群状态检查

  • Web UI
    • HDFS: http://hadoop-master:9870
    • YARN: http://hadoop-master:8088
  • 命令行验证
    hdfs dfsadmin -report  # 查看节点状态
    yarn node -list        # 检查YARN节点

运行测试任务

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar pi 2 4
# 输出 "Estimated value of Pi is" 表示成功

安全加固与维护

防火墙规则

sudo ufw allow 9000/tcp    # HDFS
sudo ufw allow 8088/tcp    # YARN
sudo ufw allow 9870/tcp    # HDFS Web
sudo ufw reload

定期维护命令

# 平衡数据分布
hdfs balancer -threshold 10
# 安全模式操作
hdfs dfsadmin -safemode enter/leave

关键日志路径

  • NameNode: $HADOOP_HOME/logs/hadoop-hadoopuser-namenode-*.log
  • DataNode: $HADOOP_HOME/logs/hadoop-hadoopuser-datanode-*.log

故障排查

  1. 节点无法启动
    • 检查 workers 文件主机名拼写
    • 确认 SSH 免密登录有效:ssh hadoop-slave1
  2. Web UI 无法访问
    • 验证防火墙状态:sudo ufw status
    • 检查端口监听:netstat -tuln | grep 9870
  3. 磁盘空间不足
    • 清理临时文件:hadoop fs -expunge
    • 调整数据目录:修改 hdfs-site.xmldfs.datanode.data.dir

通过本文步骤,您已成功在Ubuntu物理机上部署生产级Hadoop集群,建议定期备份NameNode元数据($HADOOP_HOME/data/namenode),并监控各节点资源使用情况,随着业务增长,可通过动态添加Slave节点实现横向扩展。

引用说明

Ubuntu如何安装Hadoop物理机集群?

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/45937.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月4日 22:36
下一篇 2025年7月4日 22:45

相关推荐

  • 虚拟机网卡物理网卡区别?

    物理网卡是计算机硬件设备,实现物理网络连接,虚拟机网卡是软件模拟的网络接口,供虚拟机内部使用并通过宿主机物理网卡与外部网络通信。

    2025年6月15日
    000
  • rac数据库如何安全更换物理机?

    RAC数据库更换物理机涉及将集群节点迁移至新服务器,核心步骤包括:准备兼容的新硬件环境、迁移存储配置、滚动安装并配置Oracle软件与集群件、逐个节点切换、迁移数据库实例,并全程确保高可用性与数据一致性,迁移后需严格验证集群功能与性能。

    2025年6月21日
    200
  • 绣花机物理扇区有坏块

    全面解析与应对指南当您的绣花机存储设备(通常是硬盘驱动器HDD或固态硬盘SSD)出现物理扇区坏块时,这意味着存储介质的某个微小物理区域发生了永久性损坏,这不是简单的软件错误,而是硬件层面的损伤,会导致数据读取或写入失败,这个问题需要高度重视,因为它直接威胁您的绣花图稿、机器设置和生产效率, 物理扇区坏块意味着什……

    2025年6月27日
    100
  • 单片机物理地址如何查找?,或,单片机物理地址有何作用?

    单片机物理地址是单片机内部存储单元或外设寄存器的实际硬件位置编号,CPU通过地址总线发送该唯一编码,直接访问对应的物理存储位置以读写数据或控制外设。

    2025年6月6日
    100
  • 物理机运行库藏身何处

    物理机的运行库通常位于操作系统指定的系统目录中:,* **Windows:** C:\Windows\System32、C:\Windows\SysWOW64(64位系统上的32位库)以及应用程序安装目录。,* **Linux/Unix:** /lib、/usr/lib、/usr/local/lib 等标准库目录。,运行时环境(如PATH或LD_LIBRARY_PATH)会按顺序在这些路径中搜索所需的库文件。

    2025年6月10日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN