Installing on Amazon Linux 2

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

👍

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://: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

  • 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