Hadoop的core-site.xml配置文件里的fs.default.name和fs.defaultFS

在hadoop的配置文件 core-site.xml中,需要设置 fs.default.name 或 fs.defaultFS ,具体应该使用哪一个,会造什么样的错误,需要在实际操作中去验证。官网有下面这段描述

原文中文core-site.xml所在目录
This section deals with important parameters to be specified in the given configuration files本节讨论在给定的配置文件中指定的重要参数etc/hadoop/core-site.xml
ParameterValueNotes
fs.defaultFSNameNode URIhdfs://host:port/
io.file.buffer.size131072Size of read/write buffer used in SequenceFiles.
We need to have only one of the two (fs.default.name or fs.defaultFS, and the former is deprecated). If both are present then NN HA will be enabled/disabled based on what is read first.

Following is description from NN HA in Apache docs:

fs.defaultFS - the default path prefix used by the Hadoop FS client when none is given.
Optionally, you may now configure the default path for Hadoop clients to use the new HA-enabled logical URI. If you used "mycluster" as the nameservice ID earlier, this will be the value of the authority portion of all of your HDFS paths. This may be configured like so, in your core-site.xml file:

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://mycluster</value>
</property>

从文档中可以看出,使用 fs.default.name 还是 使用 fs.defaultFS ,要首先判断是否开启了 NN 的HA (namenode 的 highavaliable),如果开启了NN HA,那么就用fs.defaultFS,在单一namenode的情况下,就用 fs.default.name , 如果在单一namenode节点的情况使用 fs.defaultFS ,系统将报

20/05/17 10:34:33 ERROR namenode.NameNode: Failed to start namenode.
java.lang.IllegalArgumentException: Invalid URI for NameNode address (check fs.defaultFS): file:/// has no authority.
        at org.apache.hadoop.hdfs.DFSUtilClient.getNNAddress(DFSUtilClient.java:626)
        at org.apache.hadoop.hdfs.DFSUtilClient.getNNAddressCheckLogical(DFSUtilClient.java:655)
        at org.apache.hadoop.hdfs.DFSUtilClient.getNNAddress(DFSUtilClient.java:617)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.getRpcServerAddress(NameNode.java:563)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.loginAsNameNodeUser(NameNode.java:694)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:714)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:953)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:932)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.j

hadoop查看配置的 fs.default.name名字:
hdfs getconf -confKey fs.default.name

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Hadoop是一个分布式计算系统,它的核心是由一组配置文件组成的。这些文件包括core-site.xmlhadoop-env.sh、hdfs-site.xml、mapred-site.xml、workers和yarn-site.xml。在下面的文章中,我们将详细介绍每个文件的作用和用途。 1. core-site.xml core-site.xmlHadoop的核心配置文件之一。它包含了关于Hadoop分布式文件系统(HDFS)和MapReduce框架的配置信息。其中最重要的是Hadoop的默认文件系统,这通常是HDFS。此外,该文件还包含了Hadoop所需的一些基本信息,例如Hadoop集群的名称和Hadoop的缓存目录等。在该文件中,可以配置以下参数: fs.defaultFS:指定Hadoop的默认文件系统,通常是HDFShadoop.tmp.dir:指定Hadoop的缓存目录,用来存储临时文件。 io.file.buffer.size:指定文件读写缓冲区的大小。 ipc.client.connect.timeout:指定客户端连接服务器的超时时间。 ipc.client.connection.maxidletime:指定客户端连接最大空闲时间。 2. hadoop-env.sh hadoop-env.sh是Hadoop的环境变量文件。它包含了Hadoop所需的环境变量信息。该文件的作用是设置Hadoop所需的JDK路径、Hadoop的类路径和其他一些环境变量。在该文件中,可以配置以下参数: JAVA_HOME:指定JDK的安装路径。 HADOOP_HOME:指定Hadoop的安装路径。 HADOOP_CONF_DIR:指定Hadoop配置文件所在的目录。 HADOOP_CLASSPATH:指定Hadoop的类路径。 HADOOP_OPTS:指定Hadoop的JVM参数。 3. hdfs-site.xml hdfs-site.xmlHadoop分布式文件系统(HDFS)的配置文件。它包含了与HDFS相关的配置信息,例如HDFS的副本数、块大小和数据节点等。在该文件中,可以配置以下参数: dfs.replication:指定HDFS中每个数据块的副本数。 dfs.blocksize:指定HDFS的块大小。 dfs.namenode.name.dir:指定HDFS名称节点的数据存储目录。 dfs.datanode.data.dir:指定HDFS数据节点的数据存储目录。 dfs.permissions.enabled:指定是否启用HDFS的权限控制。 4. mapred-site.xml mapred-site.xmlHadoop MapReduce框架的配置文件。它包含了与MapReduce相关的配置信息,例如MapReduce任务的最大尝试次数、任务跟踪器和任务调度器等。在该文件中,可以配置以下参数: mapreduce.framework.name:指定MapReduce框架的名称。 mapreduce.jobtracker.address:指定MapReduce任务跟踪器的地址。 mapreduce.tasktracker.http.address:指定MapReduce任务调度器的地址。 mapreduce.map.maxattempts:指定MapReduce任务最大尝试次数。 mapreduce.reduce.maxattempts:指定MapReduce任务最大尝试次数。 5. workers workers是Hadoop集群的工作节点列表。该文件列出了所有的工作节点,每行一个。这些工作节点将被Hadoop用来执行MapReduce任务。 6. yarn-site.xml yarn-site.xmlHadoop YARN的配置文件。它包含了与YARN相关的配置信息,例如YARN资源管理器和节点管理器等。在该文件中,可以配置以下参数: yarn.resourcemanager.hostname:指定YARN资源管理器的主机名。 yarn.nodemanager.aux-services:指定YARN节点管理器的辅助服务。 yarn.nodemanager.aux-services.mapreduce.shuffle.class:指定YARN节点管理器的MapReduce Shuffle服务类。 yarn.nodemanager.local-dirs:指定YARN节点管理器的本地目录。 yarn.nodemanager.log-dirs:指定YARN节点管理器的日志目录。 总结 以上是Hadoop的一些重要配置文件的介绍,包括core-site.xmlhadoop-env.sh、hdfs-site.xml、mapred-site.xml、workers和yarn-site.xml。这些文件包含了Hadoop的核心组件和相关服务的配置信息,对于Hadoop的运行和调试至关重要。熟悉这些文件的内容和参数,对于Hadoop系统管理员和开发人员来说是必不可少的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值