Unable to install extensions on AWS server small

We’ve followed the instructions here:
https://docs.knime.com/2020-12/aws_marketplace_server_guide/index.html#install-extensions

Here is the command with the values inserted:

sudo -u knime /opt/knime-latest/knime -application org.eclipse.equinox.p2.director -nosplash 
  -consolelog -r https://update.knime.org/analytics-platform/4.3,https://update.knime.com/community-contributions/trusted/4.3 
  -i org.knime.features.ensembles.feature.group -d /opt/knime/knime-latest

and here is the output:

ubuntu@ip-10-10-7-104:/$ sudo -u knime /opt/knime-latest/knime -application org.eclipse.equinox.p2.director -nosplash
sudo: /opt/knime-latest/knime: command not found
ubuntu@ip-10-10-7-104:/$   -consolelog -r https://update.knime.org/analytics-platform/4.3,https://update.knime.com/community-contributions/trusted/4.3
-consolelog: command not found
ubuntu@ip-10-10-7-104:/$   -i org.knime.features.ensembles.feature.group -d /opt/knime/knime-latest
-i: command not found
ubuntu@ip-10-10-7-104:/$

Any help would be greatly appreciated

Hi @tsemana , as the error message says, it could not find /opt/knime-latest/knime

It also appears that you are attempting to execute that command splitted on 3 different lines, so in fact, it’s trying to execute this:
sudo -u knime /opt/knime-latest/knime -application org.eclipse.equinox.p2.director -nosplash

and then this:
-consolelog -r https://update.knime.org/analytics-platform/4.3,https://update.knime.com/community-contributions/trusted/4.3

and then this:
-i org.knime.features.ensembles.feature.group -d /opt/knime/knime-latest

That is why you got the error messages:
-consolelog: command not found
and
-i: command not found

So, 2 things you need to do:

  1. Check if /opt/knime-latest/knime exists and that it is executable, if not, replace for the proper path (ask your system administrator to help you locate where the Knime executable is)
  2. Once you resolve step #1, run everything in ONE line - yes it may appear on the next line in your screen, but this is simply your screen doing a wrap, as opposed to what you did here where you had break lines before -consolelog and before -i. There should NOT by any break lines in the command

Thanks for the input @bruno29a . I had tried putting it all on one line as well and also started looking for the executable.

/opt/knime-latest folder does not exist, in the folder and org.eclipse.equinox.p2.director is not present. I’m wondering if anyone else is running into this on the AWS-packaged installation?

Hi @tsemana , I am not sure this has anything to do with AWS… I think your sys admin should figure this out…

I understand. Thanks for clarifying. I agree that it’s not likely an AWS issue, but the KNIME server is the one KNIME provides via AWS Marketplace, which is what I was referring to. I am wondering if that installation may be different from self-hosted / self-installed instances.

In that /opt/knime-latest/knime does not exist, the /opt/ folder in my instance is opt/knime and in that knime folder there is no org.eclipse.equinox.p2.director

The Small Server instance of the AWS Marketplace offering indicates this forum as the venue for support, I was hoping that this was something previously encountered.

I see @tsemana . Let’s see if someone with more experience about this can comment.

1 Like

Hi @tsemana

I think the example in the docs is wrong. I will add a ticket to fix it. For AWS it should be /opt/knime/knime-latest/knime

Maybe the KNIME Server on AWS Marketplace could help you, specially regarding data location:

<knime-executor> /opt/knime/knime-4.2.x
A symbolic link to the latest KNIME Executor (located in the same directory). Contains the executor executable, and all installed extensions. Backup of this directory is recommended.

So your path seems to be wrong, you are missing one directory in the middle. Example, it would be /opt/knime/knime-latest and not /opt/knime-latest

Let me know if it helps. You might also need to change your profile locations in your knime.ini

In the executor folder, you need to edit the knime.ini to remove all lines related to -profileLocation and -profileList lines, these lines here:

-profileLocation
http://127.0.0.1:8080/knime/rest/v4/profiles/contents
-profileList
executor

Than you do the installation, and re-add the lines after

2 Likes

Thank you for the response. This ended up working for my instance:

sudo -u knime /opt/knime/knime-4.3.1/knime -application org.eclipse.equinox.p2.director -nosplash -consolelog -r https://update.knime.org/analytics-platform/<version_exe>, https://update.knime.com/community-contributions/trusted/<version_exe> -i <extension-identifier> -d /opt/knime/knime-4.3.1

Hi @tsemana , I am glad to hear that you figured it out :slight_smile:

As I said, it was just a matter of finding and using the right path for the Knime executable, which you figured out was /opt/knime/knime-4.3.1/knime, and using the parameters as 1 line.

But, as a best practice, whoever installed Knime (whether it was AWS or a sys admin on your side - I don’t know how this package from AWS work) should create a symlink that points to the executable, and the symlink should be used instead.

That way, if the Knime is upgraded to let’s say 4.4.0 and is installed in /opt/knime/knime-4.4.0/, it would just be a matter of switching the symlink, and everything would be transparent to the Knime users, such as yourself, or to any scheduled job calling Knime via command line.

For example, with a symlink such as “/opt/knime/knime-4.3.1/knime”:
/opt/knime/knime-latest/knime -> /opt/knime/knime-4.3.1/knime

In a month if you update to 4.4.0, just switch the symlink:
/opt/knime/knime-latest/knime -> /opt/knime/knime-4.4.0/knime

Users and scheduled jobs can simply call the Knime executable via the symlink /opt/knime/knime-latest/knime without having to bother where the executable is.

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.