-
Notifications
You must be signed in to change notification settings - Fork 1
Reactivating Geode Workspaces on AWS EC2
This article describes how to reactivate VM workspaces that have been detached from AWS EC2 VMs.
You have created a VM workspace with EC2 instances. After you were done running Geode/GemFire cluster(s) on the EC2 instances from the VM workspace, you terminated the EC2 instances without removing the workspace.
A few days later, you return to your work and are in need of reinstating the same workspace environment with new EC2 instances.
VM workspace activation steps involve updating two (2) workspace and cluster configuration files with the public IP addresses of new EC2 instances.
- Workspace:
vmenv.sh
- Cluster:
cluster.properties
Let's walk through the workspace reactivation steps using the same example workspace described in the following article:
First, launch the desired number of EC2 instances from the EC2 Dashboard. For our example, we launched six (6) instances as shown below.
Name | IP Address | Availability Zone |
---|---|---|
locator1 | 3.15.231.153 | us-east-2a |
member1 | 3.136.19.139 | us-east-2a |
member2 | 3.137.41.211 | us-east-2a |
locator2 | 3.16.188.49 | us-east-2b |
member3 | 18.225.36.155 | us-east-2b |
member4 | 3.17.142.94 | us-east-2b |
Gather the public IP addresses of the EC2 instances and list them in the workspace vmenv.sh
file.
switch_workspace ws-aws-gemfire
vi vmenv.sh
Set the VM_HOSTS
property with the public IP addresses and make sure VM_USER
is set to the correct user name.
VM_HOSTS="3.15.231.153,3.136.19.139,3.137.41.211,3.16.188.49,18.225.36.155,3.17.142.94"
VM_USER="ec2-user"
Update the etc/cluster.properties
file with the new EC2 IP addresses. For our example, the VM cluster name is mygemfire
.
switch_cluster mygemfire
vi etc/cluster.properties
Set the following VM properties.
# Set locator and member host lists
vm.locator.hosts=3.15.231.153,3.16.188.49
vm.hosts=3.136.19.139,3.137.41.211,18.225.36.155,3.17.142.94
vm.user=ec2-user
# Set hostnameForClients and redundancyZone for each IP address
# us-east-2a
vm.3.15.231.153.hostnameForClients=3.15.231.153
vm.3.15.231.153.redundancyZone=us-east-2a
vm.3.136.19.139.hostnameForClients=3.136.19.139
vm.3.136.19.139.redundancyZone=us-east-2a
vm.3.137.41.211.hostnameForClients=3.137.41.211
vm.3.137.41.211.redundancyZone=us-east-2a
# us-east-2b
vm.3.16.188.49.hostnameForClients=3.16.188.49
vm.3.16.188.49.redundancyZone=us-east-2b
vm.18.225.36.155.hostnameForClients=18.225.36.155
vm.18.225.36.155.redundancyZone=us-east-2b
vm.3.17.142.94.hostnameForClients=3.17.142.94
vm.3.17.142.94.redundancyZone=us-east-2b
It is important to set hostnameForClients
for each host if you want to connect to the cluster from outside the EC2 environment. This is because the Geode/GemFire members are bound to the EC2 internal IP addresses. Make sure to follow the vm.<host>.*
pattern for the property names.
❗ If you have reinstated the workspace with an EC2 instance type that is different from the previous instance type then you may also need to change resource properties such as heap.min
and heap.max
.
Run vm_sync
to synchronize the workspace.
vm_sync
The above command reports the following:
Deploying padogrid_0.9.7 to 3.15.231.153...
Deploying padogrid_0.9.7 to 3.136.19.139...
Deploying padogrid_0.9.7 to 3.137.41.211...
Deploying padogrid_0.9.7 to 3.16.188.49...
Deploying padogrid_0.9.7 to 18.225.36.155...
Deploying padogrid_0.9.7 to 3.17.142.94...
Workspace sync: ws-aws-gemfire
Synchronizing 3.15.231.153...
Synchronizing 3.136.19.139...
Synchronizing 3.137.41.211...
Synchronizing 3.16.188.49...
Synchronizing 18.225.36.155...
Synchronizing 3.17.142.94...
Updating remote (VM) '.bashrc' if needed...
...
Workspace sync complete.
vm_sync
will display warning messages similar to the output shown above since the new EC2 instances do not have the required software installed. Download the required software and install them by running the vm_install
command as shown below.
vm_install -product ~/Downloads/jdk-8u333-linux-x64.tar.gz
vm_isntall -product ~/Downloads/vmware-gemfire-9.15.1.tgz
Start the cluster.
start_cluster
For our example, we have the perf_test
app already created. Edit the client-cache.xml
file as before.
create_app
cd_app perf_test
vi etc/client-cache.xml
Replace the old locator IP addresses with the new locator IP addresses.
<pool name="serverPool">
<locator host="3.15.231.153" port="10334" />
<locator host="3.16.188.49" port="10334" />
</pool>
Ingest data into the cluster.
cd bin_sh
./test_ingestion -run
Reactivating a VM workspace with new EC2 instances requires a simple step of updating the workspace and cluster configuration files with the new instance IP addresses.
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