stack_descriptors.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. /**
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. module.exports = {
  19. "Artifacts": {
  20. "artifact_name": "kerberos_descriptor",
  21. "stack_name": "HDP",
  22. "stack_version": "2.2"
  23. },
  24. "artifact_data": {
  25. "properties": {
  26. "realm": "${cluster-env/kerberos_domain}",
  27. "keytab_dir": "/etc/security/keytabs"
  28. },
  29. "identities": [
  30. {
  31. "principal": {
  32. "value": "HTTP/_HOST@${realm}",
  33. "configuration": null
  34. },
  35. "name": "spnego",
  36. "keytab": {
  37. "file": "${keytab_dir}/spnego.service.keytab",
  38. "owner": {
  39. "name": "root",
  40. "access": "r"
  41. },
  42. "configuration": null,
  43. "group": {
  44. "name": "${hadoop-env/user_group}",
  45. "access": "r"
  46. }
  47. }
  48. },
  49. {
  50. "principal": {
  51. "value": "hdfs@${realm}",
  52. "configuration": "cluster-env/hdfs_principal_name"
  53. },
  54. "name": "hdfs",
  55. "keytab": {
  56. "file": "${keytab_dir}/hdfs.headless.keytab",
  57. "owner": {
  58. "name": "root",
  59. "access": "r"
  60. },
  61. "configuration": "hadoop-env/hdfs_user_keytab",
  62. "group": {
  63. "name": "${cluster-env/user_group}",
  64. "access": "r"
  65. }
  66. }
  67. },
  68. {
  69. "principal": {
  70. "value": "hbase@${realm}",
  71. "configuration": "hbase-env/hbase_principal_name"
  72. },
  73. "name": "hbase",
  74. "keytab": {
  75. "file": "${keytab_dir}/hbase.headless.keytab",
  76. "owner": {
  77. "name": "root",
  78. "access": "r"
  79. },
  80. "configuration": "hbase-env/hbase_user_keytab",
  81. "group": {
  82. "name": "${cluster-env/user_group}",
  83. "access": "r"
  84. }
  85. }
  86. },
  87. {
  88. "principal": {
  89. "value": "ambari-qa@${realm}",
  90. "configuration": "cluster-env/smokeuser_principal_name"
  91. },
  92. "name": "smokeuser",
  93. "keytab": {
  94. "file": "${keytab_dir}/smokeuser.headless.keytab",
  95. "owner": {
  96. "name": "root",
  97. "access": "r"
  98. },
  99. "configuration": "cluster-env/smokeuser_keytab",
  100. "group": {
  101. "name": "${cluster-env/user_group}",
  102. "access": "r"
  103. }
  104. }
  105. }
  106. ],
  107. "configurations": [
  108. {
  109. "core-site": {
  110. "hadoop.security.authentication": "kerberos",
  111. "hadoop.rpc.protection": "authentication; integrity; privacy",
  112. "hadoop.security.authorization": "true"
  113. }
  114. }
  115. ],
  116. "services": [
  117. {
  118. "name": "HDFS",
  119. "components": [
  120. {
  121. "name": "NAMENODE",
  122. "identities": [
  123. {
  124. "name": "namenode_nn",
  125. "principal": {
  126. "value": "nn/_HOST@${realm}",
  127. "configuration": "hdfs-site/dfs.namenode.kerberos.principal"
  128. },
  129. "keytab": {
  130. "file": "${keytab_dir}/nn.service.keytab",
  131. "owner": {
  132. "name": "${hadoop-env/hdfs_user}",
  133. "access": "r"
  134. },
  135. "group": {
  136. "name": "${cluster-env/user_group}",
  137. "access": ""
  138. },
  139. "configuration": "hdfs-site/dfs.namenode.keytab.file"
  140. }
  141. },
  142. {
  143. "name": "namenode_host",
  144. "principal": {
  145. "value": "host/_HOST@${realm}",
  146. "configuration": "hdfs-site/dfs.namenode.kerberos.https.principal"
  147. },
  148. "keytab": {
  149. "file": "${keytab_dir}/host.keytab",
  150. "owner": {
  151. "name": "${hadoop-env/hdfs_user}",
  152. "access": "r"
  153. },
  154. "group": {
  155. "name": "${cluster-env/user_group}",
  156. "access": ""
  157. },
  158. "configuration": "hdfs-site/dfs.namenode.keytab.file"
  159. }
  160. },
  161. {
  162. "name": "/spnego",
  163. "principal": {
  164. "configuration": "hdfs-site/dfs.web.authentication.kerberos.principal"
  165. },
  166. "keytab": {
  167. "configuration": "hdfs/dfs.web.authentication.kerberos.keytab"
  168. }
  169. }
  170. ]
  171. },
  172. {
  173. "name": "DATANODE",
  174. "identities": [
  175. {
  176. "name": "datanode_dn",
  177. "principal": {
  178. "value": "dn/_HOST@${realm}",
  179. "configuration": "hdfs-site/dfs.namenode.kerberos.principal"
  180. },
  181. "keytab": {
  182. "file": "${keytab_dir}/dn.service.keytab",
  183. "owner": {
  184. "name": "${hadoop-env/hdfs_user}",
  185. "access": "r"
  186. },
  187. "group": {
  188. "name": "${cluster-env/user_group}",
  189. "access": ""
  190. },
  191. "configuration": "hdfs-site/dfs.namenode.keytab.file"
  192. }
  193. },
  194. {
  195. "name": "datanode_host",
  196. "principal": {
  197. "value": "host/_HOST@${realm}",
  198. "configuration": "hdfs-site/dfs.datanode.kerberos.https.principal"
  199. },
  200. "keytab": {
  201. "file": "${keytab_dir}/host.keytab.file",
  202. "owner": {
  203. "name": "${hadoop-env/hdfs_user}",
  204. "access": "r"
  205. },
  206. "group": {
  207. "name": "${cluster-env/user_group}",
  208. "access": ""
  209. },
  210. "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
  211. }
  212. }
  213. ]
  214. },
  215. {
  216. "name": "SECONDARY_NAMENODE",
  217. "identities": [
  218. {
  219. "name": "secondary_namenode_nn",
  220. "principal": {
  221. "value": "nn/_HOST@${realm}",
  222. "configuration": "hdfs-site/dfs.namenode.secondary.kerberos.principal"
  223. },
  224. "keytab": {
  225. "file": "${keytab_dir}/snn.service.keytab",
  226. "owner": {
  227. "name": "${hadoop-env/hdfs_user}",
  228. "access": "r"
  229. },
  230. "group": {
  231. "name": "${cluster-env/user_group}",
  232. "access": ""
  233. },
  234. "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
  235. }
  236. },
  237. {
  238. "name": "secondary_namenode_host",
  239. "principal": {
  240. "value": "host/_HOST@${realm}",
  241. "configuration": "hdfs-site/dfs.namenode.secondary.kerberos.https.principal"
  242. },
  243. "keytab": {
  244. "file": "${keytab_dir}/host.keytab.file",
  245. "owner": {
  246. "name": "${hadoop-env/hdfs_user}",
  247. "access": "r"
  248. },
  249. "group": {
  250. "name": "${cluster-env/user_group}",
  251. "access": ""
  252. },
  253. "configuration": "hdfs-site/dfs.namenode.secondary.keytab.file"
  254. }
  255. },
  256. {
  257. "name": "/spnego",
  258. "principal": {
  259. "configuration": "hdfs-site/dfs.web.authentication.kerberos.principal"
  260. },
  261. "keytab": {
  262. "configuration": "hdfs/dfs.web.authentication.kerberos.keytab"
  263. }
  264. }
  265. ]
  266. }
  267. ]
  268. },
  269. {
  270. "name": "FALCON",
  271. "identities": [
  272. {
  273. "name": "/spnego"
  274. },
  275. {
  276. "name": "/smokeuser"
  277. },
  278. {
  279. "name": "/hdfs"
  280. }
  281. ],
  282. "configurations": [
  283. {
  284. "falcon-startup.properties": {
  285. "*.falcon.http.authentication.type": "kerberos",
  286. "*.falcon.authentication.type": "kerberos",
  287. "*.dfs.namenode.kerberos.principal": "nn/_HOST@${realm}"
  288. }
  289. }
  290. ],
  291. "components": [
  292. {
  293. "name": "FALCON_SERVER",
  294. "identities": [
  295. {
  296. "principal": {
  297. "value": "falcon/${host}@${realm}",
  298. "configuration": "falcon-startup.properties/*.falcon.service.authentication.kerberos.principal"
  299. },
  300. "name": "falcon_server",
  301. "keytab": {
  302. "file": "${keytab_dir}/falcon.service.keytab",
  303. "owner": {
  304. "name": "${falcon-env/falcon_user}",
  305. "access": "r"
  306. },
  307. "configuration": "falcon-startup.properties/*.falcon.service.authentication.kerberos.keytab",
  308. "group": {
  309. "name": "${cluster-env/user_group}",
  310. "access": ""
  311. }
  312. }
  313. },
  314. {
  315. "principal": {
  316. "value": "HTTP/${host}@${realm}",
  317. "configuration": "falcon-startup.properties/oozie.authentication.kerberos.principal"
  318. },
  319. "name": "/spnego",
  320. "keytab": {
  321. "file": null,
  322. "owner": {
  323. "name": null,
  324. "access": null
  325. },
  326. "configuration": "falcon-startup.properties/oozie.authentication.kerberos.keytab",
  327. "group": {
  328. "name": null,
  329. "access": null
  330. }
  331. }
  332. }
  333. ]
  334. }
  335. ]
  336. }
  337. ]
  338. }
  339. };