HDFS 如何将数据从本地文件系统(Linux)传输到Google Cloud Platform上的Hadoop集群

z8dt9xmd  于 2022-12-09  发布在  HDFS
关注(0)|答案(1)|浏览(225)

我是***Hadoop***的初学者,我在*Google云平台*上创建了Hadoop集群(一个主集群和两个从集群)。
我从本地文件系统
(Linux)访问了群集的主节点:ssh -i key key@public_ip_of_master
然后我在集群内执行sudo su -,因为Hadoop功能
在作为root用户时出现。
然后,我使用start-dfs.shstart-all.sh启动了HDFS

现在的问题是,我希望使用以下命令**(以root身份在集群内插入命令)将文件 * 从本地Linux文件系统传输到Hadoop集群**, 反之亦然 *:

root@master:~# hdfs dfs -put   /home/abas1/Desktop/chromFa.tar.gz     /Hadoop_File

问题是本地路径为:/home/abas1/Desktop/chromFa.tar.gz从未被识别,我似乎不知道该怎么办。

我确信我遗漏了一些琐碎的东西,但我不知道它是什么。我必须使用-copyFromLocal-put

lfapxunr

lfapxunr1#

无法识别本地路径
那么这就不是Hadoop的问题了。你在master节点上(通过SSH),作为root用户。有一个/root文件夹,里面有文件,可能没有/home/abas1
换句话说,运行ls -l /home,您将看到哪些本地文件可用。
要将文件从 * 该终端会话 * 上传到master服务器,您需要首先从另一台机器将SCP文件上传到该服务器。
1.退出SSH会话

  1. scp -i key root@master-ip home/abas1/Desktop/chromFa.tar.gz /tmp
  2. ssh -i key root@master-ip
    1."那你就能做到“
hdfs mkdir /Hadoop_File
ls -l /tmp | grep chromFa  # for example, to check file
hdfs -put /tmp/chromFa.tar.gz /Hadoop_file/

Hadoop功能仅在作为root用户时显示。
请不要使用root与Hadoop服务交互。为HDFS、YARN、Zookeeper等创建唯一的用户帐户,并像其他Unix进程一样使用受限权限。
使用DataProc就可以做到这一点...而且您仍然可以通过SSH连接到它,因此您应该真正考虑使用它来代替手动GCE集群。

相关问题