hadoop中core-site.xml中fs.defaultFS属性的含义

hadoop中core-site.xml中fs.defaultFS属性的含义,hadoop,Hadoop,我正在尝试以完全分布式模式设置hadoop,在某种程度上我成功地做到了这一点 但是,我对core-site.xml-->fs.defaultFS中的一个参数设置有一些疑问 在我的设置中,我有三个节点,如下所述: 节点1--192.168.1.2-->配置为主节点(运行ResourceManager和NameNode守护进程) Node2--192.168.1.3-->配置为从属(运行NodeManager和Datanode守护进程) Node3--192.168.1.4-->配置为从属(运行No

我正在尝试以完全分布式模式设置hadoop,在某种程度上我成功地做到了这一点

但是,我对core-site.xml-->fs.defaultFS中的一个参数设置有一些疑问

在我的设置中,我有三个节点,如下所述:

节点1--192.168.1.2-->配置为主节点(运行ResourceManager和NameNode守护进程)

Node2--192.168.1.3-->配置为从属(运行NodeManager和Datanode守护进程)

Node3--192.168.1.4-->配置为从属(运行NodeManager和Datanode守护进程)

现在,属性
fs.defaultFS
是什么意思?例如,如果我这样设置:

<property>
   <name>fs.default.name</name>
   <value>hdfs://192.168.1.2:9000/</value>
</property>

fs.default.name
hdfs://192.168.1.2:9000/
我不能理解这个词的意思hdfs://192.168.1.2:9000. 我可以理解hdfs意味着我们正在使用
hdfs
文件系统,但是其他部分意味着什么

这是否意味着IP地址为192.168.1.2的主机正在端口9000处运行Namenode

有人能帮我理解吗?

fs.default.name

这里fs表示文件系统,default.name表示namenode

hdfs://192.168.1.2:9000/

这里9000表示datanode将向namenode发送心跳信号的端口。完整地址是转换为主机名的机器名

关于端口,需要注意的一点是,您可以将大于1024的任何端口设置为小于必须授予root权限的端口。

在这段代码中:

<property>
   <name>fs.default.name</name>
   <value>hdfs://192.168.1.2:9000/</value>
</property>

fs.default.name
hdfs://192.168.1.2:9000/
在core-site.xml中包含fs.defaultFS/fs.default.name,以允许使用dfs命令,而不在命令中提供完整的站点名称。运行hdfs dfs-ls/而不是hdfs dfs-lshdfs://hdfs/

这用于指定默认文件系统,并默认为本地文件系统,这就是为什么需要将其设置为HDFS地址。这对于客户端配置也很重要,因此本地配置文件应该包含此元素

上面@Shashank解释得非常恰当:

hdfs://192.168.1.2:9000/. 这里9000表示datanode将向namenode发送心跳信号的端口。完整地址是转换为主机名的机器名

谢谢


Ankur Singh

感谢您提供的信息,因此简言之1)此参数表示Namenode守护程序正在运行的位置。2) 我们正在使用的文件系统。3) 此参数是否有助于hadoop客户端了解hdfs中文件的位置以及从何处获取数据?1。是此参数说明namenode守护进程2。Yes还告诉我们使用哪个文件系统Yes当客户机向namenode请求datanode信息时,namenode会提供这些信息,有关datanode的信息,即hdfs详细信息,然后客户端将数据集写入datanode。我试图将端口更改为8020而不是9000,当我运行配置单元选择时,它显示它正在尝试连接hdfs://localhost:9000 (这是本地开发人员)如何让它使用端口8020?我已将fs.defaultFS和fs.default.name都设置为hdfs://localhost:8020Thanks 非常感谢您的回复,非常感谢。