R remote

Hi there,

I like the idea to send data to an external R-Server but I cannot set up the things…
I’ve a windows machine, where I installed R and the RServe package.
I started the server with this command:

R --vanilla < test.R

and test.R contains

library(Rserve)
Rserve()

this seems to work, Rserve.exe pops up in the task manager. But Knime still says "Execute failed: Can’t connect to R server; make sure the R server is running…"
I’m pretty sure that the IP is correct and also the port I didn’t change. What else could be the reason that Knime cannot communicate with RServe? Any ideas?

Antje

Hi Antje,
Can you please double-check if can reproduce the same behavior when you run Rserve on your local host with the default settings as set in the dialog tab “Login”. I have tested it with host 127.0.0.1 and port 6311.
If this works and the remote connection does not, I guess, there are some security reasons that prevents you from connecting to your remote host, i.e. firewall?
Best, Thomas

Hi Thomas,

indeed, it seems to be a configuration problem. With localhost it works well.
There is no active firewall but I’ll somehow find out what prevents Knime to connect to this machine.

Thank you!

Antje

Me again,
I could solve the problem. I had to create the cofiguration file to start the server as “remote” :slight_smile:
(just in case anybody else has the same problem)

Hi,

I am having the same problem but I have already started Rserve as remote. I am able to telnet from my windows machine to the Linux R server, however Knime still says “Can’t connect to R server”. Do I need to install Rserve on my local PC as well? Am I missing some client software perhaps?

Thanks,
Liz

Hi, the Rserve connector is already embedded into KNIME and only the R-server must have been installed and running… Did you create a remote configuration, as “niederle” suggested?
Best, Thomas

Hi Thomas,
Yes the configuration was already set to remote. I found what the problem was, the configuration was set to require authorisation (as recommended when using remote configuration) but there was no password file. Also, plaintext was disabled so you cannot login to the server directly using a plain text password, you can only login using a encrypted password (via Knime for example).
Thanks,
Liz

Hi,

I am connected to Rserve on the remote server and the setup is working fine. But when I try to execute any script, the Rsnippet node takes forever to run. Right now the only code in my R snippet is rOut <- kIn.

I am not sure what is the problem. I execute the node and it keeps on executing.

The entire flow is following:

Hive connector for HDFS -> Database Table selector -> Hive to spark -> Spark to table -> Rsnippet

I am stuck with this and can't figure out the issue.

Thanks,

Ranjan

Hi ranjan.pandey!

You seem to be working with alot of data and the R snippet (an guessing R itself) isn't really able to handle that very well, because it needs to copy all of the data over to Rserve. You can try the latest Version of KNIME which sends the data chunk-wise, which may improve performance. Also see the "Advanced" tab in the R node config for options to improve performance (only available in the more recent KNIME versions).

I am unsure what you mean with "connected to Rseve on the remote server", as currently we only support running Rserve on the same machine as the KNIME Analytics Platform. Also, Rserve will be started automatically.

Hope this helps somehow.
Kind regards, Jonathan.