0

I'm trying to install Google Tink in AWS EMR 5.28.0 without much luck. It looks like the AWS EMR image is rather strange in nature. Any ideas?

sc.install_pypi_package("tink")

error: Could not find bazel executable. Please install bazel to compile the Tink Python package.

 sudo yum install -y bazel3

Requires: java-11-openjdk-devel

sudo yum install java-11-openjdk-devel

No package java-11-openjdk-devel available.

 sudo yum install amazon-linux-extras

No package amazon-linux-extras available.

Koenig Lear
  • 101
  • 2

1 Answers1

0

As it turns out the Linux AMI (The base for AWS EMR 5.28.0) is a pain to work with. None of the available repositories have Java, Bezel, much less Tinker readily available (compare to Macos, Ubuntu, or even ECR Python image where it's a breeze)

To get Java 11jdk you need to go to Oracle and look for Linux x64 RPM Package. Unfortunately you need to sign in to their site so wget/curl is not possible.

To install you need to do:

 sudo yum localinstall jdk-11.0.12_linux-x64_bin.rpm

For Bazel you need to get the package from Github https://github.com/bazelbuild/. Pick the latest and install

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

Then pip works fine

sc.install_pypi_package("tink")

Output:

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
Koenig Lear
  • 101
  • 2