SearchBlox

SearchBlox Developer Documentation

Welcome to the SearchBlox developer documentation. Here you will find comprehensive technical documentation to help you start working with SearchBlox as quickly as possible, as well as support if you get stuck. Let's jump right in!

Guides

Installing on Ubuntu

Installation of SearchBlox on Ubuntu

Prerequisites

  1. Install OpenJDK 11 by running the following command:
    sudo add-apt-repository ppa:openjdk-r/ppa && sudo apt-get update -q && sudo apt install -y openjdk-11-jdk

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

  3. Install wget using the following command:
    sudo apt-get update
    sudo apt-get install wget

  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:
    vm.max_map_count=262144

  5. Increase ulimit value and validate 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 that enable the pam_limits as followings:

    Edit the file /etc/pam.d/common-session and add the following line:
    session required pam_limits.so

    Reboot the server for the changes to take effect:
    reboot

    Check the ulimit settings by running the following commands:
    ulimit -a
    ulimit -Sn # Check soft limit
    ulimit -Hn # Check hard limit

SearchBlox Installation

  1. Please login as root using sudo su if you are not the root user or install using sudo as below.

  2. Create a SearchBlox user by giving the necessary details
    sudo adduser searchblox

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

  4. Download SearchBlox debain package
    sudo wget https://d2fco3ozzrfhhd.cloudfront.net/v9.2.1/searchblox_9.2.1-0_all.deb

  5. Install the debian package
    sudo dpkg -i searchblox_9.2.1-0_all.deb

  6. Change permission for few folders
    sudo chown -R searchblox:searchblox /opt/searchblox
    sudo chmod -R 755 /opt/searchblox/logs
    sudo chmod -R 755 /opt/searchblox/elasticsearch/logs
    sudo chmod -R 755 /opt/searchblox/bin
    sudo chmod -R 755 /opt/searchblox/analytics/node/bin

  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

  9. To verify the status of the elasticsearch and searchblox services please use the following commands:
    systemctl status sbelastic
    systemctl status searchblox

Start Analytics Server

Start the Analytics server to display search query data on the Analytics page within SearchBlox Admin Console. The Analytics Server will use port 4000.

  1. Run the command to go to the analytics folder
    cd /opt/searchblox/analytics

  2. Run the command to start the analytics service in the background
    nohup ./cubejs &

Stop Analytics Server

  1. Find the process ID of Analytics server using the following command:
    ss -nutlp |grep 4000

  2. Run the following command to terminate the process:
    kill -9 <process-id> #please use the process id from the previous step

Running Analytics as Service

  1. Download sbanalytics.service file into /etc/systemd/system
    wget https://d2bs75lu2qxj7h.cloudfront.net/9.2/analytics/sbanalytics.service

  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 the following 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

Change SearchBlox Server Port

SearchBlox Server runs on port 8080 by default.

You can change the port by following the steps below:

  1. Stop SearchBlox

  2. Edit the file /opt/searchblox/start.ini at line number 163 as follows:
    jetty.http.port=8080

  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

Uninstall

Run the following command to uninstall or remove SearchBlox:

apt-get remove searchblox

Disk Encryption

🚧

Additional Disk is required for disk encryption

  1. Installation of cryptsetup
    for Ubuntu:
    sudo apt-get install cryptsetup
  2. LUKS Format disk
    Note: while formatting the disk we have to give some password
    cryptsetup luksFormat /dev/sdb
WARNING!
========
This will overwrite data on /dev/sdb irrevocably.
Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
  1. Luks open
    Note: We have to use the password created earlier while formatting the disk.
    cryptsetup luksOpen /dev/sda data
Enter passphrase for /dev/sdb:
  1. Create a filesystem
    mkfs -t ext4 /dev/mapper/data
mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 52428288 4k blocks and 13107200 inodes
Filesystem UUID: 1c71b0f4-f95d-46d6-93e0-cbd19cb95edb
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
  1. Mounting the new file system at /opt
    mount /dev/mapper/data /opt
  2. To get UUID
    blkid /dev/mapper/data
/dev/mapper/data: UUID="0a228c13-06d8-4739-99c3-f596c2dcce8e" TYPE="ext4"
  1. We need to add the UUID into /etc/fstab like this and save it
    Note: We need to add the UUID into etc/fstab file
LABEL=cloudimg-rootfs   /        ext4   defaults,discard        0 0
UID="4539b70d-66ab-4c07-b2a2-d4583f461a2f"   /secret   ext4 defaults 0 0
UID="4539b70d-66ab-4c07-b2a2-d4583f461a2f"   /opt      ext4 defaults 0 0
UUID="0a228c13-06d8-4739-99c3-f596c2dcce8e"   /opt  ext4  defaults 0  0
===================================================
  • To close encryption
    cryptsetup luksClose /dev/mapper/data
  • To open encryption
    cryptsetup luksOpen /dev/mapper/data

Updated 28 days ago



Installing on Ubuntu


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.