Hello I am running dremio on docker and need to upgrade my current version from 24.0.0 to 25 however I am facing issues while running the docker and ansible commands. First Java version openjdk 11 is used but it still dosent work. Another error is KV store error - KVStore has an older version (24.0.0-202302100528110223-3a169b7c) than the server (24.3.5-202404170249350726-2d3a78c1), please run the upgrade tool first. while running dremio-admin upgrade in opt/dremio/bin I am getting command not found. and thus my admin upgrade is also not working. Can someone give steps to resolve these issues .
usually the command is being executed but the dremio coordinator is not starting up.
some other errors which I faced :
Dremio is exiting. Failure while starting services.
857java.lang.NullPointerException
Any update on this issue
Below are the logs :
Dremio is exiting. Failure while starting services.
java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:221)
atcom.dremio.extusr.azuread.AzureGraphClient.validateScopesForToken(AzureGraphClient.java:144)at com.dremio.extusr.azuread.AzureADUserGroupService.start(AzureADUserGroupService.java:353)
If you are getting “command not found” then your dremio-admin
commandis not in path. Let us first make sure the command works. So from the /opt/dremio/bin
run ./dremio-admin upgrade
Once that completes successfully, then you should no longer get the KVstore error. Then you can start Dremio
Hello, Thanks for your reply, yes my path is exactly the same as you mentioned. however in my case ./dremio-admin upgrade is not working. Is there any oter workaround to upgrade the java version and avoid below error
Dremio is exiting. Failure while starting services.
java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:221)
atcom.dremio.extusr.azuread.AzureGraphClient.validateScopesForToken(AzureGraphClient.java:144)at com.dremio.extusr.azuread.AzureADUserGroupService.start(AzureADUserGroupService.java:353)
@dremio_user Will the below help to upgrade Java version on a Docker image
To upgrade the Java version in a Docker container, one should modify the Dockerfile used to build the image. There are two primary methods to achieve this:
-
Modify the Base Image:
- Locate the
FROM
instruction in the Dockerfile, which specifies the base image. - Change the base image to one that includes the desired Java version. For example, to use Java 17, one might change
FROM openjdk:8
toFROM openjdk:17
. - Rebuild the Docker image using
docker build -t <image-name> .
- Locate the
-
Install a New Java Version:
- Keep the existing base image or specify a new one.
- Add commands to the Dockerfile to install the desired Java version. This typically involves:
- Updating the package manager (e.g.,
apt update
). - Installing necessary packages (e.g.,
apt install software-properties-common gnupg
). - Adding the repository for the desired Java version (e.g.,
add-apt-repository ppa:linuxuprising/java
). - Installing the specific Java version (e.g.,
apt install oracle-java17-installer
).
- Updating the package manager (e.g.,
- Set the
JAVA_HOME
environment variable. - Update the
PATH
variable to include the new Java version. - Rebuild the Docker image.
It’s generally recommended to rebuild the Docker image rather than modifying a running container because changes to a running container are lost when the container is stopped or restarted.