diff --git a/conf/hazelcast.default.xml b/conf/hazelcast.default.xml
index b61fc9f..a65edce 100644
--- a/conf/hazelcast.default.xml
+++ b/conf/hazelcast.default.xml
@@ -3,6 +3,10 @@
 	xmlns="http://www.hazelcast.com/schema/config"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
+  <group>
+    <name>onos</name>
+  </group>
+
   <properties>
     <property name="hazelcast.logging.type">slf4j</property>
     <property name="hazelcast.version.check.enabled">false</property>
diff --git a/conf/onos_node.conf b/conf/onos_node.conf
index 5688ce1..19c6ae6 100644
--- a/conf/onos_node.conf
+++ b/conf/onos_node.conf
@@ -1,3 +1,8 @@
+
+# Name of ONOS cluster ("onos" by default)
+# used as namespace, etc. in ZooKeeper, Hazelcast, RAMCloud
+#onos.cluster.name = onos
+
 # Name of this host (`hostname` by default)
 #host.name = onosdev1
 
@@ -19,8 +24,8 @@
 # myid will be assigned incrementally according to order of list
 #zookeeper.hosts = onosdev1,onosdev2,onosdev3,onosdev4
 
-# RAMCloud clusterName (ONOS-RC by default)
-#ramcloud.clusterName = ONOS-RC
+# RAMCloud clusterName (same as onos.cluster.name by default)
+#ramcloud.clusterName = onos
 
 # RAMCloud transport timeout (1000 by ONOS default)
 #ramcloud.timeout = 1000
@@ -82,4 +87,3 @@
 
 # Multicast port used by Hazelcast. (54327 by default)
 #hazelcast.multicast.port = 54327
-
diff --git a/conf/template/hazelcast.xml.template b/conf/template/hazelcast.xml.template
index ce0e53e..0865194 100644
--- a/conf/template/hazelcast.xml.template
+++ b/conf/template/hazelcast.xml.template
@@ -9,6 +9,10 @@
       try to follow the schema defined in the xsd when possible.
   -->
 
+  <group>
+    <name>__HC_CLUSTER__</name>
+  </group>
+
   <properties>
     <property name="hazelcast.logging.type">slf4j</property>
     <property name="hazelcast.version.check.enabled">false</property>
diff --git a/onos.sh b/onos.sh
index 67c1070..30a7d8a 100755
--- a/onos.sh
+++ b/onos.sh
@@ -37,6 +37,7 @@
 fi
 
 ### Variables read from ONOS config file ###
+ONOS_CLUSTER_NAME=$(read-conf ${ONOS_CONF}  onos.cluster.name             "onos")
 ONOS_HOST_NAME=$(read-conf ${ONOS_CONF}     host.name                     `hostname`)
 ONOS_HOST_IP=$(read-conf ${ONOS_CONF}       host.ip)
 ONOS_HOST_ROLE=$(read-conf ${ONOS_CONF}     host.role)
@@ -355,6 +356,8 @@
       fi
     elif [[ $line =~ __HC_PORT__ ]]; then
       echo $line | sed -e "s|__HC_PORT__|${HC_HOST_PORT}|"
+    elif [[ $line =~ __HC_CLUSTER__ ]]; then
+      echo $line | sed -e "s|__HC_CLUSTER__|${ONOS_CLUSTER_NAME}|"
     else
       echo "${line}"
     fi
@@ -370,7 +373,7 @@
 
   local temp_rc=`begin-conf-creation ${RAMCLOUD_CONF}`
 
-  local rc_cluster_name=$(read-conf ${ONOS_CONF} ramcloud.clusterName "ONOS-RC")
+  local rc_cluster_name=$(read-conf ${ONOS_CONF} ramcloud.clusterName ${ONOS_CLUSTER_NAME})
 
   # TODO make ZooKeeper address configurable.
   echo "ramcloud.locator=zk:localhost:2181" > ${temp_rc}
@@ -677,7 +680,7 @@
   local rc_locator=$(read-conf ${RAMCLOUD_CONF} ramcloud.locator "zk:localhost:2181")
 
   # RAMCloud cluster name
-  local rc_cluster_name=$(read-conf ${RAMCLOUD_CONF} ramcloud.clusterName "ONOS-RC")
+  local rc_cluster_name=$(read-conf ${RAMCLOUD_CONF} ramcloud.clusterName ${ONOS_CLUSTER_NAME})
 
   # RAMCloud transport timeout
   local rc_timeout=$(read-conf ${ONOS_CONF} ramcloud.timeout 1000)
@@ -727,7 +730,7 @@
   # Configuration for ZK address, port
   local rc_locator=$(read-conf ${RAMCLOUD_CONF} ramcloud.locator "zk:localhost:2181")
   # RAMCloud cluster name
-  local rc_cluster_name=$(read-conf ${RAMCLOUD_CONF} ramcloud.clusterName "ONOS-RC")
+  local rc_cluster_name=$(read-conf ${RAMCLOUD_CONF} ramcloud.clusterName ${ONOS_CLUSTER_NAME})
   # RAMCloud option deadServerTimeout
   # (note RC default is 250ms, setting relaxed ONOS default to 1000ms)
   local rc_coord_deadServerTimeout=$(read-conf ${ONOS_CONF} ramcloud.coordinator.deadServerTimeout 1000)
@@ -809,7 +812,7 @@
   # Configuration for ZK address, port
   local rc_locator=$(read-conf ${RAMCLOUD_CONF} ramcloud.locator "zk:localhost:2181")
   # RAMCloud cluster name
-  local rc_cluster_name=$(read-conf ${RAMCLOUD_CONF} ramcloud.clusterName "ONOS-RC")
+  local rc_cluster_name=$(read-conf ${RAMCLOUD_CONF} ramcloud.clusterName ${ONOS_CLUSTER_NAME})
   # RAMCloud transport timeout
   local rc_timeout=$(read-conf ${ONOS_CONF} ramcloud.timeout 1000)
   # replication factor (-r) config
@@ -933,6 +936,9 @@
     exit 1
     fi
 
+  # specify ZooKeeper(curator) namespace
+  JVM_OPTS="${JVM_OPTS} -Dzookeeper.namespace=${ONOS_CLUSTER_NAME}"
+
   # specify hazelcast.xml to datagrid
   JVM_OPTS="${JVM_OPTS} -Dnet.onrc.onos.core.datagrid.HazelcastDatagrid.datagridConfig=${HC_CONF}"
 
diff --git a/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java b/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java
index 38ca110..7bc2a75 100644
--- a/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java
+++ b/src/main/java/net/onrc/onos/core/registry/ZookeeperRegistry.java
@@ -68,7 +68,12 @@
     // configuration parameter
     private String connectionString = "localhost:2181";
 
-    private static final String NAMESPACE = "onos";
+    /**
+     * JVM Option to specify ZooKeeper namespace.
+     */
+    public static final String ZK_NAMESPACE_KEY = "zookeeper.namespace";
+    private static final String DEFAULT_NAMESPACE = "onos";
+    private String namespace = DEFAULT_NAMESPACE;
     private static final String SWITCH_LATCHES_PATH = "/switches";
     private static final String CLUSTER_LEADER_PATH = "/cluster/leader";
 
@@ -570,6 +575,12 @@
         }
         log.info("Setting Zookeeper connection string to {}", this.connectionString);
 
+        namespace = System.getProperty(ZK_NAMESPACE_KEY, DEFAULT_NAMESPACE).trim();
+        if (namespace.isEmpty()) {
+            namespace = DEFAULT_NAMESPACE;
+        }
+        log.info("Setting Zookeeper namespace to {}", namespace);
+
         restApi = context.getServiceImpl(IRestApiService.class);
 
         switches = new ConcurrentHashMap<String, SwitchLeadershipData>();
@@ -581,7 +592,7 @@
                 SESSION_TIMEOUT, CONNECTION_TIMEOUT, retryPolicy);
 
         curatorFrameworkClient.start();
-        curatorFrameworkClient = curatorFrameworkClient.usingNamespace(NAMESPACE);
+        curatorFrameworkClient = curatorFrameworkClient.usingNamespace(namespace);
 
         distributedIdCounter = new DistributedAtomicLong(
                 curatorFrameworkClient,
