Installing on Amazon Linux 2

Prerequisites

Recommended EC2 instance type is r5.large.

  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.5.1/searchblox-10.5.1-0.noarch.rpm

  5. Install the rpm package
    sudo rpm -ivh searchblox-10.5.1-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

👍

Note:

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.

🚧

SearchBlox Admin Console Access using IP Address or Domain Name

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=443

  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