【问题标题】:Installing JDK to a pool's compute nodes in Azure Batch在 Azure Batch 中将 JDK 安装到池的计算节点
【发布时间】:2017-11-28 10:10:01
【问题描述】:

我必须在我的池中的 Ubuntu 服务器节点上安装 java。我正在尝试通过任务来完成,但每次我尝试使用以下代码通过任务安装 java 时:

 TaskAddParameter taskToAdd = new TaskAddParameter();
    taskToAdd.withId(taskId).withCommandLine(String.format("sudo apt-get install openjdk-8-jdk"));
    // Associate resource file with task
    taskToAdd.withResourceFiles(getListOfResourceFiles(sas));

我收到一个错误提示

sudo: no tty present and no askpass program specified

我也在池级别尝试了上述方法,在池的 StartTask 中给出了这个命令,但它也给了我同样的错误。

我需要在我的池节点上安装 java,以便我可以在其上运行我的 java 程序。

【问题讨论】:

    标签: linux azure azure-storage azure-batch


    【解决方案1】:

    您应该在池的StartTask 上执行此操作。

    对于commandLine,您需要按照最佳实践指南here 中的说明调用shell。所以而不是:

    sudo apt-get install openjdk-8-jdk
    

    做:

    /bin/bash -c "sudo apt-get install openjdk-8-jdk"
    

    此外,您应该使用 PoolAdmin AutoUser 用户身份,这样您就不必调用 sudo。请参阅this guide 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 2022-12-05
      相关资源
      最近更新 更多