Linux环境下Hadoop如何配置
导读:Linux环境下Hadoop配置全流程 一 环境准备 操作系统与依赖 选择常见的 Ubuntu/CentOS/Debian 等发行版,建议至少 4GB 内存、20GB 磁盘(便于开发与测试)。 安装 Java 8 或 11(Hadoop...
Linux环境下Hadoop配置全流程
一 环境准备
- 操作系统与依赖
- 选择常见的 Ubuntu/CentOS/Debian 等发行版,建议至少 4GB 内存、20GB 磁盘(便于开发与测试)。
- 安装 Java 8 或 11(Hadoop 3.x 常用 OpenJDK 8)。示例:
sudo apt update & & sudo apt install openjdk-8-jdk,验证:java -version。
- SSH 服务与免密
- 安装 SSH 服务:
sudo apt install openssh-server。 - 生成密钥并配置本机免密:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa,cat ~/.ssh/id_rsa.pub > > ~/.ssh/authorized_keys,chmod 0600 ~/.ssh/authorized_keys,验证:ssh localhost无需密码即可登录。
- 安装 SSH 服务:
二 安装与环境变量
- 下载与解压
- 从 Apache Hadoop 官网下载稳定版本(如 3.3.1),解压到目标目录(如 /opt 或 /usr/local):
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gzsudo tar -xzvf hadoop-3.3.1.tar.gz -C /opt
- 从 Apache Hadoop 官网下载稳定版本(如 3.3.1),解压到目标目录(如 /opt 或 /usr/local):
- 配置环境变量
- 编辑
~/.bashrc(或/etc/profile.d/hadoop.sh):export HADOOP_HOME=/opt/hadoop-3.3.1export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- 使配置生效:
source ~/.bashrc。以上步骤完成后即可在任意目录使用hdfs、yarn等命令。
- 编辑
三 核心配置
- 配置目录与文件
- 进入
$HADOOP_HOME/etc/hadoop,重点编辑:hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、workers。
- 进入
- 关键配置示例(单机伪分布式,便于开发测试)
- hadoop-env.sh:设置 JAVA_HOME(示例:
/usr/lib/jvm/java-8-openjdk-amd64或/usr/java/jdk1.8.0_xxx)。 - core-site.xml:
< configuration> < property> < name> fs.defaultFS< /name> < value> hdfs://localhost:9000< /value> < /property> < property> < name> hadoop.tmp.dir< /name> < value> /usr/local/hadoop-3.3.1/tmp< /value> < /property> < /configuration> - hdfs-site.xml:
< configuration> < property> < name> dfs.replication< /name> < value> 1< /value> < /property> < property> < name> dfs.namenode.name.dir< /name> < value> file:/usr/local/hadoop-3.3.1/hadoop_data/hdfs/namenode< /value> < /property> < property> < name> dfs.datanode.data.dir< /name> < value> file:/usr/local/hadoop-3.3.1/hadoop_data/hdfs/datanode< /value> < /property> < /configuration> - mapred-site.xml(若不存在可复制模板
cp mapred-site.xml.template mapred-site.xml):< configuration> < property> < name> mapreduce.framework.name< /name> < value> yarn< /value> < /property> < /configuration> - yarn-site.xml:
< configuration> < property> < name> yarn.nodemanager.aux-services< /name> < value> mapreduce_shuffle< /value> < /property> < property> < name> yarn.nodemanager.aux-services.mapreduce.shuffle.class< /name> < value> org.apache.hadoop.mapred.ShuffleHandler< /value> < /property> < property> < name> yarn.resourcemanager.hostname< /name> < value> localhost< /value> < /property> < /configuration> - workers(单机保留
localhost;伪分布式与完全分布式见下一节)。
- hadoop-env.sh:设置 JAVA_HOME(示例:
四 启动与验证
- 首次启动前
- 格式化 HDFS(仅首次):
hdfs namenode -format
- 格式化 HDFS(仅首次):
- 启动服务
- 启动 HDFS 与 YARN:
start-dfs.shstart-yarn.sh
- 或使用统一脚本:
start-all.sh
- 启动 HDFS 与 YARN:
- 验证
- 进程检查:
jps,应看到 NameNode、DataNode、ResourceManager、NodeManager(单机伪分布式四者均在本机)。 - HDFS 可用性:
hdfs dfs -ls / - Web 界面(默认端口,视版本与配置可能不同):
- HDFS NameNode:http://localhost:50070
- YARN ResourceManager:http://localhost:8088
- 停止服务:
stop-dfs.sh、stop-yarn.sh或stop-all.sh。
- 进程检查:
五 常见问题与扩展
- 完全分布式快速要点
- 规划节点角色(示例三节点):
- 192.168.36.121 hadoop1:NameNode、DataNode、ResourceManager、NodeManager
- 192.168.36.122 hadoop2:DataNode、NodeManager
- 192.168.36.123 hadoop3:SecondaryNameNode、DataNode、NodeManager
- 所有节点配置 /etc/hosts 映射,安装 JDK 并统一 HADOOP_HOME 与目录结构。
- 配置
core-site.xml的fs.defaultFS为主节点(如hdfs://hadoop1:8020),workers写入所有 DataNode 主机名(每行一个)。 - 主节点配置到所有节点的 SSH 免密登录,便于启停集群。
- 仅在 NameNode 执行
hdfs namenode -format,随后在主节点启动集群并验证进程与 Web 界面。
- 规划节点角色(示例三节点):
- 目录与权限
- 确保
hadoop.tmp.dir、dfs.namenode.name.dir、dfs.datanode.data.dir等目录存在且 Hadoop 运行用户 有读写权限。
- 确保
- 版本与兼容性
- Hadoop 3.x 推荐使用 JDK 8 或 11;不同发行版与版本在默认端口、服务名上可能存在差异,建议以实际环境为准。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux环境下Hadoop如何配置
本文地址: https://pptw.com/jishu/766592.html
