No results found

Your search did not match any results.

We suggest you try the following to help find what you're looking for:

  • Check the spelling of your keyword search.
  • Use synonyms for the keyword you typed, for example, try "application" instead of "software."
  • Try one of the popular searches shown below.
  • Start a new search.
Trending Questions
 

Deploying Cassandra in Oracle Linux

Cassandra, an open-source NoSQL database, plays well with Oracle Cloud Infrastructure. Let Olivier show you how to configure it.

Author: Developer Relations Team

Updated:

This walk-through guides you through configuring your environment to run Cassandra in Oracle Cloud Infrastructure (OCI).

It’s fun, we promise.

Prerequisites

  • You have deployed a VM 2.1 with Oracle Linux 7.9 (OEL7) in OCI.
  • The installation of Oracle Linux 7.9 is using pip3.6 by default.
  • Python 3.6 or higher is installed.
  • You have access to root either directly or using sudo. By default in OCI, you are connected like an “opc” user with sudo privilege.

Let’s start with setting up the Python environment.

1. Python Setup

By default, OEL7 runs Python 3. The first is to install pip and virtualenv.

Install virtualenv

Virtualenv enables us to create isolated sandpits to develop Python applications without running into module or library conflicts. It’s super easy to install.

sudo pip3.6 install virtualenv
                            

Next, we can create a virtual environment and enable it.

Create an environment “myvirtualenv”

virtualenv -p /usr/bin/python3 myvirtualenv
                            # Activate the env
                            source myvirtualenv/bin/activate
                            

Check list of Python Libraries in your environment

Running the following command will show what Python models we have installed at this point.

(myvirtualenv) [opc@lab1 ~]$ pip3 list
                            Package    Version
                            ---------- -------
                            pip        21.1.3
                            setuptools 57.1.0
                            wheel      0.36.2
                            WARNING: You are using pip version 21.1.3; however, version 21.2.1 is available.
                            You should consider upgrading via the '/home/opc/myvirtualenv/bin/python -m pip install --upgrade pip' command.
                            

Upgrade your pip environment for this virtual environment

/home/opc/myvirtualenv/bin/python -m pip install --upgrade pip
                            

2. Jupyterlab Setup

pip3 install jupyterlab
                            

Install Python Libraries for Machine Learning or ETL Process

pip install pandas
                            pip install pandarallel
                            pip install dask
                            pip install seaborn
                            pip install matplotlib
                            pip install plotly
                            
                            pip install -lxml==4.6.3
                            pip install selenium
                            pip install beautifulsoup4
                            
                            pip install scikit-learn
                            

Install other Python Libraries for Kafka Access and WEB Server Access

pip install kafka-python (v2.0.0)
                            pip install Flask
                            pip install gunicorn
                            

Install extensions for Jupyterlab Environment

pip install jupyter_contrib_nbextensions
                            jupyter contrib nbextension install --user
                            jupyter nbextension enable execute_time/ExecuteTime
                            

3. Configure Jupyterlab like a OEL7 Linux Service

Create a script to instantiate automatically and reboot Jupyterlab with “opc” user.

vi /home/opc/launchjupyterlab.sh
                            

Script for launchjupyterlab.sh

Using the virtualenv, you can launch Jupyterlab in a specific port (for example: 8001) and listen on public IP.

#!/bin/bash
                            
                            # Activate myvirtualenv Environment
                            source myvirtualenv/bin/activate
                            
                            cd /home/opc
                            
                            if [ "$1" = "start" ]
                            then
                            nohup jupyter-lab --ip=0.0.0.0 --port=8001 > ./nohup.log 2>&1 &
                            echo $! > /home/opc/jupyter.pid
                            else
                            kill $(cat /home/opc/jupyter.pid)
                            fi
                            

Set the script to executable mode in order to be executed from the Jupyterlab service.

chmod 777 /home/opc/launchjupyterlab.sh
                            

Connect to “root” user

sudo -i
                            

Create a script to start, stop service “jupyterlab”

vi /etc/systemd/system/jupyterlab.service
                            

Add next lines to launch like “opc” user the script “launchjupyterlab.sh”

[Unit]
                            Description=Service to start jupyterlab for opc
                            Documentation=
                            [Service]
                            User=opc
                            Group=opc
                            Type=forking
                            WorkingDirectory=/home/opc
                            ExecStart=/home/opc/launchjupyterlab.sh start
                            ExecStop=/home/opc/launchjupyterlab.sh stop
                            [Install]
                            WantedBy=multi-user.target
                            

Test Jupyter Lab Service

systemctl start jupyterlab
                            systemctl status jupyterlab
                            systemctl enable jupyterlab
                            

4. Reboot Your machine for a final check

Home stretch!

  1. Reboot your machine to check if the Jupyterlab script is enabled by default on port 8001.
  2. Open port 8001 to your virtual machine VM 2.1 in order to access it using your Public IP.
firewall-cmd  --permanent --zone=public --list-ports
                            firewall-cmd --get-active-zones
                            firewall-cmd --permanent --zone=public --add-port=8001/tcp
                            firewall-cmd --reload
                            

If you’re running directly on a virtual machine and have a browser installed, it should take you directly into the Jupyter environment. Connect to your http://xxx.xxx.xxx.xxx:8001/.

You should now see the next Python Web environment “Jupyterlab”.

That’s it! Enjoy using Cassandra with OCI.