Amazon-Web-Services

在 AWS EMR 中安裝包

  • August 16, 2021

我正在嘗試在 AWS EMR 5.28.0中安裝Google Tink ,但運氣不佳。看起來 AWS EMR 圖像本質上是相當奇怪的。有任何想法嗎?

sc.install_pypi_package("tink")

錯誤:找不到 bazel 執行檔。請安裝 bazel 以編譯 Tink Python 包。

sudo yum install -y bazel3

要求:java-11-openjdk-devel

sudo yum install java-11-openjdk-devel

沒有可用的包 java-11-openjdk-devel。

sudo yum install amazon-linux-extras

沒有可用的軟體包 amazon-linux-extras。

事實證明,Linux AMI(AWS EMR 5.28.0 的基礎)很難使用。可用的儲存庫都沒有 Java、Bezel,更不用說 Tinker 隨時可用(與 Macos、Ubuntu 甚至是輕而易舉的 ECR Python 映像相比)

要獲得 Java 11jdk,您需要前往 Oracle 並查找 Linux x64 RPM 包。不幸的是,您需要登錄他們的網站,因此無法使用 wget/curl。

要安裝,您需要執行以下操作:

sudo yum localinstall jdk-11.0.12_linux-x64_bin.rpm

對於 Bazel,您需要從 Github https://github.com/bazelbuild/獲取包。選擇最新的並安裝

./bazel-4.1.0-installer-linux-x86_64.sh 

然後 pip 工作正常

sc.install_pypi_package("tink")

輸出:

Successfully built tink
Installing collected packages: protobuf, absl-py, tink
Successfully installed absl-py-0.13.0 protobuf-3.17.3 tink-1.6.1

引用自:https://serverfault.com/questions/1074491