在 AWS EMR 中安裝套件

在 AWS EMR 中安裝套件

我正在嘗試安裝Google天克在 AWS EMR 5.28.0 中沒有太多運氣。看起來 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 軟體包。

答案1

事實證明,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

相關內容