java - java hdfs客户端是否需要core-site.xml和hdfs-site.xml进行连接?
问题描述
我使用 HttpClient 从 Hadoop 服务器下载了文件。
但是其他人说这对安全性不利,因为它不需要输入用户ID。所以我必须将其更改为 webhdfs 或 hdfs。
我必须与 Hadoop 连接,它不是我的。
所以我不知道它的所有配置。
他们告诉我唯一的用户名、一些 IP 地址和端口。
但是java程序中的hdfs客户端需要很多配置。
hdfs 客户端是否需要 core-site.xml 和 hdfs-site.xml 进行配置?
还是我有其他方法可以解决它?
解决方案
为了与 HDFS 正确通信,客户端需要知道配置参数。这就是这两个文件的全部内容,客户端需要来自这两个文件的配置。正如这里所说:
core-site.xml 文件通知 Hadoop 守护进程 NameNode 在集群中的运行位置。它包含 Hadoop Core 的配置设置,例如 HDFS 和 MapReduce 通用的 I/O 设置。
hdfs-site.xml 文件包含 HDFS 守护进程的配置设置;NameNode、Secondary NameNode 和 DataNode。
但是在 Java 代码中,所有配置(无论来自哪个文件)都由
org.apache.hadoop.conf.Configuration
. 因此,您可以将所有内容放在一个配置对象中。
希望这能回答你的问题。
推荐阅读
- c++ - 错误:未在此范围内声明友元函数
- angular - 在Angular中将输入数据从父级传递给ng-content
- java - 具有实体类型字段的可嵌入类的 JPA AttributeOverride
- android - 我如何使用 android 模拟器,它显示模拟器已经在运行?
- python - 一种在动态系统识别中处理溢出的方法
- python - 为什么 ZeroMQ 服务器没有收到来自客户端的任何请求?
- google-chrome-extension - 我的 chrome 扩展程序无法在 Edge 上运行
- python - 如何垂直打印或显示 Python Numpy 数组/矩阵
- reactjs - 对函数声明强制执行 TSX 道具类型内联,该函数声明使用对象解构来声明道具
- html - 努力对齐表单元素