R Execute Prerequisites

Before your users can use the R Execute operator, confirm that your Team Studio environment meets all requirements, including having installations of the supported version of R and Java on tested hardware configurations. Additionally, R Execute requires packages available from the Comprehensive R Archive Network (CRAN).

Supported R Versions

The R Execute operator was tested on 64-bit CentOS Linux with open-source R version 3.3.2.

The R Connector for Team Studio might work with newer versions of open-source R, but it has been tested only with version 3.3.2.

The R Connector for Team Studio should work with any open-source R server that is fully compatible with the open-source version of R.

Important: The Team Studio product can be extended for use with the R language and environment for statistical computing and graphics (see https://www.r-project.org/ ) through use of the R Connector for Team Studio, which is subject to free open-source software license terms and available for download from a publicly available GitHub repository. The R Connector is not part of the Team Studio product and therefore is not within the scope of your license for the product. Accordingly, the R Connector is not covered by the terms of your agreement with TIBCO for the Team Studio product, including any terms that concern support, maintenance, or warranties. Download and use of the R Connector is solely at your own discretion and subject to the free open-source license terms applicable to the R Connector.

Required Server Hardware

The R Connector for Team Studio requires a CentOS or RedHat operating system running on a 50GB server.
Note: Windows servers are not supported.
Caution: The Team Studio Web Server does not run on the same computer as the R Connector for Team Studio. Please see below for details.

Supported Java Versions

The R Connector for Team Studio requires Oracle 64-bit Java 1.8 or higher to be installed. (The JRE is adequate; the entire JDK is not required.)

These requirements are consistent with version 6 requirements.

R Packages

Note: data.table depends (directly or transitively) on the following:

These packages should be installed automatically upon service start-up (using the start_services.sh shell script) if they are not in the R local repository, because the R connector ships with the .tar files that contain the package sources. However, if there are file permission conflicts, the installation can fail. In such a case, first try fixing file permissions. If that does not help, try installing the packages manually.

install.packages(pkgs = c('/full/path/Rserve_1.7-3.tar.gz','/full/path/data.table_1.9.4.tar.gz'), repos = NULL, type='source')
Note: You must supply the full path to the tar.gz files, which is the directory in which you unzipped the R server tar file.

Manual installation should never be necessary due to the automation built into the start_r_component.R script, which is called by the start_services.shshell script. However, if for any reason you need to perform manual installation from the tar files, note that the package installation order matters, due to the dependency graph. The recommended package order is as follows.

Rcpp, plyr, stringr, chron, reshape2, Rserve, data.table.

If you must install the packages manually, and you have an internet connection, the dependencies are downloaded automatically. In that case, you can install just the packages Rserve and data.table.

install.packages(pkgs = c('Rserve','data.table'))
Note: You might need to select the CRAN repository programmatically; otherwise, you might be prompted to supply the name of the CRAN repository to use. A programmatic selection looks like the following.
install.packages(pkgs = c('Rserve','data.table'), repos='http://cran.cnr.berkeley.edu/')

You can find the list of CRAN mirrors here.

Port 6311

Caution: Port 6311 must be accessible at least on the localhost of the computer running the R Connector. This is the port on which the native component in R (Rserve) is listening to accept connections from Java (see Rserve faq for more details). This port need not be exposed to remote computers, just by using localhost/loopback.
To determine whether the port is open, try the following on the computer running the R Connector.
$netstat -anp | grep 6311

Not all processes could be identified,non-owned process info
will not be shown, you would have to be root to see it all.)

tcp00127.0.0.1:63110.0.0.0:* LISTEN8627/Rserve

If netstat is not available, you can try nmap, telnet, or other tools to test whether this port is available at least on localhost.

Team Studio Web Server

Caution: The Team Studio Web Server does not run on the same computer as the R Connector for Team Studio.

R jobs can be computationally intensive, and long-running jobs should not starve the web application. For this reason, a port must be opened between the computer running the Team Studio Web Server and the one running the R Connector for Team Studio. The default port on which the R Connector for Team Studio is listening for remote connections is 2553. This setting can be changed in the application.conf file before starting the R Connector for Team Studio services using start_services.sh.

To check the firewall rules, check the iptables settings. (This might not be enough if there are hardware firewalls in place, or other issues.) The iptables command is high-priority; therefore, it usually requires superuser privileges. If you can use sudo try running iptables with sudo, as follows.

$sudo iptables -L

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Installing the R Connector

See Installing the R Connector for detailed information.