环境依赖安装
yum install -y java-1.8.0-openjdk-devel安装,安装后设置环境变量JAVA_HOME(如export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk),并添加至/etc/profile使配置生效。/opt/hadoop-3.2.4),并通过chown -R hadoop:hadoop /opt/hadoop-3.2.4设置所有权。网络与主机配置
192.168.1.1,DataNode为192.168.1.2),编辑/etc/hosts文件将IP与主机名映射(如192.168.1.1 master,192.168.1.2 slave1),确保节点间可通过主机名互相访问。ssh-keygen -t rsa),并将公钥复制到所有DataNode(ssh-copy-id slave1),实现节点间无密码通信。时间同步
yum install -y ntp),在NameNode上启动NTP服务(systemctl start ntpd),并在所有DataNode上执行ntpdate master同步时间,避免因时间差异导致数据不一致。HDFS的核心配置文件位于$HADOOP_HOME/etc/hadoop目录下,主要包括core-site.xml、hdfs-site.xml,需根据业务需求调整参数。
core-site.xml(基础配置)
hdfs://<namenode-hostname>:<port>(如hdfs://master:9000),是HDFS服务的入口。/tmp/hadoop),需确保该目录有足够空间且权限正确(chmod -R 755 /tmp/hadoop)。hdfs-site.xml(HDFS核心参数)
dfs.replication设置文件副本数量(生产环境建议3个,测试环境可调整为2个),影响数据容错能力。dfs.namenode.name.dir,如/opt/hadoop/hdfs/namenode)和DataNode(dfs.datanode.data.dir,如/opt/hadoop/hdfs/datanode)的数据存储目录,需使用绝对路径且目录需提前创建。dfs.blocksize调整HDFS块大小(默认128MB,大数据场景可调整为256MB或512MB,提升并行处理效率)。高可用性(HA)配置
若需实现NameNode高可用,需额外配置dfs.nameservices、dfs.ha.namenodes、dfs.namenode.shared.edits.dir等参数:
dfs.nameservices定义集群名称(如mycluster)。dfs.ha.namenodes.mycluster指定多个NameNode(如nn1,nn2),并为每个NameNode配置RPC地址(dfs.namenode.rpc-address.mycluster.nn1)和HTTP地址(dfs.namenode.http-address.mycluster.nn1)。dfs.namenode.shared.edits.dir配置JournalNode的共享目录(如qjournal://jn1:8485;jn2:8485;jn3:8485/mycluster),用于同步NameNode元数据。dfs.client.failover.proxy.provider.mycluster(指定故障转移代理)和dfs.ha.fencing.methods(如sshfence,用于隔离故障NameNode),确保自动故障切换。YARN集成配置
若使用YARN作为资源管理器,需配置yarn-site.xml(设置ResourceManager地址yarn.resourcemanager.hostname)和mapred-site.xml(指定MapReduce框架为YARNmapreduce.framework.name=yarn),实现HDFS与YARN的资源协同。
格式化NameNode
首次启动HDFS或在NameNode数据目录变更后,需执行hdfs namenode -format格式化NameNode(注意:此操作会清除原有数据,仅首次启动需执行)。
启动集群
start-dfs.sh,启动NameNode、DataNode服务。start-yarn.sh,启动ResourceManager、NodeManager服务。验证配置
jps命令检查进程是否启动(NameNode节点应看到NameNode进程,DataNode节点应看到DataNode进程)。http://namenode-hostname:50070),查看集群状态、存储容量等信息。hdfs dfs -mkdir /test创建目录、hdfs dfs -put localfile /test上传文件),验证HDFS功能是否正常。/opt/hadoop、/tmp/hadoop)需设置为hadoop用户所有,避免权限问题导致服务异常。core-site.xml、hdfs-site.xml等配置文件,避免配置丢失。