温馨提示×

Ubuntu Hadoop 怎样进行部署

小樊
36
2025-12-12 21:14:17
栏目: 智能运维

Ubuntu 上部署 Hadoop 的实用步骤

一 环境准备

  • 更新系统并安装基础软件:sudo apt update && sudo apt install -y openjdk-11-jdk openssh-server。
  • 配置 Java 环境变量(示例为 OpenJDK 11):编辑 ~/.bashrc,加入 export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/bin 执行 source ~/.bashrc 生效。
  • 配置 SSH 免密登录本机:ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa;cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys;chmod 0600 ~/.ssh/authorized_keys;可 ssh localhost 验证无需密码。

二 安装与目录规划

  • 下载并解压 Hadoop(示例版本为 3.3.4): wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz sudo tar -xzf hadoop-3.3.4.tar.gz -C /opt sudo mv /opt/hadoop-3.3.4 /opt/hadoop
  • 创建数据与临时目录(示例): sudo mkdir -p /opt/hadoop/data/hdfs/{namenode,datanode} sudo chown -R $USER:$USER /opt/hadoop
  • 配置环境变量(~/.bashrc 或 /etc/profile.d/hadoop.sh): export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source 使其生效。

三 核心配置

  • 编辑 $HADOOP_HOME/etc/hadoop/hadoop-env.sh: export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
  • 配置 core-site.xml: fs.defaultFS hdfs://localhost:9000
  • 配置 hdfs-site.xml(单机/伪分布建议副本为 1): dfs.replication 1 dfs.namenode.name.dir /opt/hadoop/data/hdfs/namenode dfs.datanode.data.dir /opt/hadoop/data/hdfs/datanode
  • 配置 mapred-site.xml(如文件不存在先 cp mapred-site.xml.template mapred-site.xml): mapreduce.framework.name yarn
  • 配置 yarn-site.xml: yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler

四 启动与验证

  • 首次启动前格式化 HDFS:hdfs namenode -format
  • 启动服务:start-dfs.sh 与 start-yarn.sh(或使用 start-all.sh)
  • 进程检查:jps 应看到 NameNode、DataNode、ResourceManager、NodeManager
  • Web 界面:
    • HDFS NameNode:http://localhost:50070
    • YARN ResourceManager:http://localhost:8088
  • 运行示例(确保已创建输入目录并放入文件): hdfs dfs -mkdir -p /user/$USER/input hdfs dfs -put $HADOOP_HOME/README.txt /user/$USER/input hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /user/$USER/input /user/$USER/output hdfs dfs -cat /user/$USER/output/part-r-00000
  • 停止服务:stop-dfs.sh 与 stop-yarn.sh

五 常见问题与扩展

  • 端口被占用:修改相应配置中的端口(如 fs.defaultFS 端口、ResourceManager 端口),或释放占用进程后重启。
  • 权限问题:确保 /opt/hadoop 与数据目录归属当前用户,必要时使用 chown/chmod 修正。
  • 内存不足:在 hadoop-env.sh 中调小 HADOOP_HEAPSIZE_MAX 等参数以适配单机资源。
  • 集群扩展思路:准备多台 Ubuntu 主机,统一 SSH 免密、统一 JAVA_HOME/HADOOP_HOME,在 workers(或旧版 slaves)中列出所有节点主机名,配置 core-site.xml/hdfs-site.xmlfs.defaultFS 与副本数,使用 start-dfs.sh/start-yarn.sh 启动集群,通过 http://<主节点IP>:50070http://<主节点IP>:8088 访问。

0