nebula-exchange的导入sst功能,是否需要强制依赖hadoop环境

导入前请确认以下信息:
确认所有部署 Storage 服务的机器上都已部署 Hadoop 服务,并配置 HADOOP_HOME 和 JAVA_HOME。
没有部署对应环境的话,在使用下载命令的时候,会提示失败

nebula> DOWNLOAD HDFS "hdfs://<hadoop_address>:<hadoop_port>/<sst_file_path>";

环境

我使用docker分容器部署了不同的nebula-console、nebula-graph、nebula-Storage,hdfs存放的namenode环境

步骤

操作DOWNLOAD下载的时候,我进入nebula-console容器,远程连接nebula-graph,执行DOWNLOAD操作时,需要帮忙解释下面几个问题

问题

(1)此时是nebula-graph还是nebula-Storage节点,起进程执行了实际的sst文件下载任务?
(2)按照这种sst导入的方法,线上确认所有部署 Storage 服务的机器上都已部署 Hadoop 服务,并配置 HADOOP_HOME 和 JAVA_HOME,这种办法只是为了导入,是否会存在环境耦合比较严重的问题?
(3)看社区内的其他教程,以及个人理解,sst可以不通过这种方式进行下载sst问题,只要有办法把sst下载到nebula-Storage的对应目录就行了,目前是否存在可以不在Storage部署hadoop服务,绕过这一层比较好的线上实践?

标题问题的答案是:需要强依赖hadoop

  1. 下载任务是由meta、graph和storage互相调用完成的
  2. 赞同你的观点,安装Hadoop客户端只用来下载sst文件这种方式是太重了, 我们应该有相关的issue,最好是通过内部api调用的形式进行下载,不采用客户端的hadoop fs -get 方式。@steam 可以确认下是否有对应issue
  3. 不安装hadoop的话 就手动下载到storage的 data/storage/nebula/{space_id}/download 目录下。

明白了,感谢答复

我建了一个 issue https://github.com/vesoft-inc/nebula-exchange/issues/76

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。