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.
-
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
-
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
-
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).
-
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
-
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
-
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.