【问题标题】:Hadoop Pseudo-Distributed : SSH commandHadoop 伪分布式:SSH 命令
【发布时间】:2019-08-07 02:56:29
【问题描述】:

我有一台机器,在我的大学里,hadoop 配置为伪分布式模式,我需要在家控制它。

如果我从 SSH 连接,我会遇到一些问题:

如果我启动这个命令:

./hadoop jar 'my.jar' hdfs://localhost:54310

那么 jar 必须在装有 Hadoop 的计算机上。是否有解决方案可以在我的家用计算机上运行 jar?

同样,我如何使用 get/put 命令从/向我的家用计算机和 HDFS 文件系统获取/放入?

现在我有一个保管箱文件夹,我可以在其中“放置和移动”文件,但这不是一个非常干净的解决方案。

另一个大问题是,如果我通过 SSH 运行 jar,然后关闭 SSH 连接,工作就会停止。但是我需要在 Hadoop 上开始工作并关闭我的家用计算机。这个问题有解决办法吗?

【问题讨论】:

    标签: java hadoop ssh jar


    【解决方案1】:

    以下是我对您问题的回答:

    1. jar 文件必须在安装了 Hadoop 的系统上才能运行。

    2. 如果您在家用计算机上运行 Windows 环境,则可以使用 WinSCP 将文件从家用计算机获取/放入 Hadoop 系统。然后您必须发出hadoop fs -put or hadoop fs -get 命令将文件从HDFS 放入/获取到hadoop 系统上的本地FS。我不知道有一种简单的方法可以将文件从您的家用计算机获取/放入 HDFS。 如果您运行的是 unix 环境,您可以从终端/控制台发出 SCP 命令。

    3. 是的,如果你通过 SSH 连接到一台机器,发出一个命令然后关闭 SSH 连接,执行就会停止。但是,您可以将该命令作为后台进程运行,即使您关闭 SSH 连接,该命令也会继续执行。您需要在命令末尾附加一个 & 符号:&。示例:

      ./hadoop jar 'my.jar' hdfs://localhost:54310 & 
      

    编辑

    将输出重定向到文件的命令:

    ./hadoop jar 'my.jar' hdfs://localhost:54310 > outputFile & 
    

    【讨论】:

    • 3.如果我使用 & 我可以在几个小时后再次登录以检查进程状态?如何? 2.在家里我有Mac OS,在大学ubuntu。 scp 命令is this?
    • 如果您正在运行我在示例中提到的 jar 文件,有两种方法可以检查进度。 1. 转到 Job Tracker URL,找到您的工作,并在那里跟踪进度。 2. 您可以将作业的输出重定向到文件。因此,当您稍后登录时,您只需阅读文件并查看进度。请检查我的编辑以将命令的输出写入文件
    • 如果我在进程运行时打开文件(使用重定向)没有问题?
    猜你喜欢
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    相关资源
    最近更新 更多