1

Our team is exploring options for HDFS to local data fetch. We were suggested about StreamSets and no one in the team has an idea about it. Could anyone help me to understand if this will fit our requirement that is to fetch the data from HDFS onto our local system?

Just an additional question.
I have setup StreamSets locally. For example on local ip: xxx.xx.x.xx:18630 and it works fine on one machine. But when I try to access this URL from some other machine on the network, it doesn't work. While my other application like Shiny-server etc works fine with the same mechanism.

4

2 回答 2

1

是的 - 您可以使用 StreamSets Data Collector 的Hadoop FS Standalone origin将数据从 HDFS 读取到本地文件系统。但是,正如 cricket_007 在他的回答中提到的那样,您应该仔细考虑这是否是您真正想要做的,因为单个 Hadoop 文件很容易比您的本地磁盘大!

回答您的第二个问题时,Data Collector 默认侦听所有地址。配置文件中有一个http.bindHost设置sdc.properties可用于限制 Data Collector 侦听的地址,但默认情况下已将其注释掉。

您可以使用netstat检查 - 这是我在我的 Mac 上看到的,Data Collector 监听所有地址:

$ netstat -ant | grep 18630
tcp46      0      0  *.18630                *.*                    LISTEN    

*输出中 前面的那个通配符18630意味着 Data Collector 将接受任何地址上的连接。

如果您直接在您的机器上运行 Data Collector,那么最可能的问题是防火墙设置。如果您在 VM 或 Docker 上运行 Data Collector,则需要查看您的 VM/Docker 网络配置。

于 2018-07-26T16:24:33.623 回答
0

我相信默认情况下 Streamsets 只在 localhost 上公开其服务。您需要浏览配置文件以找到可以将其设置为侦听外部地址的位置

如果您使用的是 CDH 快速入门 VM,则需要从外部转发该端口。

无论如何,StreamSets 真正设计为在专用服务器上作为集群运行,以获得最佳性能。它的生产部署与 Hortonworks HDF 中提供的 Apache Nifi 相当。

所以不,除了测试/评估目的之外,将本地 FS 目的地用于任何其他目的是没有意义的。

如果您希望 HDFS 作为本地设备公开,请考虑安装 NFS 网关。或者您可以使用 Streamsets 写入 FTP / NFS,可能。

目前尚不清楚您要获取哪些数据,但许多 BI 工具可以执行 CSV 导出,或者 Hue 可用于从 HDFS 下载文件。至少,hdfs dfs -getmerge这是将数据从 HDFS 获取到本地的一种极简方式,但是,Hadoop 通常在理想情况下存储许多 TB 的数据,如果您使用更小的数据,那么将这些结果转储到数据库中是通常比移动平面文件更好的选择

于 2018-07-26T13:40:23.970 回答