HDFS集群在Linux如何搭建
导读:一、环境准备 节点规划:至少需要1台NameNode(主节点,负责元数据管理)和2台及以上DataNode(从节点,负责数据存储),建议使用CentOS或Ubuntu等稳定Linux发行版。 网络配置:确保所有节点在同一局域网内,可通过p...
一、环境准备
- 节点规划:至少需要1台NameNode(主节点,负责元数据管理)和2台及以上DataNode(从节点,负责数据存储),建议使用CentOS或Ubuntu等稳定Linux发行版。
- 网络配置:确保所有节点在同一局域网内,可通过
ping
命令互相访问;关闭防火墙或开放Hadoop所需端口(如NameNode的9000端口、DataNode的50010/50020端口、Web界面的50070端口)。 - Java环境:Hadoop基于Java开发,需在所有节点安装JDK(推荐OpenJDK 8)。安装命令示例:
sudo apt-get update & & sudo apt-get install openjdk-8-jdk
;验证安装:java -version
,需显示Java版本信息。
二、Hadoop安装
- 下载与解压:从Apache Hadoop官网下载稳定版本(如3.3.1),解压到指定目录(如
/usr/local/
)。命令示例:wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
;tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/
。 - 配置环境变量:编辑
~/.bashrc
(或/etc/profile
)文件,添加以下内容:
使配置生效:export HADOOP_HOME=/usr/local/hadoop-3.3.1 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bashrc
(或source /etc/profile
)。
三、配置HDFS核心文件
- core-site.xml:配置HDFS默认文件系统和NameNode地址,文件路径为
$HADOOP_HOME/etc/hadoop/core-site.xml
。内容示例:< configuration> < property> < name> fs.defaultFS< /name> < value> hdfs://namenode:9000< /value> < !-- namenode替换为NameNode节点的主机名或IP --> < /property> < /configuration> ```。
- hdfs-site.xml:配置NameNode/DataNode数据目录及副本数,文件路径为
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
。内容示例:< configuration> < property> < name> dfs.replication< /name> < value> 3< /value> < !-- 副本数,根据集群规模调整(生产环境建议3) --> < /property> < property> < name> dfs.namenode.name.dir< /name> < value> /usr/local/hadoop-3.3.1/data/namenode< /value> < !-- NameNode元数据存储目录 --> < /property> < property> < name> dfs.datanode.data.dir< /name> < value> /usr/local/hadoop-3.3.1/data/datanode< /value> < !-- DataNode数据存储目录 --> < /property> < /configuration> ```。
- slaves文件(可选):指定DataNode节点列表,文件路径为
$HADOOP_HOME/etc/hadoop/slaves
。内容示例(每行一个DataNode主机名或IP):
若未配置此文件,启动集群时需手动指定DataNode节点。datanode1 datanode2 datanode3
四、配置SSH免密登录
- 生成密钥对:在NameNode节点上执行
ssh-keygen -t rsa
(连续按回车键,默认保存路径为~/.ssh/id_rsa
)。 - 复制公钥到其他节点:将NameNode的公钥复制到所有DataNode节点,命令示例:
ssh-copy-id user@datanode1
(user
为节点用户名,datanode1
为DataNode节点主机名或IP);重复此步骤,将公钥复制到所有DataNode节点。 - 验证免密登录:执行
ssh datanode1
,若无需输入密码即可登录,则配置成功。
五、格式化NameNode
在NameNode节点上执行hdfs namenode -format
命令,初始化HDFS元数据存储目录(此操作会清除已有数据,请谨慎执行)。
六、启动HDFS集群
- 启动集群:在NameNode节点上执行
start-dfs.sh
命令,自动启动NameNode和所有DataNode节点。 - 验证启动状态:
- 使用
hdfs dfsadmin -report
命令查看集群节点状态(显示所有DataNode的信息)。 - 访问NameNode Web界面:
http://namenode:50070
(namenode
替换为NameNode节点的主机名或IP),查看集群概览。
- 使用
七、可选:高可用性(HA)配置 若需提升集群可靠性,可配置HDFS HA(包含NameNode冗余、ZooKeeper集群、Quorum Journal Manager等组件),具体步骤参考Hadoop官方文档。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: HDFS集群在Linux如何搭建
本文地址: https://pptw.com/jishu/730797.html