Added optional CDN feature to the BnP pipeline.
Currently the Voldemort Build and Push (BnP) plugin tells Voldemort
cluster to fetch twice from the source HDFS cluster.
This optional CDN feature will instead copy files to dedicated CDN
clusters, and therefore reduce bandwidth requirement for the source.
The following are new attributes that are related to this release:
1. push.cdn.enabled
The global switch.
Example: true
Default: false
2. push.cdn.cluster
A list of "destination|cdn" pairs separated by comma, where "destination"
is a Voldemort cluster, and "cdn" is the corresponding HDFS cluster used
as CDN. if "cdn" is "null", V-cluster will fetch directly from the source
HDFS cluster instead, in which case the behavior is identical to the
previous versions of Voldemort.
Example: tcp://v-cluster1:6666|hdfs://cdn1:9000,tcp://v-cluster2:6666|webhdfs://cdn2:50070,tcp://v-cluster3:6666|null
Default: null
3. push.cdn.prefix
A directory on the CDN cluster as the root for all distcp copied files.
Example: /jobs/VoldemortBnP
Default: null
4. push.cdn.readByGroup
Set true if CDN files are read by a different user in the same group.
Example: true
Default: true
5. push.cdn.readByOther
Set true if CDN files are read by a different user in a different group.
Example: true
Default: true
6. push.cdn.writtenByGroup
Set true if CDN files are written by a different user in the same group.
Example: true
Default: true
7. push.cdn.writtenByOther
Set true if CDN files are written by a different user in a different group.
Example: true
Default: true
8. push.cdn.storeWhitelist
A comma-separated list of Voldemort store names to which the CDN feature will
apply. (for testing purposes)
Default: null (means apply to every store)
This release is compatible with existing job configurations. The default
behavior is identical to the previous version.