Prerequisites
-
Install OpenJDK 11 by running the following command:
sudo yum install java-11-openjdk-devel -y
-
Verify the java installation by running the following command:
java -version
-
Install wget by running the following command:
yum install wget -y
-
Increase the map count by running the following command:
sysctl -w vm.max_map_count=262144
Add the line to the file to set this permanently in /etc/sysctl.conf :
vm.max_map_count=262144
To check the map count you can use the following command:
sysctl -q vm.max_map_count
-
Increase ulimit value and validate system settings
To change the file descriptor setting, add the line to the file /etc/sysctl.conf.
fs.file-max=100000
to it.Apply the changes by running the following command:
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 these changes, please reboot the server by running the following command:
reboot
Check the ulimit settings by running the following command:
ulimit -a
Installation
-
Please login as root using sudo su if you are not the root user.
-
Create a SearchBlox user by running the following commands:
sudo adduser searchblox
sudo passwd searchblox
-
SearchBlox has to be installed in /opt folder, so change directory to /opt by running the following command:
cd /opt
-
Download SearchBlox rpm package by running the following command:
sudo wget https://d2fco3ozzrfhhd.cloudfront.net/v9.2.2/searchblox-9.2.2-0.noarch.rpm
-
Install the rpm package by running the following command:
sudo rpm -ivh searchblox-9.2.2-0.noarch.rpm
-
Change permission for few folders by running the following commands:
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
sudo chmod -R 755 /opt/searchblox/elasticsearch/bin
-
Start Elasticsearch and SearchBlox services by running the following commands:
systemctl start sbelastic
systemctl start searchblox
-
Stop SearchBlox and Elasticsearch services by running the following commands:
systemctl stop searchblox
systemctl stop sbelastic
-
To verify the status of the elasticsearch and searchblox services please use the following commands:
systemctl status sbelastic
systemctl status searchblox
After you start the services, wait for 30 seconds then go to http://localhost:8080/searchblox/admin/main.jsp to access the SearchBlox Admin Console to login.
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 by default.
-
Go to the analytics folder by running the following command:
cd /opt/searchblox/analytics
-
Run the following commands:
ss -nutlp |grep 4000
You may also start the analytics server in the background by running the following command:
nohup ./cubejs &
Stop Analytics Server
-
Find the process ID of Analytics server using the following command:
ss -nutlp |grep 4000
-
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
-
Download sbanalytics.service file into /etc/systemd/system
wget https://d2bs75lu2qxj7h.cloudfront.net/9.2/analytics/sbanalytics.service
-
Enable sbanalytics.service using the command:
systemctl daemon-reload
-
Start Analytics service using the command:
systemctl start sbanalytics
-
View the status of the Analytics service using the command:
systemctl status sbanalytics
-
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 in your browser 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.
-
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/searchblox/admin/main.jsp
https://exampledomain:port/searchblox/plugin/index.html
Change SearchBlox Server Port
SearchBlox Server runs on port 8080 by default.
You can change the port by following the steps as shown in the following:
-
Stop SearchBlox service
-
Edit the file /opt/searchblox/start.ini at line number 163 as follows:
jetty.http.port=8080
-
Start SearchBlox service
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
Uninstall or remove SearchBlox by running the following command:
yum remove searchblox
Disk Encryption
Additional Disk is required for disk encryption
-
Installation of cryptsetup
for RHEL / CentOS
yum install cryptsetup-luks
-
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:
- 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:
4.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
- Mounting the new file system at
/opt
mount /dev/mapper/data /opt
- To get UUID
blkid /dev/mapper/data
/dev/mapper/data: UUID="0a228c13-06d8-4739-99c3-f596c2dcce8e" TYPE="ext4"
- We need to add the UUID into
/etc/fstab
like this and save it
Note: We need to add the UUID intoetc/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
CentOS Full Disk Encryption
Important Note
Before installation of OS, the entire root volume can be encrypted using the following steps for GUI based CentOS systems
- To enable the disk encryption please go to installation destination


- While installing Centos7 Installation Enable the Encryption.


- Next create Disk Encryption Passphrase.


- On reboot you would get the following prompt to enter the passphrase so that you can successfully unlock the drive:


- Please use the command as in the following screenshot to verify the disk Encryption


Updated 15 days ago