Amazon-Web-Services
在 AWS EMR 中安裝包
我正在嘗試在 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