在 docker 上将文件从 wsl 复制到 hdfs 运行

copy a file from wsl to hdfs running on docker

我正在尝试将文件从我的本地驱动器复制到 hdfs。

我 运行 Hadoop on docker 作为图像。我尝试在 MapReduce 上进行一些练习,因此,我想将数据文件从本地驱动器(比如我的 d: 驱动器)复制到 hdfs。

我尝试了以下命令,但它失败了 ssh: connect to host localhost port 22: Connection refused:

scp -P 50070 /mnt/d/project/recreate.out root@localhost:/root

因为我是 Hadoop 和大数据的新手,所以我的解释可能很糟糕。请容忍我。

我正在尝试从 windows 子系统为 Linux (WSL)

做上述事情

此致, crf

SCP 不会将数据移动到 Hadoop。端口 50070 不接受通过该协议 (SSH) 的连接

您需要设置和使用类似于 hdfs dfs -copyFromLocal 的命令,并且 HDFS cli 可用作 windows 命令,因此您不需要 WSL 来上传文件

当使用 Docker 时,我建议这样做

  1. 从你的主机添加一个卷挂载到一些 Hadoop 容器 数据节点和名称节点目录之外
  2. docker exec 进入这个 运行 容器
  3. 运行 以上 hdfs 命令,从挂载卷上传