# Replication for selected namespaces and set

**URL:** <https://discuss.aerospike.com/t/replication-for-selected-namespaces-and-set/959>\
**Category:** XDR (Cross Data Center Replication)\
**Created:** [February 17, 2015, 6:08am UTC](https://discuss.aerospike.com/t/replication-for-selected-namespaces-and-set/959 "2015-02-17T06:08:08Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![holmes](https://avatars.discourse-cdn.com/v4/letter/h/e95f7d/32.png) [@holmes](https://discuss.aerospike.com/u/holmes)\
**Post date:** [February 17, 2015, 6:08am UTC](https://discuss.aerospike.com/t/replication-for-selected-namespaces-and-set/959/1 "2015-02-17T06:08:08Z")

</div>

Hi,

Suppose I have 3 datacenters : dc1, dc2, dc3.

Namespaces in dc1 : ns1, ns2  
Namespaces in dc2 : ns1, ns2, ns3  
Namespaces in dc3 : ns3

Now , I want data in :

[dc1:ns1] to be replicated to [dc2:ns1] but not dc3  
[dc2:ns2] replicated to [dc1:ns2] nut not [dc3]  
and data in [dc2:ns3] to be replicated to [dc3] but not [dc1]

How do i configure this type cluster/namespace ?

---

<div class="post-metadata">

**Author:** ![petter](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.aerospike.com/petter/32/44_2.png) [@petter](https://discuss.aerospike.com/u/petter)\
**Post date:** [February 17, 2015, 7:05am UTC](https://discuss.aerospike.com/t/replication-for-selected-namespaces-and-set/959/2 "2015-02-17T07:05:35Z")

</div>

Hi Holmes,

The following example configuration would get this done:

**DC1**

```
xdr {
  enable-xdr true
  namedpipe-path /tmp/xdr_pipe
  digestlog-path /opt/aerospike/data/digestlog 100G
  errorlog-path /var/log/aerospike/asxdr.log
  local-node-port 3000
  info-port 3004
  datacenter dc2 {
  dc-node-address-port IP-ADDRESS PORT
  }
}

namespace ns1 {
        enable-xdr true
        replication-factor 2
        memory-size 4G
        default-ttl 30d

        storage-engine memory
        xdr-remote-datacenter dc2
}

namespace ns2 {
        replication-factor 2
        memory-size 4G
        default-ttl 30d

        storage-engine memory
}

```

**DC2**

```
xdr {
  enable-xdr true
  namedpipe-path /tmp/xdr_pipe
  digestlog-path /opt/aerospike/data/digestlog 100G
  errorlog-path /var/log/aerospike/asxdr.log
  local-node-port 3000
  info-port 3004
  datacenter dc1 {
    dc-node-address-port IP-ADDRESS PORT
  }
  datacenter dc3 {
    dc-node-address-port IP-ADDRESS PORT
  }
}

namespace ns1 {
        replication-factor 2
        memory-size 4G
        default-ttl 30d

        storage-engine memory
}

namespace ns2 {
        enable-xdr true
        replication-factor 2
        memory-size 4G
        default-ttl 30d

        storage-engine memory
        xdr-remote-datacenter dc1
}

namespace ns3 {
        enable-xdr true
        replication-factor 2
        memory-size 4G
        default-ttl 30d

        storage-engine memory
        xdr-remote-datacenter dc3
}

```

**DC3**

```
namespace ns3 {
        replication-factor 2
        memory-size 4G
        default-ttl 30d

        storage-engine memory
}

```

Hope that helps.

Petter

---

<div class="post-metadata">

**Author:** ![holmes](https://avatars.discourse-cdn.com/v4/letter/h/e95f7d/32.png) [@holmes](https://discuss.aerospike.com/u/holmes)\
**Post date:** [February 17, 2015, 10:15am UTC](https://discuss.aerospike.com/t/replication-for-selected-namespaces-and-set/959/3 "2015-02-17T10:15:07Z")

</div>

Thanks Petter, +1. Its definitely helpful.

Regards, Holmes
