Search:

Search all manuals
Search this manual
Manual
Couchbase Server Manual 1.8
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Chapters

Couchbase Server Manual 1.8

Copyright © 2010-2013 Couchbase, Inc. Contact copyright@couchbase.com.

For documentation license information, see Documentation License. For all license information, see Licenses.

Abstract

This manual documents the Couchbase Server 1.8 series, up to, and including 1.8.1. The guide covers installation, monitoring, and administration interface and associated tools.

Couchbase Server 1.8 is a re-branded release of Membase Server 1.7 with some additional fixes and changes.

Last document update: 19 Jun 2013 21:23; Document built: 19 Jun 2013 21:23.

Documentation Availability and Formats.  This documentation is available for download: HTML Zip, PDF, EPUB . For other documentation from Couchbase, see Couchbase Documentation Library

Contact: editors@couchbase.com or couchbase.com


Table of Contents

Preface
1. Best Practice Guides
2. Manual Conventions
3. Contributors
1. Introduction to Couchbase Server
1.1. Couchbase Server Basics
1.2. Couchbase Server and NoSQL
1.3. Architecture and Concepts
1.3.1. Nodes and Clusters
1.3.2. Cluster Manager
1.3.3. Memory Quotas
1.3.4. Buckets
1.3.5. vBuckets
1.3.6. Data in RAM
1.3.7. Ejection
1.3.8. Expiration
1.3.9. Eviction
1.3.10. Disk Storage
1.3.11. Warmup
1.3.12. Rebalancing
1.3.13. Replicas and Replication
1.3.14. Failover
1.3.15. TAP
1.3.16. Client Interface
1.3.17. Administration Tools
1.3.18. Statistics and Monitoring
2. Getting Started
2.1. Preparation
2.1.1. Supported Platforms
2.1.2. Hardware Requirements
2.1.3. Storage Requirements
2.1.4. Web Browser (for administration)
2.1.5. Network Ports
2.2. Installing Couchbase Server
2.2.1. Red Hat Linux Installation
2.2.2. Ubuntu Linux Installation
2.2.3. Microsoft Windows Installation
2.2.4. Mac OS X Installation
2.3. Upgrading to Couchbase Server 1.8
2.3.1. Online (rolling) Upgrade Process
2.3.2. Offline (in-place) Upgrade Process
2.3.3. Node Upgrade Process
2.3.4. Upgrading from Community Edition to Enterprise Edition
2.4. Setting up Couchbase Server
2.5. Testing Couchbase Server
2.5.1. Testing Couchbase Server using cbworkloadgen
2.5.2. Testing Couchbase Server using Telnet
2.6. Next Steps
3. Administration Basics
3.1. Working with Couchbase data files
3.2. Startup and Shutdown of Couchbase Server
3.2.1. Startup and Shutdown on Linux
3.2.2. Startup and Shutdown on Windows
3.2.3. Startup and Shutdown on Mac OS X
4. Best Practices
4.1. Cluster Design Considerations
4.2. Sizing Guidelines
4.2.1. RAM Sizing
4.2.2. Disk Throughput and Sizing
4.2.3. Network Bandwidth
4.2.4. Data Safety
4.3. Deployment Considerations
4.4. Ongoing Monitoring and Maintenance
4.4.1. Important UI Stats to Watch
4.4.2. Vacuuming
4.5. Couchbase Behind a Secondary Firewall
4.6. Using Couchbase in the Cloud
4.6.1. Local Storage
4.6.2. IP addresses
4.6.3. Security groups/firewall settings
4.6.4. Swap Space
4.7. Deployment Strategies
4.7.1. Deployment Using Amazon EC2 AMIs
4.7.2. Using a smart (vBucket aware) Client
4.7.3. Client-Side (standalone) Proxy
4.7.4. Using Server-Side (Couchbase Embedded) Proxy
5. Administration Tasks
5.1. Node Failover
5.1.1. Choosing a Failover Solution
5.1.2. Using Automatic Failover
5.1.3. Initiating a Node Failover
5.1.4. Handling a Failover Situation
5.1.5. Adding Back a Failed Node
5.2. Backup and Restore with Couchbase
5.2.1. Backing Up
5.2.2. Restore
5.3. Rebalancing (Expanding and Shrinking your Cluster)
5.3.1. Choosing When to Rebalance
5.3.2. Performing a Rebalance
5.3.3. Swap Rebalance
5.3.4. Monitoring During Rebalance
5.3.5. Common Rebalancing Questions
5.3.6. Rebalance Effect on Bucket Types
5.3.7. Rebalance Behind-the-Scenes
5.4. Changing Couchbase Quotas
6. Web Console for Administration
6.1. Cluster Overview
6.1.1. Cluster
6.1.2. Buckets
6.1.3. Servers
6.2. Web Console Statistics
6.3. Data Buckets
6.3.1. Creating and Editing Data Buckets
6.3.2. Bucket Information
6.3.3. Individual Bucket Monitoring
6.4. Server Nodes
6.5. Couchbase Server States
6.6. Settings
6.6.1. Update Notification Settings
6.6.2. Auto-Failover Settings
6.6.3. Alerts
6.7. Log
6.7.1. Diagnostic Report
6.8. Update Notifications
6.8.1. Notifications
6.8.2. Viewing Available Updates
6.9. Warnings and Alerts
7. Command-line Interface for Administration
7.1. Command-Line Tools Availability
7.2. Using couchbase-cli
7.2.1. Listing Servers
7.2.2. Getting Node Information
7.2.3. Adding Nodes to a Cluster
7.2.4. Removing Nodes from Clusters
7.2.5. Rebalancing a Cluster
7.2.6. Initializing Nodes
7.2.7. Viewing Buckets
7.2.8. Creating New Buckets
7.2.9. Updating Bucket Properties
7.2.10. Deleting Buckets
7.3. Using cbstats
7.3.1. Retrieving Bucket Statistics
7.3.2. Viewing Memory Allocations
7.3.3. Viewing Timing for Operations
7.4. Using cbflushctl
7.4.1. cbflushctl set Command
7.5. Using tap.py
7.6. Using cbvbucketctl
7.7. Usingcbvbuckettool
7.8. Using cbdbmaint
7.9. Using cbcollect_info
8. REST API for Administration
8.1. Types of Resources
8.2. HTTP Request Headers
8.3. HTTP Status Codes
8.4. Using the Couchbase Administrative Console
8.5. Viewing Cluster Information
8.6. Getting Information on Nodes
8.7. Retrieving Bucket Statistics from Nodes
8.8. Provisioning a Node
8.8.1. Configuring Disk Path for a Node
8.8.2. Configuring Memory Quota for a Cluster
8.8.3. Adding a Node to a Cluster
8.8.4. Setting Username and Password for a Node
8.9. Retrieve Auto-Failover Settings
8.10. Enabling/Disabling Auto-Failover
8.11. Resetting Auto-Failovers
8.12. View Settings for Email Notifications
8.13. Enabling/Disabling Email Notifications
8.14. Sending Test Emails
8.15. Viewing Cluster Details
8.16. Viewing Buckets and Bucket Operations
8.17. Getting Individual Bucket Information
8.18. Getting Bucket Information
8.19. Streaming Bucket Request
8.20. Getting Bucket Statistics
8.21. Managing Buckets
8.22. Creating a Memcached Bucket
8.23. Creating a Couchbase Bucket
8.24. Getting a Bucket Request
8.25. Modifying Bucket Properties
8.26. Increasing the Memory Quota for a Bucket
8.27. Changing Bucket Authentication
8.28. Flushing a Bucket
8.29. Deleting a Bucket
8.30. Adding a Node to a Cluster
8.31. Removing a Node from a Cluster
8.32. Initiating a Rebalance
8.33. Getting Rebalance Progress
8.34. Using System Logs
8.35. Client Logging Interface
9. Developing with Couchbase
9.1. Use Cases
9.1.1. Session store
9.1.2. Social gaming
9.1.3. Ad, offer and content targeting
9.1.4. Real-time logging and alerting
9.2. Best practices
9.2.1. What should I store in an object
9.2.2. How should I store an object?
9.2.3. Objects that refer to other objects
9.2.4. Nested Items
9.2.5. Simple Lists
9.2.6. Multi-GET
9.2.7. Locking
9.2.8. Data partitioning with buckets
9.3. Couchbase for Memcached Users
10. Couchbase Architecture
10.1. Cluster Design
10.2. Persistence Design
10.3. Component Overview
10.4. Disk Storage (Growing Data Sets Beyond Memory)
10.4.1. Design
10.4.2. Consequences of Memory faster than Disk
10.5. Couchbase APIs
10.5.1. memcached protocol
10.6. Buckets
10.7. vBuckets
10.7.1. Couchbase Document ID-vBucket-Server Mapping Illustrated
10.7.2. vBuckets in a world of memcached clients
11. Monitoring Couchbase
11.1. Port numbers and accessing different buckets
11.2. Monitoring startup (warmup)
11.3. Disk Write Queue
11.3.1. Monitoring the Disk Write Queue
11.4. Couchbase Server Statistics
11.4.1. REST Interface Statistics
11.4.2. Couchbase Server Node Statistics
11.5. Couchbase Server Moxi Statistics
12. Troubleshooting
12.1. General Tips
12.2. Responding to Specific Errors
12.3. Log File Entries
12.4. Linux Logs
12.5. Windows Logs
12.6. Mac OS X Logs
12.7. Common Errors
A. FAQs
B. Uninstalling Couchbase Server
B.1. Uninstalling on a RedHat Linux System
B.2. Uninstalling on an Debian/Ubuntu Linux System
B.3. Uninstalling on a Windows System
B.4. Uninstalling on a Mac OS X System
C. Release Notes
C.1. Release Notes for Couchbase Server 1.8.1 GA (03 July 2012)
C.2. Release Notes for Couchbase Server 1.8.0 GA (23 January 2012)
D. Limits
D.1. Known Limitations
E. Licenses
E.1. Documentation License
E.2. Couchbase, Inc. Community Edition License Agreement
E.3. Couchbase, Inc. Enterprise License Agreement: Free Edition

List of Figures

1.1. Couchbase Architecture — Multi-tenancy
2.1. Windows Installation — Welcome Screen
2.2. Windows Installation — Location Screen
2.3. Windows Installation — Ready Screen
2.4. Windows Installation — Progress Screen
2.5. Windows Installation — Completion Screen
2.6. Online Upgrade — Marking a Node for Removal from a Cluster
2.7. Online Upgrade — Starting the Rebalance Process
2.8. Online Upgrade — Cluster with the Node Removed
2.9. Online Upgrade — Adding the Node back to the Cluster
2.10. Couchbase Server Setup
2.11. Couchbase Server Setup — Step 1 (New Cluster)
2.12. Couchbase Server Setup — Step 1 (Existing Cluster)
2.13. Couchbase Server Setup — Step 2
2.14. Couchbase Server Setup — Step 3
2.15. Couchbase Server Setup — Step 4
2.16. Couchbase Server Setup — Completed
3.1. Couchbase Server on Mac OS X — Menubar Item
4.1. Couchbase Server on EC2 — Instance Creation
4.2. Couchbase Server on EC2 — Instance Created
4.3. Couchbase Server on EC2 — Instance Detail
4.4. Deployment Strategy — Using a vBucket Aware Client
4.5. Deployment Strategy — Standalone Proxy
4.6. Deployment Strategy — Using the Embedded Proxy
5.1. Rebalancing — Servers Pending Rebalance
5.2. Rebalancing — Adding new node during setup
5.3. Rebalancing — Node added during setup
5.4. Rebalancing — Adding new node using the Web Console
5.5. Rebalancing — Adding a new node dialog
5.6. Rebalancing — Starting a Rebalance
5.7. Rebalancing — Monitoring a Rebalance
6.1. Web Console — Cluster Overview
6.2. Web Console — Data Buckets Overview
6.3. Web Console — Create Bucket
6.4. Web Console — Bucket Information
6.5. Web Console — Summary Statistics
6.6. Web Console — vBucket Resources statistics
6.7. Web Console — Disk Queue Statistics
6.8. Web Console — TAP Queue Statistics
6.9. Web Console — Memcached Statistics
6.10. Web Console — Server Nodes
6.11. Web Console — Data Bucket/Server view
6.12. Web Console — Server specific view
6.13. Web Console — Down Status
6.14. Web Console — Pend Status
6.15. Web Console — Settings — Update Notifications
6.16. Web Console — Settings — Auto-Failover
6.17. Web Console — Settings — Alerts
6.18. Web Console — Log Viewer
10.1. Architecture — Bucket Configuration
10.2. Architecture — Background Fetch Workflow
10.3. Architecture — Couchbase Buckets
10.4. Architecture — vBucket Mapping
10.5. Architecture — vBucket Mapping after Rebalance

List of Tables

1.1. Couchbase Architecture — Bucket Types
1.2. Couchbase Architecture — Bucket Capabilities
2.1. Getting Started — Network Ports
4.1. Deployment — Sizing — Input Variables
4.2. Deployment — Sizing — Constants
4.3. Deployment — Sizing — Input Variables
4.4. Deployment — Sizing — Constants
4.5. Deployment — Sizing — Variable Calculations
7.1. Couchbase Server Command-line Tools
7.2. Administration — couchbase Tool Commands
7.3. Administration — Standard couchbase Tool Options
7.4. cbstats Tool Commands
7.5. cbstats Output for all
8.1. REST API — Supported Request Headers
8.2. REST API — HTTP Status Codes
8.3. REST API — Controller Functions
8.4. REST API — Cluster Joining Arguments
8.5. REST API — Cluster Joining Additional Arguments
11.1. Monitoring — Stats
12.1. Troubleshooting — Responses to Specific Errors
D.1. Couchbase Server Limits