我是***Hadoop***的初学者,我在*Google云平台*上创建了Hadoop集群(一个主集群和两个从集群)。
我从本地文件系统(Linux)访问了群集的主节点:ssh -i key key@public_ip_of_master
然后我在集群内执行sudo su -
,因为Hadoop功能仅在作为root用户时出现。
然后,我使用start-dfs.sh
和start-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
。
1条答案
按热度按时间lfapxunr1#
无法识别本地路径
那么这就不是Hadoop的问题了。你在
master
节点上(通过SSH),作为root
用户。有一个/root
文件夹,里面有文件,可能没有/home/abas1
。换句话说,运行
ls -l /home
,您将看到哪些本地文件可用。要将文件从 * 该终端会话 * 上传到
master
服务器,您需要首先从另一台机器将SCP文件上传到该服务器。1.退出SSH会话
scp -i key root@master-ip home/abas1/Desktop/chromFa.tar.gz /tmp
ssh -i key root@master-ip
1."那你就能做到“
Hadoop功能仅在作为root用户时显示。
请不要使用
root
与Hadoop服务交互。为HDFS、YARN、Zookeeper等创建唯一的用户帐户,并像其他Unix进程一样使用受限权限。使用DataProc就可以做到这一点...而且您仍然可以通过SSH连接到它,因此您应该真正考虑使用它来代替手动GCE集群。