Installing on Amazon Linux 2


Recommended EC2 instance type is i3.xlarge.

  1. Install OpenJDK 11 by running the following command:
    amazon-linux-extras install -y java-openjdk11

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

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

  4. Increase the map count with the following command
    sysctl -w vm.max_map_count=262144
    set this permanently in /etc/sysctl.conf by adding the following line:

  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.

    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


  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

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

  7. To start Elasticsearch and SearchBlox services
    systemctl start sbelastic
    systemctl start searchblox

  8. To stop Elasticsearch and SearchBlox services
    systemctl stop sbelastic
    systemctl stop searchblox

Running Analytics as Service

  1. Download sbanalytics.service file into /etc/systemd/system

  2. Enable sbanalytics.service using the command:
    systemctl daemon-reload

  3. Start Analytics service using the command:
    systemctl start sbanalytics

  4. View the status of the Analytics service using the command:
    systemctl status sbanalytics

  5. To stop the Analytics service run below command:
    systemctl stop sbanalytics

Verify Installation

Once you see the message "The service has started", wait for few seconds then go to http://localhost:8080/searchblox/admin/main.jsp to validate.

  • You can verify if SearchBlox has started successfully by viewing the status.log file in the <SEARCHBLOX_INSTALLATION_PATH>/webapps/searchblox/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:

Change SearchBlox Server Port

SearchBlox Server runs on port 8080 by default.

You can change the port by following the following steps:

  1. Stop SearchBlox

  2. Edit the file /opt/searchblox/start.ini at line number 163 as follows:

  3. Start SearchBlox

If it is not possible to run SearchBlox in a port less than 1024 since SearchBlox runs as a non-root user, you can enable port forwarding if required using :
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080


Run the following command to uninstall or remove SearchBlox:
yum remove searchblox

What’s Next

You can go through the related sections below