| { |
| "metadata":{ |
| "license": [ |
| "Licensed to the Apache Software Foundation (ASF) under one or", |
| "more contributor license agreements. See the NOTICE file distributed", |
| "with this work for additional information regarding copyright ", |
| "ownership. The ASF licenses this file to you under the Apache ", |
| "License Version 2.0 (the 'License'); you may not use this file except ", |
| "in compliance with the License.", |
| "You may obtain a copy of the License at http://www.apache.org/", |
| "licenses/LICENSE-2.0 Unless required by applicable law or agreed to", |
| "in writing, software distributed under the License is distributed ", |
| "on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,", |
| "either express or implied. See the License for the specific language", |
| "governing permissions and limitations under the License." |
| ], |
| |
| "description": [ |
| "This JSON file describes the structure for a hadoop deployment", |
| "These are the main components:", |
| "*********************************************************************", |
| "root_user : This is the HCFS super user.", |
| "The root_user is the owner of / in the file system. So in POSIX DFS", |
| "this would be 'root'.", |
| "*********************************************************************", |
| "dir : The directories to create with permissions.", |
| "Each directory is a tuple (path,perm,user,group).", |
| "According to the FileSystem API, null user/group args have no effect.", |
| "In many cases these are just null, for example /tmp.", |
| "Note that PERMs are STRINGS, not numbers. JSON doesnt support octals.", |
| "*********************************************************************", |
| "user : These are the users which we create to use the system.", |
| "In this file, we use the archetypal 'tom' and 'alice' users.", |
| "the reason we create such users is to provision home dirs for them", |
| "that will allow them to use hadoop with unqualified paths, etc", |
| "we expect a provisioner to create dirs like '/user/alice'.", |
| "Note that the permissions are group readable.", |
| "Thus, those using this to provision should choose groups wisely for", |
| "the users in this file.", |
| "*********************************************************************", |
| "Motivation: A brief note on why we have created this artifact", |
| "Provisioning hadoop systems requires construction of directories", |
| "As each ecosystem component evolves, its directory requirements do to", |
| "However, there are many ways to create these directories", |
| "In the past, this has been done in a bash script.", |
| "However, different systems may create such dirs differently", |
| "For example, you could use 'hadoop fs -mkdir' (slow but simple) ", |
| "Or you could use a FUSE mount and standard unix mkdir", |
| "Or you could make direct file system API calls (fast but more complex)", |
| "So to give different hadoop provisioners flexibility, we have decided", |
| "on a standard, pure schema for defining permissions, and we expect ", |
| "various provisioner scripts (such as that in BIGTOP-952) to come along", |
| "possibly in more than one language, which provision hadoop ecosystems", |
| "using a variety of methods.", |
| "This artifact is maintained by the public, please contribute to its", |
| "up-to-date-ness, by notifying us of any deficiencies over time." |
| ] |
| }, |
| |
| "root_user":"hdfs", |
| "dir": [ |
| ["/tmp","1777",null,null], |
| ["/var/log","1775","yarn","mapred"], |
| ["/tmp/hadoop-yarn","777","mapred","mapred"], |
| ["/var/log/hadoop-yarn/apps","1777","yarn","mapred"], |
| ["/hbase",null,"hbase","hbase"], |
| ["/hawq_default","755","hawq","hawq"], |
| ["/solr",null,"solr","solr"], |
| ["/benchmarks","777",null,null], |
| ["/user","755","HCFS_SUPER_USER",null], |
| ["/user/history","755","mapred","mapred"], |
| ["/user/jenkins","777","jenkins",null], |
| ["/user/vagrant","777","vagrant",null], |
| ["/user/hive","777",null,null], |
| ["/user/root","777","root",null], |
| ["/user/hue","777","hue","hue"], |
| ["/user/sqoop","777","sqoop",null], |
| ["/user/oozie","777","oozie"], |
| ["/user/oozie/share",null,null,null], |
| ["/user/oozie/share/lib",null,null,null], |
| ["/user/oozie/share/lib/hive",null,null,null], |
| ["/user/oozie/share/lib/mapreduce",null,null,null], |
| ["/user/oozie/share/lib/mapreduce-streaming",null,null,null], |
| ["/user/oozie/share/lib/distcp",null,null,null], |
| ["/user/oozie/share/lib/pig",null,null,null], |
| ["/user/oozie/share", null,null,null], |
| ["/user/oozie/share/lib", null,null,null], |
| ["/user/oozie/share/lib/hive", null, null, null], |
| ["/user/oozie/share/lib/mapreduce-streaming", null, null, null], |
| ["/user/oozie/share/lib/distcp", null, null, null], |
| ["/user/oozie/share/lib/pig", null, null, null], |
| ["/var/log/spark/apps","1777","spark","spark"], |
| ["/user/hbase","755","hbase",null], |
| ["/apps",null,null,null], |
| ["/apps/tez",null,null,null], |
| ["/apps/tez/lib",null,null,null] |
| ], |
| "user": [ |
| ["tom", "0755", null], |
| ["alice", "0755", null], |
| ["bigtop", "0755", null] |
| ] |
| } |