HDFS与CentOS集成配置指南
导读:HDFS与CentOS集成配置指南 一 环境准备与规划 操作系统与版本:建议使用 CentOS 7/8,确保内核与基础网络正常。 Java 环境:安装 OpenJDK 8(Hadoop 3.x 常用版本),并配置 JAVA_HOME。 主...
HDFS与CentOS集成配置指南
一 环境准备与规划
- 操作系统与版本:建议使用 CentOS 7/8,确保内核与基础网络正常。
- Java 环境:安装 OpenJDK 8(Hadoop 3.x 常用版本),并配置 JAVA_HOME。
- 主机规划:至少准备 1 个 NameNode + 多个 DataNode;可选 SecondaryNameNode。示例:
- 192.168.121.140 hadoop01(NameNode、DataNode、JobHistoryServer)
- 192.168.121.141 hadoop02(DataNode、ResourceManager)
- 192.168.121.142 hadoop03(DataNode、SecondaryNameNode、NodeManager)
- 基础配置:配置 /etc/hosts 主机名解析、开启 SSH 免密登录(主从互信)、建议启用 NTP 时间同步,并准备 Hadoop 安装包(如 hadoop-3.3.4.tar.gz)。
二 安装与基础配置
- 安装 Java
- 执行:
sudo yum install -y java-1.8.0-openjdk-devel - 验证:
java -version
- 执行:
- 安装 Hadoop
- 下载与解压:
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz - 解压:
tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/ & & mv /usr/local/hadoop-3.3.4 /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.d/hadoop.sh
- 内容:
- 配置 SSH 免密(主节点执行)
ssh-keygen -t rsassh-copy-id hadoop@hadoop01、ssh-copy-id hadoop@hadoop02、ssh-copy-id hadoop@hadoop03
- 目录准备(示例)
mkdir -p /usr/local/hadoop/data/{ namenode,datanode}
三 HDFS核心配置
- 配置 hadoop-env.sh
- 设置:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
- 设置:
- 配置 core-site.xml
< configuration> < property> < name> fs.defaultFS< /name> < value> hdfs://hadoop01:9000< /value> < /property> < /configuration> - 配置 hdfs-site.xml
< configuration> < property> < name> dfs.replication< /name> < value> 3< /value> < /property> < property> < name> dfs.namenode.name.dir< /name> < value> /usr/local/hadoop/data/namenode< /value> < /property> < property> < name> dfs.datanode.data.dir< /name> < value> /usr/local/hadoop/data/datanode< /value> < /property> < property> < name> dfs.permissions.enabled< /name> < value> false< /value> < /property> < /configuration> - 配置 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> hadoop02< /value> < /property> < /configuration> - 说明
- 单节点/测试可将副本数设为 1;生产环境建议 3。
- 若使用 Hadoop 3.3+ 且启用 8020 RPC 端口,可将 fs.defaultFS 改为 hdfs://hadoop01:8020 并同步开放端口。
四 启动与验证
- 首次启动前
- 在 NameNode 执行:
hdfs namenode -format
- 在 NameNode 执行:
- 启动服务
- 启动 HDFS:
start-dfs.sh - 启动 YARN:
start-yarn.sh
- 启动 HDFS:
- 进程与连通性检查
- 进程:
jps(应见到 NameNode/DataNode/SecondaryNameNode/ResourceManager/NodeManager 等) - 报告:
hdfs dfsadmin -report - CLI 测试:
hdfs dfs -ls /
- 进程:
- Web 界面
- HDFS NameNode:http://hadoop01:50070
- YARN ResourceManager:http://hadoop02:8088
- 常见问题
- 无法访问 Web:检查 防火墙/安全组 与 主机名解析。
- DataNode 未注册:核对 dfs.datanode.data.dir 权限与目录存在、网络互通、时间同步。
五 网络与防火墙及客户端集成
- 防火墙放行(示例为 firewalld)
- 放行常用端口:
firewall-cmd --permanent --zone=public --add-port=9000/tcp firewall-cmd --permanent --zone=public --add-port=50010/tcp firewall-cmd --permanent --zone=public --add-port=50020/tcp firewall-cmd --permanent --zone=public --add-port=50070/tcp firewall-cmd --permanent --zone=public --add-port=50075/tcp firewall-cmd --permanent --zone=public --add-port=50090/tcp firewall-cmd --reload - 如使用 8020/8042/8088/8030-8033 等端口,也需一并放行。
- 放行常用端口:
- 主机名与 hosts
- 所有节点配置 /etc/hosts,确保 namenode/resourcemanager 等主机名可解析。
- 客户端集成
- 将 core-site.xml/hdfs-site.xml 分发到客户端 $HADOOP_CONF_DIR(或应用 classpath),保持与集群一致。
- CLI 使用:
hdfs dfs -put /local/file /hdfs/path、hdfs dfs -get /hdfs/file /local/path - Java 应用依赖(Maven):
< dependency> < groupId> org.apache.hadoop< /groupId> < artifactId> hadoop-client< /artifactId> < version> 3.3.4< /version> < /dependency>
- 安全建议
- 生产环境建议开启 HDFS 权限(dfs.permissions.enabled=true) 并配置 Kerberos;测试环境可临时关闭权限。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: HDFS与CentOS集成配置指南
本文地址: https://pptw.com/jishu/773001.html
