# Prerequisites

Recommended EC2 instance type is **i3.xlarge**.

  1. Install OpenJDK 11 by running the following command: `sudo yum install java-11-amazon-corretto`

  2. Install wget by running the following command: `yum install wget`

  3. Verify the installation by running the following command: `java -version`

  4. Set map count within **/etc/sysctl.conf** file by adding the following line: vm.max_map_count=262144

  5. Increase ulimit value and test system settings

    To change the file descriptor setting, edit the file **/etc/sysctl.conf**. Add line `fs.file-max=100000` to it.

    To apply the changes : `sysctl -p`

    To change the ulimit setting, edit the file /etc/security/limits.conf and set the hard and soft limits: `* soft nofile 100000` `* hard nofile 100000`

    After this value is changed please reboot the server. `reboot`

    Test the settings using the following command: `ulimit -a`

    To check the current open file descriptor limit: `more /proc/sys/fs/file-max` OR `sysctl -a | grep fs.file-max`

    To find out how many file descriptors are currently being used: `more /proc/sys/fs/file-nr`

    To find out how many files are currently open: `lsof | wc -l`

# Installation

  1. Please login as root using **sudo su** if you are not the root user.

  2. Create a SearchBlox user `sudo adduser searchblox` `sudo passwd searchblox`

  3. SearchBlox has to be installed in /opt folder, so change directory to /opt `cd /opt`

  4. Download SearchBlox rpm package `sudo wget https://d2fco3ozzrfhhd.cloudfront.net/v10.2/searchblox-10.2-0.noarch.rpm`

  5. Install the rpm package `sudo rpm -ivh searchblox-10.2-0.noarch.rpm`

  6. Change permission for the following folders `sudo chown -R searchblox:searchblox /opt/searchblox` `sudo chmod -R 755 /opt/searchblox/bin` `sudo chmod -R 755 /opt/searchblox/elasticsearch/bin` `sudo chmod -R 755 /opt/searchblox/analytics` `sudo chmod -R 755 /opt/searchblox/logs` `sudo chmod -R 755 /opt/searchblox/elasticsearch/logs` `sudo chmod -R 755 /opt/searchblox/connectors`

  7. Start SearchBlox service by running the following command: `systemctl start searchblox`


SearchBlox service will start elasticsearch and analytics services internally unlike previous versions. If service start up gives any issues, enable searchblox.service using the command below: `systemctl daemon-reload`

  1. Stop Analytics, SearchBlox and Elasticsearch services by running the following command: `systemctl stop searchblox`

  2. To verify the status of the SearchBlox service please use the following command: `systemctl status searchblox`

# Verify Installation

After you start the services, wait for 30 seconds then go to https://<Hostname or Host IP>:8443/console/ to access the SearchBlox Management Console to login.

You can also verify if SearchBlox has started successfully by viewing the **status.log** file in the `/opt/searchblox/webapps/ROOT/logs` folder.

Please confirm the message "Started Successfully" is shown in the log. In case of any errors, this log will provide additional information for troubleshooting.

  • To learn more on Troubleshooting visit: [Logging and Troubleshooting](🔗)

  • To learn about accessing SearchBlox visit: [Overview of SearchBlox](🔗)

  • To learn about tuning after installation visit: [Installation Tuning](🔗)

SearchBlox Admin Console Access using IP Address or Domain Name

  • You can use your IP instead of localhost in the URL to access the SearchBlox Admin Console.

  • If a domain name is mapped to the IP address, you can use the domain name: https://exampledomain:port/console https://exampledomain:port/search/index.html

# Change SearchBlox Server Port

**SearchBlox Server runs on port 8443 by default.**

You can change the port by following the steps as shown in the following:

  1. Stop SearchBlox service

  2. Edit the file _/opt/searchblox/start.d/https.ini_ and add the below line to set the required port number: `jetty.ssl.port=8443`

  3. Save the file https.ini

  4. Start SearchBlox service

Port Update

Fix the permission denied error while using searchblox service on less than ports 1024, run the below commands: Check the Java Path

# `readlink -f $(which java)`

Set the capability to bind low ports for non-root searchblox user.

# `setcap cap_net_bind_service+ep <javapath>`

# Uninstall

Uninstall or remove SearchBlox by running the following command: `yum remove searchblox`

Note: For clean SearchBlox uninstallation, it is required to remove searchblox directory i.e., /opt/searchblox manually by running the following command: `rm -rf /opt/searchblox`