如何在 Debian 上使用 Hadoop 工具
导读:在 Debian 上使用 Hadoop 工具 一 环境准备 安装 Java(Hadoop 3.x 建议使用 OpenJDK 8 或 11): 安装 OpenJDK 11:sudo apt update && sudo a...
在 Debian 上使用 Hadoop 工具
一 环境准备
- 安装 Java(Hadoop 3.x 建议使用 OpenJDK 8 或 11):
- 安装 OpenJDK 11:sudo apt update & & sudo apt install -y openjdk-11-jdk
- 验证:java -version
- 安装与配置 SSH(用于节点间通信与启动脚本):
- 安装:sudo apt install -y openssh-server
- 生成密钥:ssh-keygen -t rsa -P “”
- 免密登录本机:cat ~/.ssh/id_rsa.pub > > ~/.ssh/authorized_keys & & ssh localhost
- 创建专用用户(可选但推荐):sudo adduser hadoop & & sudo usermod -aG sudo hadoop
- 规划主机名与网络(多机集群时):
- 在 /etc/hosts 中写入各节点 IP 与主机名(如 master、worker1…)
- 确保各节点之间可通过主机名互相 SSH 登录
二 安装与配置 Hadoop
- 下载并解压(示例为 3.3.1,可按需替换为更新稳定版):
- wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
- sudo tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/
- sudo mv /usr/local/hadoop-3.3.1 /usr/local/hadoop
- 设置环境变量(对所有节点配置,建议写入 /etc/profile.d/hadoop.sh):
- export HADOOP_HOME=/usr/local/hadoop
- export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- 使生效:source /etc/profile 或 source ~/.bashrc
- 配置 Hadoop 环境脚本($HADOOP_HOME/etc/hadoop/hadoop-env.sh):
- 设置 JAVA_HOME(按实际路径):export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
- 核心配置文件($HADOOP_HOME/etc/hadoop/):
- core-site.xml
- - fs.defaultFShdfs://master:9000 -
- hdfs-site.xml
- - dfs.replication1 - dfs.namenode.name.dir/usr/local/hadoop/hdfs/name - dfs.datanode.data.dir/usr/local/hadoop/hdfs/data -
- mapred-site.xml
- - mapreduce.framework.nameyarn -
- yarn-site.xml
- - yarn.nodemanager.aux-servicesmapreduce_shuffle - yarn.nodemanager.aux-services.mapreduce.shuffle.classorg.apache.hadoop.mapred.ShuffleHandler - yarn.resourcemanager.hostnamemaster -
- core-site.xml
- 创建数据目录并授权(示例):
- sudo mkdir -p /usr/local/hadoop/hdfs/{ name,data}
- sudo chown -R hadoop:hadoop /usr/local/hadoop
三 启动与验证
- 格式化 HDFS(仅在 NameNode 执行一次):hdfs namenode -format
- 启动集群:
- 启动 HDFS:start-dfs.sh
- 启动 YARN:start-yarn.sh
- 进程检查:
- jps(应看到 NameNode、DataNode、ResourceManager、NodeManager 等进程)
- 访问 Web UI:
- NameNode:http://master:9870
- ResourceManager:http://master:8088
- 基本连通性验证:
- hadoop version
- hdfs dfsadmin -report
四 运行示例作业
- 准备输入数据到 HDFS:
- hdfs dfs -mkdir -p /input
- hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input
- 提交 WordCount(示例 JAR 路径随版本变化,请按实际调整):
- hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input /output
- 查看结果:
- hdfs dfs -cat /output/part-r-00000
- 注意:输出目录 /output 必须不存在,否则作业会报错
五 常见问题与优化
- 目录权限与路径:确保 HADOOP_HOME、HDFS 数据目录 所属用户为运行 Hadoop 的用户(如 hadoop),否则可能启动失败或无法写入
- SSH 免密:多机部署时,主节点需对 所有工作节点 执行 ssh-copy-id,保证 start-dfs.sh/start-yarn.sh 能无密登录
- Java 版本匹配:Hadoop 3.3.x 与 OpenJDK 8/11 均可用,避免混用不同厂商 JDK;hadoop-env.sh 中的 JAVA_HOME 必须与实际安装路径一致
- 防火墙与端口:开放 9870(NameNode UI)、8088(YARN UI)、9000(HDFS RPC) 等端口,或在内网环境关闭防火墙
- 资源与性能:
- 合理设置 dfs.replication(单机测试用 1,生产建议 ≥ 3)
- 根据内存与 CPU 为 YARN 配置容器资源(如 yarn.nodemanager.resource.memory-mb、yarn.scheduler.maximum-allocation-mb)
- 作业优化:使用高效数据格式(如 Parquet/ORC)、合理设置 Map/Reduce 数量、分区与分桶等以加速处理
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在 Debian 上使用 Hadoop 工具
本文地址: https://pptw.com/jishu/758388.html
