Ubuntu HDFS配置有哪些关键点
导读:Ubuntu环境下HDFS配置的关键点可分为基础环境、核心配置、目录管理、服务启动及高可用扩展五大类,以下是具体说明: 1. 基础环境准备 Java环境:HDFS依赖Java运行,需安装OpenJDK(推荐1.8或11版本),并通过jav...
Ubuntu环境下HDFS配置的关键点可分为基础环境、核心配置、目录管理、服务启动及高可用扩展五大类,以下是具体说明:
1. 基础环境准备
- Java环境:HDFS依赖Java运行,需安装OpenJDK(推荐1.8或11版本),并通过
java -version
验证安装。配置JAVA_HOME
环境变量(如export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
),确保Hadoop能定位Java路径。 - Hadoop安装:从Apache官网下载稳定版本(如3.3.x),解压至指定目录(如
/usr/local/hadoop
),并通过hadoop version
验证安装。 - SSH无密码登录:在集群节点间配置SSH免密(
ssh-keygen -t rsa
生成密钥,ssh-copy-id
分发公钥),确保NameNode能自动启动DataNode等远程服务。
2. 核心配置文件设置
HDFS的关键配置集中在$HADOOP_HOME/etc/hadoop
目录下的core-site.xml
和hdfs-site.xml
文件中:
- core-site.xml:定义HDFS的默认文件系统地址(
fs.defaultFS
,如hdfs://localhost:9000
)和临时目录(hadoop.tmp.dir
,如/usr/local/hadoop/tmp
),是HDFS的基础配置。 - hdfs-site.xml:配置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
)。
3. 关键目录管理
- 创建数据目录:根据
hdfs-site.xml
中的路径创建NameNode和DataNode的存储目录(如sudo mkdir -p /usr/local/hadoop/hdfs/namenode
),并修改所有权为Hadoop运行用户(如sudo chown -R hadoop:hadoop /usr/local/hadoop/hdfs
)。 - 格式化NameNode:首次启动前需执行
hdfs namenode -format
,初始化NameNode的元数据存储结构(注意:格式化会清除已有数据,仅首次启动需要)。
4. 服务启动与验证
- 启动HDFS:使用
start-dfs.sh
脚本启动HDFS集群,该命令会自动启动NameNode、DataNode等进程。 - 验证状态:通过
jps
命令查看进程(应存在NameNode、DataNode);或访问Web界面(默认http://localhost:50070
,Hadoop 3.x为http://localhost:9870
),确认HDFS状态正常。
5. 高可用(HA)配置(可选但生产必备)
若需提升HDFS可靠性,需配置高可用集群,关键步骤包括:
- 修改core-site.xml:设置
fs.defaultFS
为集群名称(如hdfs://mycluster
),并指定ZooKeeper集群地址(ha.zookeeper.quorum
,如zk1:2181,zk2:2181,zk3:2181
)。 - 修改hdfs-site.xml:定义NameNode服务名称(
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
)。 - 配置ZooKeeper与JournalNode:启动ZooKeeper集群(
zkServer.sh start
),格式化JournalNode(hdfs namenode -formatJournalNode
),并在其中一个NameNode上初始化HA状态(hdfs namenode -initializeSharedEdits
)。 - 启动HA集群:先启动JournalNode(
hdfs --daemon start journalnode
),再初始化共享日志(hdfs namenode -bootstrapStandby
),最后启动HDFS(start-dfs.sh
)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu HDFS配置有哪些关键点
本文地址: https://pptw.com/jishu/728884.html