我试图将数据从本地文件系统移动到Hadoop分布式文件系统,但我无法通过oozie移动它我们可以使用oozie将数据从本地文件系统移动或复制到HDFS吗?
小智 6
我找到了解决这个问题的方法.ssh操作将始终从Oozie服务器执行.因此,如果您的文件位于Oozie服务器的本地文件系统上,您将能够将它们复制到HDFS.ssh动作将始终由'oozie'用户执行.所以你的ssh动作应如下所示:myUser @ oozie-server-ip,其中myUser是一个对Oozie服务器上的文件具有读权限的用户.接下来,您需要在Oozie服务器上的oozie用户和myUser之间设置无密码ssh.为'oozie'用户生成公钥,并将生成的密钥复制到'myUser'的authorized_keys文件中.这是生成rsa密钥的命令:
ssh-keygen -t rsa
生成密钥时,您需要使用oozie用户登录.通常在Hadoop集群上,此用户将在/ var/lib/oozie中拥有其主页,并且将在/var/lib/oozie/.ssh中的id_rsa.pub中生成公钥.接下来将此密钥复制到'myUser的authorized_keys文件中".您可以在用户家中的.ssh文件夹中找到它.现在您已经设置了无密码ssh,是时候设置ssh oozie动作了.此操作将执行命令'hadoop'并将具有'-copyFromLocal','$ {local_file_path}'和'$ {hdfs_file_path}'作为参数.