This document describes how to install the Registry software contained in the registry package. The following topics can be found in this section:
This section details the system requirements for installing and operating the Registry.
The Registry was developed using Java and will run on any platform with a supported Java Runtime Environment (JRE). The software was specifically compiled for and tested in Java version 1.8 (64-bit). The following commands test the local Java installation in a UNIX-based environment:
NOTE: This software only works with 64-bit Java installation.
% which java /usr/bin/java % java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
The first command above checks whether the java executable is in the environment's path and the second command reports the version. If Java is not installed or the version is not at least 1.8, Java will need to be downloaded and installed in the current environment. Consult the local system administrator for installation of this software. For the do-it-yourself crowd, the Java software can be downloaded from the Oracle Java Download page. The suggested software package is the Java Standard Edition (SE) 8, either the JDK or the JRE package. The JDK package is not necessary to run the software but could be useful if development and compilation of Java software will also occur in the current environment.
Download the registry package from the PDS FTP site. The binary distribution is available in identical zip or tar/gzip packages. The installation directory may vary from environment to environment but in UNIX-based environments it is typical to install software packages in the /home/pds directory and in Windows-based environments it is typical to install software packages in the C:\Program Files directory. Unpack the selected binary distribution file with one of the following commands:
The top-level directory where the package is installed will be referenced in these instructions as $REGISTRY_HOME.
% unzip registry-2.0.0-bin.zip or % tar -xzvf registry-2.0.0-bin.tar.gz # Set the REGISTRY_HOME variable. % cd registry-2.0.0 # On Linux and Mac % export REGISTRY_HOME=$(pwd) # On Windows % set "REGISTRY_HOME=%cd%"
Note: Depending on the platform, the native version of tar may produce an error when attempting to unpack the distribution file because many of the file paths are greater than 100 characters. If available, the GNU version of tar will resolve this problem. If that is not available or cannot be installed, the zipped package will work just fine in a UNIX environment.
The commands above result in the creation of the registry-2.0.0 directory with the following directory structure:
The copyright notice from the California Institute of Technology detailing the restrictions regarding the use and distribution of this software. Although the license is strictly worded, the software has been classified as Technology and Software Publicly Available (TSPA) and is available for anyone to download and use.
A README file directing the user to the available documentation for the project.
A VERSION file contains the version of the project.
This directory contains the scripts for installing or uninstalling.
This directory contains the scripts for installing or uninstalling the project in Docker.
This directory contains the jar for the Registry API (PDS Search Protocol).
This directory contains the configuration for Apache Solr. This is where you can make updates to the Solr schema and solrconfig.xml.
This directory contains the jars used by the Solr to parse XSLT.
NOTE: Docker installation is currently only available for Linux / Mac OS X users. We are working on a version for Windows. In the meantime, Windows Users please use the Standalone Installation
This section details how to install and deploy a dockerized instance of the PDS Registry.
The following Registry installation procedure is for Linux and Mac operating systems. Please contact Engineering Node if you run into any issues.
Install and Run Docker Desktop for Mac as indicated in Install Docker Desktop for Mac website if your system doesn't have Docker.
% cd $REGISTRY_HOME/bin
% ./registry_install.sh
Enter an installation mode (docker or standalone): docker
You should see output similar to the following:
STARTING Registry Installer in docker mode. Registry ..... ( v 2.0.0 ) ( installing on platform: Mac OS X ) ( IP Address:- 192.168.1.65 ) ( Host Name:- MT-106917 ) Execute to install Registry in Docker... Building Registry Docker Image. SUCCESS Starting Registry Docker Container. SUCCESS Waiting for Solr server to start (60 seconds)... Creating a Registry Service Blob collection (.system) SUCCESS Creating a Registry Service XPath collection (xpath) SUCCESS Creating a Search collection (pds) SUCCESS Completed to install Registry in Docker.
Open up your favorite browser and type in http://localhost:8983/solr. You should see the Solr admin interface.
NOTE: Make sure that there is a Docker installation and up and running on the platform.
% cd $REGISTRY_HOME/bin
% ./registry_install.sh
Enter an installation mode (docker or standalone): docker
You should see output similar to the following:
Enter an installation mode (docker or standalone): docker STARTING Registry Installer in docker mode. Registry ..... ( v 2.0.0 ) ( installing on platform: Linux ) ( IP Address:- 192.168.1.65 ) ( Host Name:- pds ) Installing Registry in Docker... Building Registry Docker Image. SUCCESS Starting Registry Docker Container. SUCCESS Waiting for Solr server to start (30 seconds)... Creating a Registry Service Blob collection (.system) SUCCESS Creating a Registry Service XPath collection (xpath) SUCCESS Creating a Search collection (pds) Completed to install Registry in Docker.
Open up your favorite browser and type in http://localhost:8983/solr. You should see the Solr admin interface.
This section of the Registry Installation guide is for installing Solr and the Registry as a standalone application outside of Docker. The Docker installation method is the preferred method, however, the standalone version is acceptable in certain circumstances. Please consult Engineering Node if you have any questions about what installation method you should pursue.
Unpack SOLR pkg and set SOLR_HOME
% tar xvf solr-7.7.0.tgz % cd solr-7.7.0 # Set SOLR_HOME % export SOLR_HOME=$(pwd) % echo $SOLR_HOME /home/pds/solr-7.7.0
NOTE: The export command will be used to store the directory of the Solr installation.
% cd $REGISTRY_HOME/bin
% ./registry_install.sh
Enter an installation mode (docker or standalone): standalone Enter location of SOLR installation: /home/pds/solr-7.7.0
You should see output similar to the following:
STARTING Registry Installer in standalone mode. Registry ..... ( v 2.0.0 ) ( installing on platform: Mac OS X ) ( IP Address:- 192.168.1.65 ) ( Host Name:- MT-106917 ) Enter location of SOLR installation: /Users/pds/SOLR/solr-7.7.0 Copied a directory from /Users/pds/registry/target/registry-2.0.0/bin/../dist to /Users/pds/SOLR/solr-7.7.0/contrib/pds/lib Copied a directory from /Users/pds/registry/target/registry-2.0.0/bin/../conf to /Users/pds/SOLR/solr-7.7.0/server/solr/configsets/pds/conf Copied a file from /Users/pds/registry/target/registry-2.0.0/bin/../lib/saxon-9.jar to /Users/pds/SOLR/solr-7.7.0/server/solr-webapp/webapp/WEB-INF/lib/saxon-9.jar Copied a file from /Users/pds/registry/target/registry-2.0.0/bin/../lib/saxon-dom-9.jar to /Users/pds/SOLR/solr-7.7.0/server/solr-webapp/webapp/WEB-INF/lib/saxon-dom-9.jar Starting a SOLR server ....Waiting up to 180 seconds to see Solr running on port 8983.... *** [WARN] *** Your open file limit is currently 10240. It should be set to 65000 to avoid operational disruption. If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh *** [WARN] *** Your Max Processes Limit is currently 1418. It should be set to 65000 to avoid operational disruption. If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh Waiting up to 180 seconds to see Solr running on port 8983 [-] Started Solr server on port 8983 (pid=67836). Happy searching! Return status from the SOLR server startup = 0 The SOLR server is started successfully. Creating Registry Service collection (.system) ... { "responseHeader":{ "status":400, "QTime":45}, "Operation create caused exception:":"org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: collection already exists: .system", "exception":{ "msg":"collection already exists: .system", "rspCode":400}, "error":{ "metadata":[ "error-class","org.apache.solr.common.SolrException", "root-error-class","org.apache.solr.common.SolrException"], "msg":"collection already exists: .system", "code":400}} Return status from creating registry service collection (.system) = 0 Registry service collection (.system) is created successfully. { "responseHeader":{ "status":0, "QTime":122}} Return status from creating registry service collection alias = 0 Registry service collection alias (.system) is created successfully. Creating Registry Service collection (xpath) ... { "responseHeader":{ "status":0, "QTime":3528}, "success":{ "192.168.1.65:8983_solr":{ "responseHeader":{ "status":0, "QTime":1881}, "core":"xpath_shard1_replica_n1"}}, "warning":"Using _default configset. Data driven schema functionality is enabled by default, which is NOT RECOMMENDED for production use. To turn it off: curl http://{host:port}/solr/xpath/config -d '{\"set-user-property\": {\"update.autoCreateFields\":\"false\"}}'"} Registry service collection (xpath) is created successfully. { "responseHeader":{ "status":0, "QTime":120}} Registry service collection alias (xpath) is created successfully. Creating Search collection (pds) ... Created collection 'pds' with 1 shard(s), 1 replica(s) with config-set 'pds' Return status from creating search collection = 0 Search collection (pds) is created successfully.
Open up your favorite browser and type in http://localhost:8983/solr. You should see the Solr admin interface.
If Curl is not already installed on the target Windows machine, it can be downloaded from the Curl website. Make sure that the PATH environment references the bin/ folder in the Curl directory(i.e. C:\path\to\curl\bin).
From Command Prompty, go to directory of unpacked Solr software, and output the full path for future reference:
$ cd solr-7.7.2 # Set SOLR_HOME variable and note path that is output $ set "SOLR_HOME=%cd%" $ echo %SOLR_HOME% C:\home\pds\solr-7.7.0
$ cd %REGISTRY_HOME%\bin
$ registry_install.bat
Enter an installation mode (docker or standalone): standalone Enter location of SOLR installation: C:\home\pds\solr-7.7.0
You should see output similar to the following:
STARTING Registry Installer in standalone mode. Registry ..... ( v 2.0.0 ) ( installing on platform: Windows 7 ) ( IP Address:- 192.168.1.65 ) ( Host Name:- PDS-HP ) Enter location of SOLR installation: C:\Users\pds\solr-7.7.0 Copied a directory from C:\Users\pds\registry-2.0.0\bin\..\dist to C:\Users\pds\solr-7.7.0\contrib\pds\lib Copied a directory from C:\Users\pds\registry-2.0.0\bin\..\conf to C:\Users\pds\solr-7.7.0\server\solr\configs ets\pds\conf Copied a file from C:\Users\pds\registry-2.0.0\bin\..\lib\saxon-9.jar to C:\Users\pds\solr-7.7.0\server\solr-w ebapp\webapp\WEB-INF\lib\saxon-9.jar Copied a file from C:\Users\pds\registry-2.0.0\bin\..\lib\saxon-dom-9.jar to C:\Users\pds\solr-7.7.0\server\so lr-webapp\webapp\WEB-INF\lib\saxon-dom-9.jar Starting a SOLR server ....Waiting up to 180 seconds to see Solr running on port 8983.... SOLR server is started on Windows 7 Creating Registry Service collection (.system) ... { "responseHeader":{ "status":0, "QTime":11259}, "success":{ "169.254.193.90:8983_solr":{ "responseHeader":{ "status":0, "QTime":7562}, "core":".system_shard1_replica_n1"}}, "warning":"Using _default configset. Data driven schema functionality is enabled by default, which is NOT RECOMMENDED for production use. To turn it off: curl http://{host:port}/solr/.system/config -d '{\"set-user-property\": {\"update.autoCreateFields\":\"false\"}}'"} Return status from creating registry service collection (.system) = 0 Registry service collection (.system) is created successfully. { "responseHeader":{ "status":0, "QTime":384}} Return status from creating registry service collection alias = 0 Registry service collection alias (.system) is created successfully. Creating Registry Service collection (xpath) ... { "responseHeader":{ "status":0, "QTime":17582}, "success":{ "169.254.193.90:8983_solr":{ "responseHeader":{ "status":0, "QTime":13858}, "core":"xpath_shard1_replica_n1"}}, "warning":"Using _default configset. Data driven schema functionality is enabled by default, which is NOT RECOMMENDED for production use. To turn it off: curl http://{host:port}/solr/xpath/config -d '{\"set-user-property\": {\"update.autoCreateFields\":\"false\"}}'"} Registry service collection (xpath) is created successfully. { "responseHeader":{ "status":0, "QTime":355}} Registry service collection alias (xpath) is created successfully. Creating Search collection (pds) ... Created collection 'pds' with 1 shard(s), 1 replica(s) with config-set 'pds' Return status from creating search collection = 0 Search collection (pds) is created successfully.
Open up your favorite browser and type in http://localhost:8983/solr. You should see the Solr admin interface.
This issue could happen for several reasons, but we will need to look through the logs to determine the issue:
# STANDALONE INSTALLATION open $SOLR_HOME/server/logs/solr.log open $SOLR_HOME/server/logs/solr-8983-console.log
Error occurred during initialization of VM Could not reserve enough space for 2097152KB object heap
This error means the application failed to install correctly. The following are potential mitigation strategies:
For other errors that arise while testing the installation, see the Operate - Common Errors