Couchbase setup on AWS
EC2 instances

Couchbase cluster can be set up on AWS EC2 instance as shown below.

Setup

The following configuration details are for Ubuntu distro.

  1. Setup EBS (EBS is recommended for better performance).

    # Mounting EBS to /mnt
    sudo mkfs.ext4 /dev/xvdf
    sudo mkdir /mnt
    sudo mount /dev/xvdf /mnt
    
    # Configure fstab
    # Add following line in /etc/fstab document
    # /dev/xvdf       /mnt    auto    defaults,nobootwait,comment=cloudconfig 0       2
    echo "/dev/xvdf       /mnt    auto    defaults,nobootwait,comment=cloudconfig 0       2" | sudo tee -a /etc/fstab
    
  2. Download Couchbase

    # Download the deb file from couchbase website
    wget http://packages.couchbase.com/releases/3.0.1/couchbase-server-enterprise_3.0.1-ubuntu12.04_amd64.deb
    
    # Copy the downloaded file into all nodes. Replace the IP XXX.XXX.XXX.XXX with actual IP.
    scp  couchbase-server-enterprise_3.0.1-ubuntu12.04_amd64.deb ubuntu@XXX.XXX.XXX.XXX:couchbase-server-enterprise_3.0.1-ubuntu12.04_amd64.deb
    
  3. Install and configure Couchbase on each node.

    # Install Couchbase & setup folder
    sudo dpkg -i couchbase-server-enterprise_3.0.1-ubuntu12.04_amd64.deb
    sudo mkdir /mnt/cb
    sudo chown couchbase:couchbase /mnt/cb
    
    # Configure all the Couchbase installations.
    /opt/couchbase/bin/couchbase-cli node-init -c 127.0.0.1:8091 \
            -u admin -p PASSWORD \
            --node-init-data-path=/mnt/cb/data \
            --node-init-index-path=/mnt/cb/index
     # PASSWORD replace with actual password (use a lengthy random string).
    
  4. Initialize the cluster in one of the nodes. Here, RAM is set as 15GB per node. Can be changed as required.

    /opt/couchbase/bin/couchbase-cli cluster-init -c 127.0.0.1:8091 \
            -u admin -p PASSWORD \
            --cluster-init-ramsize=15360
    
  5. Add all other nodes. Change the server-add IP address for all remaining nodes and execute.

    /opt/couchbase/bin/couchbase-cli rebalance -c 127.0.0.1:8091 -u admin -p PASSWORD \
            --server-add=XXX.XXX.XXX.XXX:8091 \
            --server-add-username=admin \
            --server-add-password=PASSWORD
    
  6. Now, create a Bucket. Finally..

    # Create a bucket `bucket-one` with quota 10GB per node.
    /opt/couchbase/bin/couchbase-cli bucket-create -c 127.0.0.1:8091 -u admin -p PASSWORD \
            --bucket=bucket-one \
            --bucket-type=couchbase \
            --bucket-password=BPASSWORD \
            --bucket-ramsize=10240 \
            --bucket-replica=1 \
            --wait
    # Replace BPASSWORD with password for the bucket.
    

Now, we can start using the bucket and so the Couchbase cluster.

Share

Great!! You read till this point, just go ahead and share this post to your followers, collegues and friends. Thanks!

About Author

Sakthi Priyan H
Passionate Programmer

  • I am passionate about building excellent teams, processes and systems.
  • Primarily I use Java, Scala and Python for building various systems and tools.
  • Building API services, Big data processing and Machine Learning systems in Crayon Data.
  • Also, interested in Golang and building web apps using Javascript ecosystem.
  • I wrote my first program in BASIC in 1998, Passionate about computers since then.