首页主机资讯Ubuntu Hadoop应用如何部署

Ubuntu Hadoop应用如何部署

时间2025-12-01 15:51:04发布访客分类主机资讯浏览1320
导读:Ubuntu 上部署 Hadoop 的可执行指南 一 环境准备与规划 准备至少一台 Ubuntu 20.04/22.04 主机(虚拟机或物理机),建议内存 ≥4GB、磁盘 ≥50GB,并配置 静态 IP 或可解析的主机名。 安装 Java...

Ubuntu 上部署 Hadoop 的可执行指南

一 环境准备与规划

  • 准备至少一台 Ubuntu 20.04/22.04 主机(虚拟机或物理机),建议内存 ≥4GB、磁盘 ≥50GB,并配置 静态 IP 或可解析的主机名
  • 安装 Java 8(OpenJDK 8),Hadoop 3.x 系列对 Java 8 兼容性最好。
  • 创建专用用户(如 hadoop),并为后续 SSH 免密登录做准备。
  • 规划部署模式:
    • 单机模式(Local):仅用于学习 API,不启动 HDFS/YARN。
    • 伪分布式(Pseudo-Distributed):单机上运行所有守护进程,适合功能验证。
    • 完全分布式(Multi-Node):多台主机组成集群,适合生产或性能测试。

二 单机与伪分布式部署步骤

  • 安装 Java 与基础工具
    • 安装 JDK:sudo apt update & & sudo apt install -y openjdk-8-jdk
    • 验证:java -version、javac -version
  • 创建 Hadoop 用户与目录
    • sudo adduser hadoop & & sudo usermod -aG sudo hadoop
    • 建议将 Hadoop 安装至 /opt/hadoop(或 /usr/local/hadoop),并 chown -R hadoop:hadoop
  • 配置 SSH 免密登录(本机回环)
    • sudo apt install -y openssh-server
    • su - hadoop & & ssh-keygen -t rsa -P ‘’
    • cat ~/.ssh/id_rsa.pub > > ~/.ssh/authorized_keys & & chmod 600 ~/.ssh/authorized_keys
    • ssh localhost 测试无密码登录
  • 下载并解压 Hadoop(示例版本 3.3.6
    • wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
    • sudo tar -xzf hadoop-3.3.6.tar.gz -C /opt & & sudo mv /opt/hadoop-3.3.6 /opt/hadoop
  • 配置环境变量(~/.bashrc 或 /etc/profile.d/hadoop.sh)
    • export HADOOP_HOME=/opt/hadoop
    • export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    • 使生效:source ~/.bashrc
  • 配置 Hadoop 关键文件($HADOOP_HOME/etc/hadoop/)
    • hadoop-env.sh:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    • core-site.xml:
      • fs.defaultFShdfs://localhost:9000
    • hdfs-site.xml:
      • dfs.replication1
      • dfs.namenode.name.dir/opt/hadoop/hdfs/namenode
      • dfs.datanode.data.dir/opt/hadoop/hdfs/datanode
    • mapred-site.xml(若不存在先 cp mapred-site.xml.template mapred-site.xml):
      • mapreduce.framework.nameyarn
    • yarn-site.xml:
      • yarn.nodemanager.aux-servicesmapreduce_shuffle
      • yarn.nodemanager.env-whitelistJAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
  • 创建数据目录并赋权
    • sudo mkdir -p /opt/hadoop/hdfs/{ namenode,datanode}
    • sudo chown -R hadoop:hadoop /opt/hadoop/hdfs
  • 格式化 HDFS(仅首次)
    • hdfs namenode -format
  • 启动与验证
    • 启动:start-dfs.sh & & start-yarn.sh
    • 进程:jps 应看到 NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager
    • Web UI:HDFS NameNode http://localhost:9870;YARN http://localhost:8088
  • 运行示例 WordCount
    • hdfs dfs -mkdir -p /user/hadoop/input
    • hdfs dfs -put $HADOOP_HOME/README.txt /user/hadoop/input
    • hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /user/hadoop/input /user/hadoop/output
    • hdfs dfs -cat /user/hadoop/output/part-r-00000

三 完全分布式部署要点

  • 节点规划(示例三台):
    • master:NameNode、ResourceManager
    • slave1/slave2:DataNode、NodeManager
  • 基础网络与主机名
    • 每台机器设置唯一 /etc/hostname(如 master、slave1、slave2)
    • 统一 /etc/hosts(示例):
      • 192.168.1.10 master
      • 192.168.1.11 slave1
      • 192.168.1.12 slave2
  • 在所有节点创建 hadoop 用户,配置 SSH 免密登录(master 能免密登录各 slave,slave 之间可按需配置)
  • 安装与目录:各节点相同版本的 Java 8Hadoop 3.3.x,目录一致(如 /opt/hadoop)
  • 配置文件($HADOOP_HOME/etc/hadoop/)
    • core-site.xml:
      • fs.defaultFShdfs://master:9000
    • hdfs-site.xml:
      • dfs.replication2
      • dfs.namenode.name.dir/opt/hadoop/hdfs/namenode
      • dfs.datanode.data.dir/opt/hadoop/hdfs/datanode
    • yarn-site.xml:
      • yarn.resourcemanager.hostnamemaster
      • yarn.nodemanager.aux-servicesmapreduce_shuffle
    • workers(或 slaves):每行一个 slave 主机名(slave1、slave2)
  • 仅在 master 上格式化 NameNode:hdfs namenode -format
  • 启动与验证
    • master 执行:start-dfs.sh、start-yarn.sh
    • jps 在各节点核对进程;访问 http://master:9870(HDFS)、http://master:8088(YARN)
  • 常见问题
    • 主机名解析失败:检查 /etc/hosts 与 DNS
    • SSH 无法免密:权限 600/700、authorized_keys 内容一致
    • 多次格式化 NameNode:会导致 ClusterID 不一致,需清理数据目录或手动对齐 ClusterID 后再格式化

四 运维与常见问题

  • 常用命令
    • 启停:start-dfs.sh、start-yarn.sh;stop-dfs.sh、stop-yarn.sh
    • 单进程:hadoop-daemon.sh start namenode/datanode/secondarynamenode;yarn-daemon.sh start resourcemanager/nodemanager
    • 查看日志:$HADOOP_HOME/logs/(按组件名定位)
  • 端口与访问
    • HDFS NameNode:9870;YARN:8088;历史服务器(可选)19888
  • 权限与目录
    • 建议以 hadoop 用户运行;HDFS 目录权限与本地目录权限保持一致
    • 数据目录提前创建并赋权,避免启动失败
  • 性能与资源
    • 伪分布式副本数保持 1;完全分布式根据节点数设置 dfs.replication(通常 2~3)
    • 根据内存调整 yarn.nodemanager.resource.memory-mb 与容器内存参数,避免 OOM

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Hadoop应用如何部署
本文地址: https://pptw.com/jishu/760183.html
Ubuntu Hadoop通信如何加密 Ubuntu Hadoop性能如何评估

游客 回复需填写必要信息