-
Notifications
You must be signed in to change notification settings - Fork 1
PadoGrid on OCI Compute
OCI Cloud Free Tier provides the Always Free cloud services that include up to 4 ARM Ampere A1 Compute VM.Standard.A1.Flex Shape instances and up to a total of 24 GB of memory. This is enough to run JupyterLab and other PadoGrid components for creating a development environment.
This chapter describes how to setup PadoGrid in OCI Cloud Free Tier.
The following table shows some of provisioning options.
Option | Shape | OCPU | Memory | Boot Volume | Volume | Count |
---|---|---|---|---|---|---|
A | ARM Ampere A1 Compute VM.Standard.A1.Flex | 1 | 6GB | 50GB | N/A | 4 |
B | ARM Ampere A1 Compute VM.Standard.A1.Flex | 2 | 12GB | 50GB | 50GB | 2 |
C | ARM Ampere A1 Compute VM.Standard.A1.Flex | 2 | 12GB | 100GB | N/A | 2 |
D | ARM Ampere A1 Compute VM.Standard.A1.Flex | 4 | 24GB | 100GB | 100GB | 1 |
F | ARM Ampere A1 Compute VM.Standard.A1.Flex | 4 | 24GB | 200GB | N/A | 1 |
We will use Option A in our example.
After VMs are provisioned (Option A), collect the host names (or private IPs) and public IPs of all four (4) VMs. We will use the following list for our example.
Host Name (Private) | Public IPs |
---|---|
p-1 | 150.136.180.153 |
p-2 | 150.214.165.122 |
p-3 | 150.215.160.200 |
p-4 | 132.143.213.132 |
# Copy your ssh private key to one of the VMs
scp -i private.key private.key opc@150.136.180.153:
# Login to the VM
ssh -i private.key opc@150.136.180.153
sudo yum install -y git maven java-1.8.0-openjdk-devel
# Optional: Store git credential for private repos (timeout default: 900 or 15 min)
git config --global credential.helper cache "cache --timeout=30000"
# Specify the product to install along with PadoGrid
PRODUCT=hazelcast-oss
#PRODUCT=hazelcast-enterprise
#PRODUCT=geode
curl -fsSL https://raw.githubusercontent.com/padogrid/padogrid/develop/padogrid-deployment/src/main/resources/common/bin_sh/install_padogrid | /bin/bash -s -- -no-stty -quiet -product $PRODUCT
# Initialize PadoGrid
. ~/Padogrid/workspaces/myrwe/initenv.sh -quiet
# Create VM workspace
create_workspace -name ws-oci \
-vm p1,p2,p3,p4 \
-vm-public 150.136.180.153,150.214.165.122,150.215.160.200,132.143.213.132 \
-name ws-oci -vm-java /usr/lib/jvm/java-1.8.0 \
-vm-key ~/private.key \
-vm-java /usr/lib/jvm/java-1.8.0 \
-quiet
# Switch to the newly created workspace
switch_workspace ws-oci
# Disable firewall in all VMs
vm_exec sudo systemctl stop firewalld
# Install PadoGrid and required software in all VMs
vm_sync
vm_exec sudo yum install -y git maven java-1.8.0-openjdk-devel
# Check status of all VMs
vm_test
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh
bash Miniconda3-latest-Linux-aarch64.sh -b -p $(dirname $PADOGRID_HOME)/miniconda3 && rm -f Miniconda3-latest-Linux-aarch64.sh
$(dirname $PADOGRID_HOME)/miniconda3/bin/conda init
. ~/.bashrc
conda install -y pip
conda update -y --all
pip install jupyterlab
#Create a self-signed certificate to be used for SSL.
switch_workspace ws-oci
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout .mykey.key -out .mycert.pem
chmod 400 .mycert.pem
# Set password
jupyter server password
# Generate and update a Jupyter server config file.
jupyter server --generate-config
cat <<EOF >> ~/.jupyter/jupyter_server_config.py
c = get_config()
c.ServerApp.certfile = u'/home/opc/Padogrid/workspaces/myrwe/ws-oci/.mycert.pem'
c.ServerApp.keyfile = u'/home/opc/Padogrid/workspaces/myrwe/ws-oci/.mykey.key'
c.ServerApp.ip = '*'
EOF
# Override markdown editor with preview
SETTINGS_DIR="$(jupyter lab path | grep "Application" | sed 's/^.*://' | xargs)/settings"
OVERRIDES_FILE="$SETTINGS_DIR/overrides.json"
if [ ! -d "$SETTINGS_DIR" ]; then
mkdir $SETTINGS_DIR
fi
if [ ! -f "$OVERRIDES_FILE" ]; then
cat <<EOF > "$OVERRIDES_FILE"
{
"@jupyterlab/docmanager-extension:plugin": {
"defaultViewers": {
"markdown": "Markdown Preview"
}
}
}
EOF
fi
switch_workspace ws-oci
start_jupyter -default -dashboard
Use the public IP address of the ARM Ampere A1 instance to login from your browser. For our example, the public IP address is the IP address we used to ssh into the OCI instance, i.e., 150.136.180.153. Both of the following open the same workspace dashboard.
Add port 8888
to the public zone in the firewall.
sudo firewall-cmd --zone=public --add-port=8888/tcp
- Oracle® Linux 8 Configuring the Firewall, https://docs.oracle.com/cd/F22978_01/8/firewall/F20786.pdf
PadoGrid Manual
Overview
- Home
- PadoGrid in 5 Minutes
- Quick Start
- Introduction
- Bundle Catalogs
- Building PadoGrid
- Supported Data Grid Products and Downloads
- PadoGrid Components
- Installing PadoGrid
- Root Workspaces Environments (RWEs)
- Initializing PadoGrid
- Bash Auto-Completion
- Viewing PadoGrid Summaries
- Updating Products
- Upgrading PadoGrid
- Migrating Workspaces
- PadoGrid Pods
- Kubernetes
- Docker
- Apps
- Software List
Operations
- Workspace Lifecycle Management
- Creating RWE
- Creating Workspace and Starting Cluster
- Managing Workspaces
- Understanding Workspaces
- Understanding Clusters
- Running Clusters
- Default Port Numbers
- Running Clusters Independent of PadoGrid
- Running Apps
- Understanding Groups
- Running Groups
- Understanding Bundles
- User Bundle Repos
- Using Bundle Templates
- Bundle Repo Guidelines
- User Bundle Catalogs
- Private Bundle Repos
- Gitea Repos
- Running Bundles in Container
- PadoGrid Addon Jars
- Understanding PadoGrid Pods
- Tested Vagrant Boxes
- VM-Enabled Pods
- Multitenancy
- Multitenancy Best Practices
- PadoGrid Configuration Files
Tools
Platforms
Clouds
Pado
Geode/GemFire
- Geode CLASSPATH
- Geode Kubernetes
- Geode Minikube
- Geode Minikube on WSL
- Geode Docker Compose
- Geode Grafana App
- Geode
perf_test
App - Geode WAN Example
- Geode Workspaces on VMs
- Geode on AWS EC2
- Reactivating Geode Workspaces on AWS EC2
Hazelcast/Jet
- Hazelcast CLASSPATH
- Creating Jet Workspace
- Configuring Hazelcast Addon
- HQL Query
- Hazelcast Kubernetes
- Hazelcast GKE
- Hazelcast Minikube
- Hazelcast Minikube on WSL
- Hazelcast Minishift/CDK
- Hazelcast OpenShift
- Hazelcast Docker Compose
- Hazelcast Desktop App
- Hazelcast Grafana App
- Hazelcast
jet_demo
App - Hazelcast
perf_test
App - Hazelcast WAN Example
- Hazelcast Workspaces on VMs
- Hazelcast on AWS EC2
- Reactivating Hazelcast Workspaces on AWS EC2
ComputeDB/SnappyData
Coherence
Hadoop
Kafka/Confluent
Mosquitto
- Mosquitto CLASSPATH
- Mosquitto Overview
- Installing/Building Mosquitto
- Clustering MQTT
- Cluster Archetypes
- Enabling Mosquitto SSL/TLS
- Mosquitto Docker Compose
- MQTT perf_test App
Redis
Spark