How To Install Couchbase In Microsoft Azure For Test Purposes

In this blog, I will show you how to install and configure an instance of Couchbase (http://www.couchbase.com/), a powerful NoSQL database, on a Microsoft Azure A0/A1 server configuration with the smaller installation possible of Couchase for limited development and test purposes. Note that such installation is not recommended for production loads and only intended to provide the cheapest instance possible in Azure that can be used to explore the features of Couchbase.

Step 1: Create a Virtual Machine in Microsoft Azure

 

Let’s create a new Virtual Machine (Windows Server 2012 R2 Datacenter) in Microsoft Azure. First, you need to login to Microsoft Azure (http://portal.azure.com). Click on the Virtual Machine tab on the left, and make sure to select a basic A2 size for the Virtual Machine as this will speed up installation of Couchbase. Selecting an A0/A1 now will likely not work since one of the steps is highly CPU intensive. We will change the size of the VM back to an A0/A1 after the installation of Couchbase is finalized.

clip_image001

Once the Virtual machine is running and ready to be configured with Couchbase, click on Connect inside the menu option located to the right of the Virtual Machine in Azure. This will open up a Remote Desktop Connection screen which will allow you to log into your machine with the administrative credentials you just provided.

clip_image002

Once logged in, turn off Enhanced Security Configuration (ESC) for administrators so that you can more easily browser to the Couchbase website and download the installation package. To turn off ESC you need to start Server Manager, and click on the Local Server tab on the left; find Enhanced Security Configuration on the list of properties, and click on the On link, which will prompt you for additional choices. Select Off for Administrators, and click OK.

clip_image004

clip_image005

Step 2: Install Couchbase

Open you browser and download the Couchbase installation program. Open browser to http://www.couchbase.com. Click on the Download button, and choose Couchbase Server (which expands the page with further download options). Make sure to click on the Community Edition button since we are testing Couchbase, then click on the Download link. A download screen will open; click Save As, and choose your D: drive to save the installation package.

clip_image007

clip_image009

Once downloaded, open up Windows Explorer, and select your D drive. You should see the installation package; on my machine, the file name is couchbase-server-community_4.0.0-rc0-windows_amd64.exe, but yours might be different depending on the release you downloaded. Right-click on the Couchbase installation package and select Properties, and click on the Unblock button (so that you can run this EXE in the next step) and click OK.

clip_image010

Double-click on the Couchbase installation program you just unblocked. When the installation Wizard starts, click Next, accept all default configuration settings and click Install. The installation process is rather quick, and within a few minutes Couchbase is configured.

A warning about the local windows firewall will come up; click on Yes to disable the Windows Firewall.

clip_image011

Once the installation is complete, you will see this screen showing a successful installation, then click on Finish.

clip_image012

Once you click on Finish, the default browser will open, pointing to the Couchbase Console. The console is used to manage your Couchbase configuration; a shortcut is also added on the Windows Desktop for convenience. Once the browser has opened the Couchbase Console, click on the Setup button.

Step 3: Configure Couchbase

 

clip_image014

Because we are creating a simple configuration for Couchbase, you can leave the default settings as provided for the most part. Because we want to run Couchbase on an A0 machine, with only 756MB of total RAM, change the Data RAM Quota to 256MB (the minimum allowed) if you plan to downsize to an A0 later, or 300MB (or higher) if you plan to use an A1 size or higher, and set the Index Quota to 256MB. The new Couchbase Cluster will be configured on 127.0.0.1, the local machine.

NOTE: Do not change the path of the local directories to point to the D drive; the D drive is considered volatile and only used for temporary data, which could render Couchbase unusable upon restart of the machine.

Clicking Next will create the configuration of the Couchbase server.

clip_image016

Next, choose zero or one of the sample buckets if you plan to downsize to an A0 later, or any number of sample buckets if you plan to use an A1 or higher, and click Next. A bucket is equivalent to a database and will take no less than 100MB in memory. If you plan to use a A0 Virtual Machine, you should limit your selection to a single bucket because your VM will be low in memory.

Once you are ready to proceed, click Next.

clip_image018

In this screen we configure the default bucket. As mentioned before, the minimum size for a bucket is 100MB, so let’s allocate 100MB per node for the RAM Quota. Leave the other options to their default values.

clip_image020

Uncheck Software Update Notifications for this test installation, and click Next.

clip_image022

In the last step of the configuration wizard, you specify a user name and password for the Server itself. Leave Administrator as the user name, and choose a password. We will need this information later. Click Next to complete the configuration of Couchbase.

clip_image024

Step 4: Explore Couchbase Locally

 

Once completed, you will see the administration console of Couchbase, including the RAM allocation and disk usage overview. The sample buckets begin to load immediately but could take a few minutes to finalize.

clip_image026

Click on the blue arrow next to the Data Buckets tab to inspect your buckets’ summary data. This gives you a quick overview of the RAM allocation for this bucket, and the storage size on disk. Clicking on the bucket name itself provides detailed utilization metrics.

clip_image028

Clicking on the Documents button allows you to inspect your data. Note that you may need to wait a little while, and possibly refresh your browser before you can inspect the data. The browser for the data is simple, and gives you a short list of JSON documents at a time; you can search for specific documents and browse the list page by page.

clip_image030

Step 5: Finalize Configuration In Azure

 

We installed Couchbase on a A2 Virtual Machine so that the installation process can complete. Once the data has completely loaded (this will take a few minutes), you can resize the Virtual Machine to an A1, or an A0 if you so choose; note that an A0 is barely able to run Couchbase, so you should select this option only if you want to minimize your monthly bill and you are willing to wait a while for your requests to take place. To do this, you will need to go back to the Azure portal, find your Virtual Machine, and change the size accordingly by clicking on Basic A0 and clicking on the Select button at the bottom. Resizing the Virtual Machine will take a few minutes.

clip_image032

While you are on the configuration screen of your virtual machine, note down your VM’s IP Address; we will need this later to test the cluster.

Last but not least, we need to open up certain ports in Azure for the Virtual Machine to be accessible to external clients; this is not a required step if your test client will be inside another Virtual Machine in Azure, but since my test machine is at home, I need to open up those ports.

Normally we need to open up two sets of ports: those on the operating system (the Windows Firewall), and those in Azure. Since we turned off the Windows Firewall earlier, we only need to open up the ports in Azure. The list of ports to open can be found in this article: http://docs.couchbase.com/couchbase-manual-2.0/#network-ports. So we will open TCP ports 8091, 8092, 11210, and 11211. To do so, from your Virtual Machine dashboard in the Azure Management Console, click on the Endpoints setting, and add the above ports.

NOTE: Port 8091 is used for the web configuration console; you should only need to open up this port if you want to configure Couchbase remotely.

clip_image034

Once all the TCP rules are added you should see a configuration similar to this:

clip_image035

Now, let’s try accessing Couchbase from a remote browser. Since I opened port 8091 for web administration, I will be able to manage Couchbase remotely from my workstation. The URL for the Couchbase admin console is your IP Address followed by the port number and the Index page, as such: HTTP://YOUR_SERVER_IP:8091/Index. This will prompt you for a login screen, where you enter Administrator for the user name (it’s case sensitive) and the password you specified earlier in the configuration wizard.

clip_image036

You should also note that we did not secure the server with an SSL certificate; as a result all traffic is unencrypted and could be inspected on your network in clear text, including the password.

Once logged in, as expected, I can see my Couchbase web management interface and manage my Couchbase installation from my workstation.

clip_image038

And that’s it! You have successfully installed and configured Couchbase on a single node, on a small Virtual Machine in Microsoft Azure for testing purposes.

About Herve Roggero

Herve Roggero, Microsoft Azure MVP, @hroggero, is the founder of Blue Syntax Consulting (http://www.bluesyntaxconsulting.com). Herve's experience includes software development, architecture, database administration and senior management with both global corporations and startup companies. Herve holds multiple certifications, including an MCDBA, MCSE, MCSD. He also holds a Master's degree in Business Administration from Indiana University. Herve is the co-author of "PRO SQL Azure" and “PRO SQL Server 2012 Practices” from Apress, a PluralSight author, and runs the Azure Florida Association.

Print | posted @ Monday, October 5, 2015 3:14 PM

Comments on this entry:

Gravatar # re: How To Install Couchbase In Microsoft Azure For Test Purposes
by Cihan B. at 10/7/2015 10:58 AM

Great post Herve!
Since you are an Azure veteran, have you used ARM templates to deploy? We have one FullScale180 has developed. Https://github.com/fullscale180/arm/tree/master/couchbase-on-ubuntu
thanks
-cihan
Gravatar # re: How To Install Couchbase In Microsoft Azure For Test Purposes
by Herve at 10/7/2015 1:43 PM

Hi Cihan! Yes... very nice indeed for automation.
Comments have been closed on this topic.