Unravel for Amazon EMR
Overview
This topic describes how to launch an Unravel Server from the AWS Marketplace and connect EMR clusters to it.
Note
Use these instructions for test or development environments only. For production environments, see Amazon Elastic MapReduce (EMR).
Unravel for Amazon EMR provides full-stack monitoring, tuning, troubleshooting, and resource optimization for big data running on Amazon EMR. Unravel goes beyond passive monitoring to highly automated and intelligent management and optimizing data pipelines and applications.
This topic helps you set up the following configuration:
Run the following steps to set up Unravel for Amazon EMR from the AWS Marketplace:
Background
Ensure to fulfill the following before getting started:
For Unravel Server to be able to monitor your EMR cluster(s), you need to:
Allow Unravel server to access EMR cluster nodes' TCP ports 8020, 50010, 50020.
Open Unravel server port 4043 for receiving traffic from the EMR clusters.
To access Unravel UI, you need to open port 3000 on Unravel server for HTTP access.
Also, check other Prerequisites for Amazon EMR.
Step 2: Launch and set up Unravel server
Use the following steps to launch and set up Unravel server.
Search for Unravel for Amazon EMR in the AWS Marketplace.
On the listing page, click Continue to Subscribe.
On the subscription page, click Continue to Configuration.
Choose a version and location:
On the Configure this software page, select the latest software version and the same region where you plan to create EMR clusters (Unravel Server can reside in a different region. However, you must set up VPC peering).
Click Continue to Launch to continue with the setup.
Launch the software:
On the Launch this software page, select Launch from Website from the dropdown and then click Launch.
Note
There are some more steps to be completed before the instance is actually launched.
The instance type you choose depends on the number of applications to be monitored daily and other factors. You can leave the default value as is.
Choose the VPC and Subnet you created or a suitable one as discussed in the Background section above.
Click Create New Based On Seller Settings.
Name the security group and provide any description. Ensure to note the name.
For example,
Unravel for Amazon EMR-1
.Note
Unravel recommends limiting access to only known IP addresses.
Click Save.
Note
You can change the above rules for enhanced security based on your setup and Unravel's requirements.
Choose an existing key pair that connects to this instance or create a new one, and then click Launch.
Unravel Installation is completed. The following screen is displayed after a successful installation.
Go to the EC2 Dashboard and launch the instance created in the previous step.
Once the AMI has instantiated and Unravel is installed, which can take 10-15 minutes, log into Unravel UI.
Get the hostname or IP of the instance from the AWS Console:
Navigate to
http://
with a web browser.hostname-or-ip-address-of-the-instance
:3000Connect to the Unravel instance using SSH and get the admin password for Unravel UI. After this, sign in to Unravel UI with the username as
admin
and the password that was earlier fetched from Unravel instance.
Next, you must connect a new EMR cluster to Unravel Server.
Step 2: Connect a new EMR cluster to Unravel server
Use the following steps to connect a new EMR cluster to Unravel server
Go to AWS EMR Dashboard and click Create Cluster.
Click Go to advanced options.
Select the release and the services you want to install and click Next
Select the same VPC and subnet as the one chosen for Unravel server and click Next. Unravel server can reside on a different VPC, but you must set up VPC peering.
Add a bootstrap action.
In this section, go to the Bootstrap Actions section, select Custom Actions, and click Configure and Add.
The Add Bootstrap Action dialog box is displayed.
In the Script location text box, enter
s3://unraveldatarepo/unravel_emr_bootstrap.py
In the Optional Arguments text box, do the following:
Note the private IP from your Unravel instance:
Add
--unravel-server
unravel-ec2-private-ip-address
--bootstrap
Click Save in the dialog box, and then click Next.
In the next screen, as shown below, select a key pair to connect to the EC2 nodes and note the names of the security groups encircled below, as you modify them.
Click Create Cluster.
To find the security group ID of the security group named Unravel for Amazon EMR-1, navigate to Security Groups from the left panel in your AWS console and search for Unravel for Amazon EMR-1.
Note the group ID.
For example, in the screenshot above, the group ID is
sg-0564b1b8902ecf611
.From the EMR cluster’s screen (where it shows its status in the creation process), navigate to each of the two security groups highlighted in the following screenshot.
Note
You only need to change these security groups once.
Select a group and then click the Inbound tab, and click Edit.
Click Add Rule.
Add three rules as follows and then Save (as shown in the screenshot below):
Type =
Custom TCP
, Protocol =TCP
, Port Range =8020
, Source =security-group-ID-of-Unravel-Server’s-security-group
Type =
Custom TCP
, Protocol =TCP
, Port Range =50010
, Source =security-group-ID-of-Unravel-Server’s-security-group
Type =
Custom TCP
, Protocol =TCP
, Port Range =50020
, Source =security-group-ID-of-Unravel-Server’s-security-group
Make the above changes to both the security groups corresponding to the EMR cluster.
If you are connecting to an existing EMR cluster or for more advanced options, see Connecting Unravel to a new or existing EMR cluster.
Step 3: Check out the Unravel UI with your EMR cluster connected
After creating the cluster, go to Unravel UI (http://
). Within a few seconds, you will see the cluster ID on the main dashboard dropdown on the right and some data in various charts.hostname-or-ip-address-of-the-instance
:3000
You can now run applications in your cluster and use Unravel to optimize them. Applications you run show up in the Applications tab.
See Unravel product documentation to learn more about how to use Unravel.
Try the full Unravel product free for 30 days. To get help with setting up or using Unravel for AWS EMR, contact Unravel AWS Marketplace help.