Ubuntu环境下HDFS配置的关键点可分为基础环境、核心配置、目录管理、服务启动及高可用扩展五大类,以下是具体说明:
java -version验证安装。配置JAVA_HOME环境变量(如export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64),确保Hadoop能定位Java路径。/usr/local/hadoop),并通过hadoop version验证安装。ssh-keygen -t rsa生成密钥,ssh-copy-id分发公钥),确保NameNode能自动启动DataNode等远程服务。HDFS的关键配置集中在$HADOOP_HOME/etc/hadoop目录下的core-site.xml和hdfs-site.xml文件中:
fs.defaultFS,如hdfs://localhost:9000)和临时目录(hadoop.tmp.dir,如/usr/local/hadoop/tmp),是HDFS的基础配置。dfs.replication,单机环境设为1,集群环境建议≥3)、NameNode元数据存储路径(dfs.namenode.name.dir,如/usr/local/hadoop/hdfs/namenode)、DataNode数据存储路径(dfs.datanode.data.dir,如/usr/local/hadoop/hdfs/datanode)。hdfs-site.xml中的路径创建NameNode和DataNode的存储目录(如sudo mkdir -p /usr/local/hadoop/hdfs/namenode),并修改所有权为Hadoop运行用户(如sudo chown -R hadoop:hadoop /usr/local/hadoop/hdfs)。hdfs namenode -format,初始化NameNode的元数据存储结构(注意:格式化会清除已有数据,仅首次启动需要)。start-dfs.sh脚本启动HDFS集群,该命令会自动启动NameNode、DataNode等进程。jps命令查看进程(应存在NameNode、DataNode);或访问Web界面(默认http://localhost:50070,Hadoop 3.x为http://localhost:9870),确认HDFS状态正常。若需提升HDFS可靠性,需配置高可用集群,关键步骤包括:
fs.defaultFS为集群名称(如hdfs://mycluster),并指定ZooKeeper集群地址(ha.zookeeper.quorum,如zk1:2181,zk2:2181,zk3:2181)。dfs.nameservices,如mycluster)、NameNode节点列表(dfs.ha.namenodes.mycluster,如nn1,nn2)、RPC地址(dfs.namenode.rpc-address.mycluster.nn1,如nn1_host:8020)、共享编辑日志路径(dfs.namenode.shared.edits.dir,如qjournal://jn1:8485;jn2:8485;jn3:8485/mycluster)、故障转移代理(dfs.client.failover.proxy.provider.mycluster,如org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider)。zkServer.sh start),格式化JournalNode(hdfs namenode -formatJournalNode),并在其中一个NameNode上初始化HA状态(hdfs namenode -initializeSharedEdits)。hdfs --daemon start journalnode),再初始化共享日志(hdfs namenode -bootstrapStandby),最后启动HDFS(start-dfs.sh)。