Categories

Versions

You are viewing the RapidMiner Server documentation for version 9.2 -Check here for latest version

Using JBoss EAP 6.4 GA version

RapidMiner Server is bundled withJBoss EAP Alphaversions due to licensing restrictions. If you have the necessary license to run theJBoss EAP 6.4 GAversion then you can also use it to run RapidMiner Server. The following steps are required to use theJBoss EAP 6.4 GA version:

Setting up the application server

RapidMiner Server requires configuration changes to the defaultJBoss EAPconfiguration. Normally the RapidMiner Server installer takes care of these changes but because of licensing restrictions the installer is shipped with theJBoss EAP Alphaversion. As a result to run RapidMiner Server on aJBoss EAP GAinstance you will need to manually perform the necessary configurations. The following sections will guide you step by step how to do so.

JBoss boot modules

Regardless of whether you are running the JBoss EAP under Windows, OS X or Linux the respective bootstrap scripts located in thebinfolder need to be modified by adding thejboss-modulesjar的嘘tstrap class path with the following JVM option:-Xbootclasspath/a:\"$JBOSS_HOME/jboss-modules.jar\"

if [ "x$LAUNCH_JBOSS_IN_BACKGROUND" = "x" ]; then # Execute the JVM in the foreground eval \"$JAVA\" -D\"[Standalone]\" $JAVA_OPTS \ \"-Dorg.jboss.boot.log.file="$JBOSS_LOG_DIR"/server.log\" \ \"-Dlogging.configuration=file:"$JBOSS_CONFIG_DIR"/logging.properties\" \
-Xbootclasspath/a:\"$JBOSS_HOME/jboss-modules.jar\" \
-jar \""$JBOSS_HOME"/jboss-modules.jar\" \ $MODULE_OPTS \ -mp \""${JBOSS_MODULEPATH}"\" \ -jaxpmodule "javax.xml.jaxp-provider" \ org.jboss.as.standalone \ -Djboss.home.dir=\""$JBOSS_HOME"\" \ -Djboss.server.base.dir=\""$JBOSS_BASE_DIR"\" \ "$SERVER_OPTS" JBOSS_STATUS=$? else # Execute the JVM in the background eval \"$JAVA\" -D\"[Standalone]\" $JAVA_OPTS \ \"-Dorg.jboss.boot.log.file="$JBOSS_LOG_DIR"/server.log\" \ \"-Dlogging.configuration=file:"$JBOSS_CONFIG_DIR"/logging.properties\" \
-Xbootclasspath/a:\"$JBOSS_HOME/jboss-modules.jar\" \
-jar \""$JBOSS_HOME"/jboss-modules.jar\" \ $MODULE_OPTS \ -mp \""${JBOSS_MODULEPATH}"\" \ -jaxpmodule "javax.xml.jaxp-provider" \ org.jboss.as.standalone \ -Djboss.home.dir=\""$JBOSS_HOME"\" \ -Djboss.server.base.dir=\""$JBOSS_BASE_DIR"\" \ "$SERVER_OPTS" "&" JBOSS_PID=$!
:RESTART if x%XLOGGC% == x ( "%JAVA%" %JAVA_OPTS% ^ "-Dorg.jboss.boot.log.file=%JBOSS_LOG_DIR%\server.log" ^ "-Dlogging.configuration=file:%JBOSS_CONFIG_DIR%/logging.properties" ^
-Xbootclasspath / a:“% JBOSS_HOME % \ jboss-modules.jar" ^
-jar "%JBOSS_HOME%\jboss-modules.jar" ^ %MODULE_OPTS% ^ -mp "%JBOSS_MODULEPATH%" ^ -jaxpmodule "javax.xml.jaxp-provider" ^ org.jboss.as.standalone ^ "-Djboss.home.dir=%JBOSS_HOME%" ^ %SERVER_OPTS% ) else ( "%JAVA%" -Xloggc:%XLOGGC% %JAVA_OPTS% ^ "-Dorg.jboss.boot.log.file=%JBOSS_LOG_DIR%\server.log" ^ "-Dlogging.configuration=file:%JBOSS_CONFIG_DIR%/logging.properties" ^
-Xbootclasspath / a:“% JBOSS_HOME % \ jboss-modules.jar" ^
-jar "%JBOSS_HOME%\jboss-modules.jar" ^ %MODULE_OPTS% ^ -mp "%JBOSS_MODULEPATH%" ^ -jaxpmodule "javax.xml.jaxp-provider" ^ org.jboss.as.standalone ^ "-Djboss.home.dir=%JBOSS_HOME%" ^ %SERVER_OPTS% )

RapidMiner Server home directory

The RapidMiner Serverhome directoryis where your RapidMiner Server configuration and data are stored. The folder needs to be created manually and we recommend to choose a location outside of the application server structure. In the following article the RapidMiner Server home is referred toRM_HOMEand should not be confused with the JBoss home directoryJBOSS_HOME. As every configuration should be stored withinRM_HOMEmove the folderJBOSS_HOME/standalone/configuationtoRM_HOME/configuration. Please also make sure to create the following directories:

  • RM_HOME/data
  • RM_HOME/log
  • RM_HOME/resources/licenses

JBoss JVM options configuration

JBoss EAP needs to be started with specific JVM options for RapidMiner Server to work as expected. Apply the highlighted changes tobin/standalone.conf.batfile for Windows platforms or the/bin/standalone.conffile in the case of Linux and OS X platforms. The JVM maximum memory can be adjusted by creating theRM_HOME/configuration/max-memory.conffile.

8192M

The expected value in the file is a number followed by letter ‘M’ which signifies the size of memory in MB. In this example the maximum amount of memory that RapidMiner Server may allocate is 8192 MB.

The amount set in themax-memory.conffile MUST be greater than theXmsoption specified in/bin/standalone.confor/bin/standalone.conf.batdepending on your platform.

Change place holder"%%%%%JAVA_LOCATION%%%%%"to the path of your jre/jdk installation and make sure that it’s version iscompatiblewith the RapidMiner Server version you want to install.

Change place holder"%%%%%RM_HOME_LOCATION%%%%%"to a path of your choice. We recommend a location outside of the application server.

## -*- shell-script -*- ###################################################### ## ## ## JBoss Bootstrap Script Configuration ## ## ## ############################################################################## # # This file is optional; it may be removed if not needed. # # # Specify the maximum file descriptor limit, use "max" or "maximum" to use # the default, as queried by the system. # # Defaults to "maximum" # #MAX_FD="maximum" # # Specify the profiler configuration file to load. # # Default is to not load profiler configuration file. # #PROFILER="" # # Specify the location of the Java home directory. If set then $JAVA will # be defined to $JAVA_HOME/bin/java, else $JAVA will be "java". #
JAVA_HOME="%%%%%JAVA_LOCATION%%%%%"
# # Specify the exact Java VM executable to use. # #JAVA="" if [ "x$JBOSS_MODULES_SYSTEM_PKGS" = "x" ]; then JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman" fi # Uncomment the following line to prevent manipulation of JVM options # by shell scripts. # #PRESERVE_JAVA_OPTS=true # # Use Xmx settings file introduced in RapidMiner Server 7.2 # MAX_MEMORY_CONFIG_FILE="$DIRNAME/../standalone/configuration/max-memory.conf" if [ -r "$MAX_MEMORY_CONFIG_FILE" ]; then MAX_MEMORY_CONFIG=$(cat "$MAX_MEMORY_CONFIG_FILE") else MAX_MEMORY_CONFIG="2048m" fi # # Specify options to pass to the Java VM. # if [ "x$JAVA_OPTS" = "x" ]; then JAVA_OPTS="-Xms1303m -Xmx$MAX_MEMORY_CONFIG -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true" JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -XX:MaxGCPauseMillis=50" JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true" JAVA_OPTS="$JAVA_OPTS -Djboss.modules.policy-permissions=true" JAVA_OPTS="$JAVA_OPTS -Duser.country=US -Duser.language=en"
# Set pooled JNDI connection timeout in milliseconds JAVA_OPTS="$JAVA_OPTS -Dcom.sun.jndi.ldap.connect.pool.timeout=300000"
else echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS" fi # Sample JPDA settings for remote socket debugging #JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n" # Sample JPDA settings for shared memory debugging #JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_shmem,server=y,suspend=n,address=jboss" # Uncomment to not use JBoss Modules lockless mode #JAVA_OPTS="$JAVA_OPTS -Djboss.modules.lockless=false" # Uncomment to gather JBoss Modules metrics #JAVA_OPTS="$JAVA_OPTS -Djboss.modules.metrics=true" # Uncomment this to run with a security manager enabled # SECMGR="true"
# Specify the RapidMiner Server home directory. RAPIDMINER_SERVER_HOME="%%%%%RM_HOME_LOCATION%%%%%" JAVA_OPTS="$JAVA_OPTS -Drmserver.home.dir=$RAPIDMINER_SERVER_HOME" JAVA_OPTS="$JAVA_OPTS -Djboss.server.log.dir=$RAPIDMINER_SERVER_HOME/log" JAVA_OPTS="$JAVA_OPTS -Djboss.server.config.dir=$RAPIDMINER_SERVER_HOME/configuration" JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"

Change place holder"%%%%%JAVA_LOCATION%%%%%"to the path of your jre/jdk installation and make sure that it’s version iscompatiblewith the RapidMiner Server version you want to install.

Change place holder"%%%%%RM_HOME_LOCATION%%%%%"to a path of your choice. We recommend a location outside of the application server.

rem ### -*- batch file -*- ###################################################### rem # ## rem # JBoss Bootstrap Script Configuration ## rem # ## rem ############################################################################# rem # $Id: run.conf.bat 88820 2009-05-13 15:25:44Z dimitris@jboss.org $ rem # rem # This batch file is executed by run.bat to initialize the environment rem # variables that run.bat uses. It is recommended to use this file to rem # configure these variables, rather than modifying run.bat itself. rem # rem Uncomment the following line to disable manipulation of JAVA_OPTS (JVM parameters) rem set PRESERVE_JAVA_OPTS=true rem # removed because when installing RA necessary options are defined; -xrs parameter of service would trigger skip rem if not "x%JAVA_OPTS%" == "x" ( rem echo "JAVA_OPTS already set in environment; overriding default settings with values: %JAVA_OPTS%" rem goto JAVA_OPTS_SET rem ) rem # rem # Specify the JBoss Profiler configuration file to load. rem # rem # Default is to not load a JBoss Profiler configuration file. rem # rem set "PROFILER=%JBOSS_HOME%\bin\jboss-profiler.properties" rem # rem # Specify the location of the Java home directory (it is recommended that rem # this always be set). If set, then "%JAVA_HOME%\bin\java" will be used as rem # the Java VM executable; otherwise, "%JAVA%" will be used (see below). rem #
set "JAVA_HOME=%%%%%JAVA_LOCATION%%%%%"
rem # rem #指定的Java VM执行to use - only used if JAVA_HOME is rem # not set. Default is "java". rem # rem set "JAVA=C:\opt\jdk1.6.0_23\bin\java" rem # rem # Specify options to pass to the Java VM. Note, there are some additional rem # options that are always passed by run.bat. rem # rem # Use Xmx settings file introduced in RapidMiner Server 7.2 if exist %DIRNAME%\..\standalone\configuration\max-memory.conf ( set /p MAX_MEMORY_CONFIG=<%DIRNAME%\..\standalone\configuration\max-memory.conf ) else ( set MAX_MEMORY_CONFIG=2048m ) rem # JVM memory allocation pool parameters - modify as appropriate. set "JAVA_OPTS=%JAVA_OPTS% -Xms1303M -Xmx%MAX_MEMORY_CONFIG% -XX:MaxPermSize=256M" set "JAVA_OPTS=%JAVA_OPTS% -XX:+UseG1GC -XX:MaxGCPauseMillis=50" rem # Prefer IPv4 set "JAVA_OPTS=%JAVA_OPTS% -Djava.net.preferIPv4Stack=true"
rem # Set pooled JNDI connection timeout in milliseconds set "JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.jndi.ldap.connect.pool.timeout=300000"
rem # Set the jboss.modules.policy-permissions property to true by default. set "JAVA_OPTS=%JAVA_OPTS% -Djboss.modules.policy-permissions=true " rem # Make Byteman classes visible in all module loaders rem # This is necessary to inject Byteman rules into AS7 deployments set "JAVA_OPTS=%JAVA_OPTS% -Djboss.modules.system.pkgs=org.jboss.byteman" rem # Set to english logging set "JAVA_OPTS=%JAVA_OPTS% -Duser.country=US -Duser.language=en" rem # Sample JPDA settings for remote socket debugging rem set "JAVA_OPTS=%JAVA_OPTS% -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n" rem # Sample JPDA settings for shared memory debugging rem set "JAVA_OPTS=%JAVA_OPTS% -agentlib:jdwp=transport=dt_shmem,address=jboss,server=y,suspend=n" rem # Use JBoss Modules lockless mode rem set "JAVA_OPTS=%JAVA_OPTS% -Djboss.modules.lockless=true" rem # Uncomment this to run with a security manager enabled rem set "SECMGR=true" :JAVA_OPTS_SET
rem #主文件夹集合”JAVA_OPTS = % JAVA_OPTS % -Drmserver.home.dir=%%%%%RM_HOME_LOCATION%%%%%" rem # Set log folder set "JAVA_OPTS=%JAVA_OPTS% -Djboss.server.log.dir=%%%%%RM_HOME_LOCATION%%%%%\log" rem # Set configuration folder set "JAVA_OPTS=%JAVA_OPTS% -Djboss.server.config.dir=%%%%%RM_HOME_LOCATION%%%%%\configuration" rem # Set UTF-8 file encoding set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8"

JDBC driver configuration

Configure the JDBC driver to allow connection to your repository database. JBoss GA does not come with bundled JDBC drivers so you will need to download the driver and store it to the appropriate location undermodules/system/layers/basefolder. Depending on the underlying database you are using the full path will differ:

  • Microsoft SQL Server: create thecom/mssql/mainsubfolder structure inside the base folder and copy the driver library (for examplemssql-jdbc-6.4.0.jre8.jar) into it.
  • MySQL: create thecom/mysql/mainsubfolder structure inside the base folder and copy the driver library (for examplemysql-connector-java-8.0.11.jar) into it.
  • Oracle: create theoracle/mainsubfolder structure inside the base folder and copy the driver library (for exampleojdbc7-12.1.0.2.jar) into it.
  • PostgreSQL: create theorg/postgresql/mainsubfolder structure inside the base folder and copy the driver library (for examplepostgresql-42.2.2.jar) into it.

You also need to register the JDBC driver library by creating amodule.xmlfile in the same folder the driver is stored. Depending on the driver and version you will need to modify thename="..."andpath="..."attributes.

Modify JBoss database configuration

Now that JBoss is able to use the JDBC driver you need to add a data source and register the JDBC driver instandalone/configuration/standalone.xml.

The data source describes the connection to the RapidMiner Server repository database while the driver defines the Java class that implements the JDBC driver class. Data source and driver definition may vary depending on the type of database you use.

You need to add thedatasourceand thedrivertags underdatasources标签。也不要忘记改变:

  • the...according to your JDBC driver,
  • the...and...depending on the JDBC driver class,
  • the...,depending on the JDBC driver library you configured.
  • within the newdatasourceelement, update thesecurityelement with the correctuser-nameandpassword.
<数据源jta = " true " jndi名称=“java: / jdbc /快速AnalyticsDS" pool-name="RapidAnalyticsDS" enabled="true" use-java-context="false" use-ccm="true"> jdbc:sqlserver://dbhost:1433;databaseName=dbschema;SelectMethod=cursor; mssql-jdbc-6.4.0.jre8.jar  5 50 false false FailingConnectionOnly   dbuser dbpassword    false true 5000      com.microsoft.sqlserver.jdbc.SQLServerDriver com.microsoft.sqlserver.jdbc.SQLServerDriver  
<数据源jta = " true " jndi名称=“java: / jdbc /快速AnalyticsDS" pool-name="RapidAnalyticsDS" enabled="true" use-java-context="false" use-ccm="true"> jdbc:mysql://dbhost:3306/dbschema true mysql-connector-java-8.0.11.jar TRANSACTION_READ_COMMITTED  0 20 true false FailingConnectionOnly   dbuser dbpassword    false true 5000    0 false     com.mysql.jdbc.Driver com.mysql.jdbc.Driver  
<数据源jta = " true " jndi名称=“java: / jdbc /快速AnalyticsDS" pool-name="RapidAnalyticsDS" enabled="true" use-java-context="false" use-ccm="true"> jdbc:oracle:thin:@dbhost:1521:dbschema ojdbc7-12.1.0.2.jar TRANSACTION_READ_COMMITTED  5 100 true false FailingConnectionOnly   dbuser dbpassword    false true 5000      oracle.jdbc.driver.OracleDriver oracle.jdbc.driver.OracleDriver  
<数据源jta = " true " jndi名称=“java: / jdbc /快速AnalyticsDS" pool-name="RapidAnalyticsDS" enabled="true" use-java-context="false" use-ccm="true"> jdbc:postgresql://dbhost:5432/dbschema postgresql-42.2.2  dbuser dbpassword    false true 5000      org.postgresql.Driver org.postgresql.Driver  

Disable Subdeployment Class Loader Isolation

To disable Subdeployment class loader Isolation within an ear file locate theelement within thestandalone/configuration/standalone.xmland replace thetrueelement withfalse.

Modify JBoss security configuration

Thestandalone/configuration/standalone.xmlfile needs to be adjusted with an additionalsecurity-domainelement with attributename="RapidAnalyticsEJBDomain"that defines the security domain used by RapidMiner Server for authentication and access control. This element needs to be placed within thesecurity-domainselement:

<安全域> <安全域的名字= c“其他”ache-type="default">                         

If you want to use Radoop on RapidMiner Server as well, you will also need to add the security groupradoop-kerberosto thesecurity-domainselement. The security domainshadoop_default,Client_simpleandClientare only necessary if you want to connect to a MapR cluster.

In order to enableLDAPauthentication you will need to create thelocal-security.propertiesand store it in the/standalone/configurationfolder. Then follow the steps as explained inChanging LDAP settingsguide

JBoss virtual server configuration

RapidMiner Server additionally requires changes to virtual server configuration instandalone/configuration/standalone.xmlfile. Locate the virtual server subsystem with attributexmlns="urn:jboss:domain:web:2.2". There be sure to make the following changes:

  • changedefault-virtual-serverattribute to have the value"ra-host"
  • add avirtual-serverelement with the following attributes and its values:name="ra-host",enable-welcome-root="false"anddefault-web-module="ROOT"
  • inside thevirtual-serverelement create analiaselement with an attributenamewhose value is the host name RapidMiner server will be accessible, for example
Change place holder"%%%%%SERVER_HOST%%%%%"to the address RapidMiner Server should be accessible from.
        

JBoss interface configuration

The JBoss application server needs to be configured on which address the application as well as the management endpoints of the server should be accessed. To do this theinterfacesandelements need to be adapted in thestandalone/configuration/standalone.xmlconfiguration file. Specifically:

  • adjust the nestedinterfaceelements with name attribute valuesmanagement,public,unsecureto contain an地址element as follows:.

    Be sure to change%%%%%SERVER_HOST%%%%%placeholder to the address you set previously asaliasname whenconfiguring the virtual serverelement

  • add an additionalinterfaceelement of which the attributenameisanyand has a nestedelement
  • locate theelement and change it'sdefault-interfaceattribute value to"any".

Configure the WSDL SOAP address

To configure thesoap:addresselement which the RapidMiner Server WSDL lists you will need to update theelement in thestandalone/configuration/standalone.xmlwith the address%%%%%SERVER_HOST%%%%%you set duringthe JBoss interface configurationstep.

(Opti RapidMiner服务器绑定到一个特定的地址onal)

It is possible to bind the Rapidminer Server access to specific address. To do this you need first to configure avirtual serveraddress andassign it to an interface. Once you have completed these steps locate theelement in thestandalone/configuration/standalone.xmlfile and change it'sdefault-interfaceattribute value to"public".

Change the default http port (Optional)

The default port for the http requests directed to RapidMiner Server (currently 8080) can be changed via thestandalone/configuration/standalone.xml. Locate theand the nestedelement of which the attributenamehas"http"value. Change theportattribute accordingly.

JBoss virtual SMTP configuration (Optional)

To be able to send automated e-mails from RadpidMiner Server, the JBoss virtual SMTP configuration needs to be adjusted. This step is optional and can be skipped if you do not require the e-mail functionality of RapidMiner Server.

Locate themail-sessiontag withinstandalone/configuration/standalone.xmland change the following:

  • update thejndi-nameattribute to value"java:/Mail"
  • add thedebugattribute with value"false"
  • add thefromattribute with the value you want to appear as the sender of the e-mail, for example no-reply@www.turtlecreekpls.com
  • change the nestedsmtp-serverelement from empty element tag to an element with start and end tags. Within the element add alogin-nameelement with the attributesnameandpasswordfor the smtp server user that will be used to send the e-mail.
Change place holders"%%%%%MAIL_SENDER%%%%%"to the email address you want to appear as the sender of the e-mail, and placeholders%%%%%MAIL_USER%%%%%,%%%%%MAIL_PASSWORD%%%%%to the credentials of the user that will be used to send the e-mail by the smtp server.
    
Change place holders"%%%%%MAIL_SENDER%%%%%"to the email address you want to appear as the sender of the e-mail, and placeholders%%%%%MAIL_USER%%%%%,%%%%%MAIL_PASSWORD%%%%%to the credentials of the user that will be used to send the e-mail by the smtp server.
     
Change place holders"%%%%%MAIL_SENDER%%%%%"to the email address you want to appear as the sender of the e-mail, and placeholders%%%%%MAIL_USER%%%%%,%%%%%MAIL_PASSWORD%%%%%to the credentials of the user that will be used to send the e-mail by the smtp server.
      
Change place holders"%%%%%MAIL_SENDER%%%%%"to the email address you want to appear as the sender of the e-mail, and placeholders%%%%%MAIL_USER%%%%%,%%%%%MAIL_PASSWORD%%%%%to the credentials of the user that will be used to send the e-mail by the smtp server.
         
Change place holders"%%%%%MAIL_SENDER%%%%%"to the email address you want to appear as the sender of the e-mail, and placeholders%%%%%MAIL_USER%%%%%,%%%%%MAIL_PASSWORD%%%%%to the credentials of the user that will be used to send the e-mail by the smtp server.
      
Change place holders"%%%%%MAIL_SENDER%%%%%"to the email address you want to appear as the sender of the e-mail, and placeholders%%%%%MAIL_USER%%%%%,%%%%%MAIL_PASSWORD%%%%%to the credentials of the user that will be used to send the e-mail by the smtp server.
        

Deploying the application

Check theDownloading RapidMiner Serversection on how you can download the latest RapidMiner Server installer and follow the instructions as described in theInstalling the full server packagesection. After the installation is completed, copy the files from the recently installed RapidMiner Server instance to the JBoss GA version:

  • RM_HOME/configuration/execution.properties
  • JBOSS_HOME/standalone/deployments/rapidminer-server-*.ear
  • JBOSS_HOME/standalone/deployments/rapidminer-execution-jobservice-*.war

The next step is tostartup RapidMiner Server.
After the successful login you may be prompted to take a series ofconfiguration stepsand finally to add a RapidMiner Serverlicense. Copyyour RapidMiner Server license keyand click onSubmit. The installation is now completed and the RapidMiner Server home page should be displayed.