Troubleshooting custom Runtime addons
Follow the instructions to overcome some potential issues you might encounter with Runtime images.
- Failed setting up runtime addons
- Engine exited with status 33
The file or folder does not exist in the uploaded tarball or is not located under the proper path within the tarball archive
A possible root cause is Cloudera AI not being able to mount in files or folders from custom Runtime Addons.
Adjust the paths in the tarball or metadata file according to the details in Requirements.
The file or folder, a custom Runtime addon tries to mount, exists already in the filesystem
Either the file or folder exists on the Runtime image or is mounted in by another Runtime addon.
Due to a limitation, custom Runtime Addons cannot overwrite existing files. Customers shall change the path of the mounted files.
cdsw user has no write access in the pod’s file system to create symlinks
to mounted files
Change the path of the mounted files to a location that is writable by the cdsw
user
. Alternatively, create a custom Runtime image with adjusted permissions and use
that in all the workloads.
Cloudera AI Runtime addons support only Java 8 integrated into Hadoop
In Cloudera AI, when mounting in JAVA to workloads via Runtime addons, the only available Runtime addon is for JAVA8 (integrated into the Hadoop addon).
Run the workloads with the required JAVA version, with the help of custom Runtime Addons:
- Save the following Dockerfile:
FROM ubuntu:20.04 RUN apt-get update && apt-get install -y openjdk-11-jre-headless openjdk-11-jdk-headless RUN tar -czf /cml-java11-addon.tar.gz /usr/lib/jvm/java-11-openjdk-amd64 /etc/java-11-openjdk
- Build the Dockerfile and copy the tar file created in row
3.
docker build --network=host -t cml_java_addon . container_id=$(docker create cml_java_addon) docker cp $container_id:/cml-java11-addon.tar.gz - > ./cml-java11-addon.tar.gz docker rm -v $container_id
- Upload the Tarball file as a custom addon to Cloudera AI with the
following metadata
file:
{ "name" : "java11", "spec" : {"paths" : ["/usr/lib/jvm/java-11-openjdk-amd64", "/etc/java-11-openjdk"]} }
-
Set the following environment variables at
:JAVA_HOME:
/usr/lib/jvm/java-11-openjdk-amd64
PATH:
${PATH/java-8/java-11}