installation of extensions

good morning colleagues

I am installing two extensions on a ubuntu 20.4 server without graphical interface, I found this in the documentation but I don’t really understand which is the executable of the command

./knime -application org.eclipse.equinox.p2.director -nosplash
-consolelog -r _ _ -i _ _ -d _ _

I have it like this in my installation

sudo -u knime / opt / knime / knime_server / knime -application org.eclipse.equinox.p2.director -nosplash -consolelog -r https://update.knime.org/analytics-platform/4.4,https://update .knime.com / community-contributions / trusted / 4.4, -i -d / opt / knime / knime_server

I would like to ask what am I failing since it tells me that the command is invalid

regards

Maybe you could try something like that:

user$ sudo su - # gain a full root shell
root# cd /opt/knime/knime_server
root# ./knime -application org.eclipse.equinox.p2.director -nosplash
-consolelog -r ... -i ... -d ...
2 Likes

Hello,

I don’t think the issue is needing to be root. You should be the knime user to perform this operation - if your KS runs under a service principal (knime) and you install extensions as root, the resulting installed files may be owned by root:root and could cause problems for the knime user to be unable to modify them.

Below is an excerpt from notes I made for this process for installing indigo extensions under KS4.11/KE 4.2. It should still be valid for later/current versions as well.

# stop the executor
sudo systemctl stop knime_executor.service

# become the knime user
su - knime

# go to the executor directory; obviously change this if your directory is in a different place :slight_smile:
cd /opt/knime_server/knime_executor/

# make a backup of the current knime.ini
cp knime.ini knime.ini.`date -I`
# note that the above is a capital I for the date parameter

# remove the profileLocation and profileList directives; the updating process doesn’t work correctly with them in there
vi knime.ini
# obviously you can use your favorite editor. but vi is the best! :grin:

The lines you need to remove will look something like:

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

# if they’re not there, then obviously you can skip this step.
# once you have those lines deleted, save and exit the knime.ini file

# optional: review count of plugins; should be around 0
du -a | grep indigo | wc -l
# you can change ‘indigo’ to a unique keyword for whatever plugin you’re trying to work on, obviously

# run the update to install the plugins.
# this command will redirect all output for stdout and stderr into output.txt, which can be reviewed or sent in to support if needed

# the section -r XXX should work for current version of KE (4.4.x)
# the section -i XXX will change depending on what extensions you’re adding, obviously. As per the documentation, it can be a comma-separated list (no spaces) of extensions that you wish to install; e.g. -i some.feature.one,some.feature.two,some.feature.three
# the section -d /opt/knime_server/knime_executor should be changed to fit your actual executor location.

./knime -application org.eclipse.equinox.p2.director -nosplash -consolelog -r ‘https://update.knime.com/analytics-platform/4.4,https://update.knime.com/community-contributions/4.4,https://update.knime.com/community-contributions/trusted/4.4,https://update.knime.com/partner/4.4’ -i com.epam.indigo.knime.feature.feature.group -d /opt/knime_server/knime_executor > output.txt 2>&1

# optional: review output.txt to see if there are any errors
more output.txt

# optional: review count of plugins; should be around 495 for indigo. obviously for other extensions it will be more, but if you get a notably larger result than the 0 you should have had at the start, then that’s usually a sign you did it right.
du -a | grep indigo | wc -l

# move the old knime.ini, which contains the profileLocation and profileList directives, back into place
mv knime.ini.`date -I` knime.ini

# exit the knime user shell
exit

# start the executor to pick up the new plugins/extensions
sudo systemctl start knime-executor.service

Hope this helps!

Regards,
Nickolaus

[1] KNIME Server Administration Guide

4 Likes

Hi @lizardovanegas , the notes that @NDekay has provided is very useful and quite detailed.

Based on the info you provided, the main issue are the spaces you are leaving between the slashes:

I’m not sure where you got that command line from, but this will never work. For example, “/ opt / knime / knime_server / knime” should be “/opt/knime/knime_server/knime

In this case, knime is the executable, and it’s in the path /opt/knime/knime_server/

So, if you have the correct paths in the attempt that you showed, removing the invalid spaces from your command, the correct command line would be:
sudo -u knime /opt/knime/knime_server/knime -application org.eclipse.equinox.p2.director -nosplash -consolelog -r https://update.knime.org/analytics-platform/4.4,https://update .knime.com/community-contributions/trusted/4.4, -i -d /opt/knime/knime_server

Breaking the command down so you understand what’s happening:
sudo -u knime this will run the command under the user called knime.
/opt/knime/knime_server/knime this is the full path of the Knime executor. If this is not the correct path, just change that part to the correct path.
The rests are basically Knime options that you are passing as parameters to the command. Each parameter is separated by a space (hence why you should not add unnecessary spaces)

3 Likes

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