Ubuntu Hadoop配置步骤是什么
小樊
34
2025-12-10 21:32:12
Ubuntu 上配置 Hadoop 的标准步骤
一 环境准备
- 创建专用用户(推荐):sudo addgroup hadoop && sudo adduser --ingroup hadoop hadoop,后续操作均在该用户下进行。
- 安装 Java(二选一):sudo apt update && sudo apt install openjdk-11-jdk(或 openjdk-8-jdk);验证:java -version。
- 安装 SSH 并配置免密登录:sudo apt-get install openssh-server;在每台机器执行 ssh-keygen -t rsa,将公钥(id_rsa.pub)追加到各节点的 ~/.ssh/authorized_keys,实现节点间免密互信(含本机 ssh localhost)。
- 规划目录:建议为 Hadoop 准备数据与临时目录,如 /usr/local/hadoop/data/{namenode,datanode} 或 ~/hadoop/{tmp,hdfs/{name,data}},并确保运行用户对目录有读写权限。
二 安装与环境变量
- 下载并解压 Hadoop(示例版本 3.3.x):
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
sudo tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-3.3.4 /usr/local/hadoop
sudo chown -R hadoop:hadoop /usr/local/hadoop
- 配置环境变量(~/.bashrc 或 /etc/profile.d/hadoop.sh):
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使生效:source ~/.bashrc(或 source /etc/profile)。
- 验证:hadoop version 应输出版本信息。
三 核心配置
- 配置文件路径:$HADOOP_HOME/etc/hadoop/。
- 关键配置示例:
- core-site.xml
fs.defaultFShdfs://localhost:9000
hadoop.tmp.dirfile:/usr/local/hadoop/tmp
- hdfs-site.xml(单机伪分布式用 1 副本;完全分布式按数据节点数设置)
dfs.replication1
dfs.namenode.name.dirfile:/usr/local/hadoop/hdfs/namenode
dfs.datanode.data.dirfile:/usr/local/hadoop/hdfs/datanode
- mapred-site.xml(由模板复制:cp mapred-site.xml.template mapred-site.xml)
mapreduce.framework.nameyarn
- yarn-site.xml
yarn.resourcemanager.hostnamelocalhost
yarn.nodemanager.aux-servicesmapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.classorg.apache.hadoop.mapred.ShuffleHandler
- hadoop-env.sh:显式设置 export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64(避免找不到 JDK)。
- workers(Hadoop 3.x 使用 workers 文件列出从节点主机名;单机可保留 localhost)。
四 启动与验证
- 首次启动前格式化 HDFS:hdfs namenode -format。
- 启动集群:start-dfs.sh 与 start-yarn.sh(或使用 start-all.sh 一次性启动)。
- 进程检查:jps 应看到 NameNode、DataNode、SecondaryNameNode(若配置)、ResourceManager、NodeManager。
- Web 界面:
- HDFS NameNode:Hadoop 2.x 常用 http://localhost:50070;Hadoop 3.x 使用 http://localhost:9870
- YARN ResourceManager:http://localhost:8088
- 基本 HDFS 验证:hdfs dfs -ls /;如有权限问题可先创建目录:hdfs dfs -mkdir -p /user/$USER。
五 常见问题与扩展
- Java 路径问题:若启动报找不到 JDK,优先在 hadoop-env.sh 中显式设置 JAVA_HOME;不同发行版 OpenJDK 路径可能不同(如 /usr/lib/jvm/java-11-openjdk-amd64)。
- SSH 免密失败:确认 authorized_keys 权限为 600,.ssh 目录权限为 700;必要时在本机先 ssh localhost 生成 .ssh 目录。
- 端口与主机名:确保 /etc/hosts 或 DNS 正确解析各节点主机名;云服务器需开放 9000/9870/8088 等端口的安全组规则。
- 完全分布式要点:
- 在 core-site.xml 将 fs.defaultFS 设为 hdfs://:9000;
- workers 文件列出所有从节点主机名;
- 在 master 能免密 SSH 到所有 slave;
- dfs.replication 建议与数据节点数一致;
- 首次只在 master 执行 namenode -format,然后 start-dfs.sh/start-yarn.sh 启动集群。