yarn 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. #!/usr/bin/env bash
  2. # Licensed to the Apache Software Foundation (ASF) under one or more
  3. # contributor license agreements. See the NOTICE file distributed with
  4. # this work for additional information regarding copyright ownership.
  5. # The ASF licenses this file to You under the Apache License, Version 2.0
  6. # (the "License"); you may not use this file except in compliance with
  7. # the License. You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. function hadoop_usage
  17. {
  18. echo "Usage: yarn [--config confdir] [COMMAND | CLASSNAME]"
  19. echo " CLASSNAME run the class named CLASSNAME"
  20. echo " or"
  21. echo " where COMMAND is one of:"
  22. echo " application prints application(s) report/kill application"
  23. echo " applicationattempt prints applicationattempt(s) report"
  24. echo " classpath prints the class path needed to get the"
  25. echo " Hadoop jar and the required libraries"
  26. echo " cluster prints cluster information"
  27. echo " container prints container(s) report"
  28. echo " daemonlog get/set the log level for each daemon"
  29. echo " jar <jar> run a jar file"
  30. echo " logs dump container logs"
  31. echo " node prints node report(s)"
  32. echo " nodemanager run a nodemanager on each slave"
  33. echo " proxyserver run the web app proxy server"
  34. echo " queue prints queue information"
  35. echo " resourcemanager run the ResourceManager"
  36. echo " resourcemanager -format-state-store deletes the RMStateStore"
  37. echo " rmadmin admin tools"
  38. echo " scmadmin SharedCacheManager admin tools"
  39. echo " sharedcachemanager run the SharedCacheManager daemon"
  40. echo " timelineserver run the timeline server"
  41. echo " top view cluster information"
  42. echo " version print the version"
  43. echo ""
  44. echo "Most commands print help when invoked w/o parameters."
  45. }
  46. # let's locate libexec...
  47. if [[ -n "${HADOOP_PREFIX}" ]]; then
  48. DEFAULT_LIBEXEC_DIR="${HADOOP_PREFIX}/libexec"
  49. else
  50. this="${BASH_SOURCE-$0}"
  51. bin=$(cd -P -- "$(dirname -- "${this}")" >/dev/null && pwd -P)
  52. DEFAULT_LIBEXEC_DIR="${bin}/../libexec"
  53. fi
  54. HADOOP_LIBEXEC_DIR="${HADOOP_LIBEXEC_DIR:-$DEFAULT_LIBEXEC_DIR}"
  55. # shellcheck disable=SC2034
  56. HADOOP_NEW_CONFIG=true
  57. if [[ -f "${HADOOP_LIBEXEC_DIR}/yarn-config.sh" ]]; then
  58. . "${HADOOP_LIBEXEC_DIR}/yarn-config.sh"
  59. else
  60. echo "ERROR: Cannot execute ${HADOOP_LIBEXEC_DIR}/yarn-config.sh." 2>&1
  61. exit 1
  62. fi
  63. # if no args specified, show usage
  64. if [[ $# = 0 ]]; then
  65. hadoop_exit_with_usage 1
  66. fi
  67. # get arguments
  68. COMMAND=$1
  69. shift
  70. case "${COMMAND}" in
  71. application|applicationattempt|container)
  72. CLASS=org.apache.hadoop.yarn.client.cli.ApplicationCLI
  73. hadoop_debug "Append YARN_CLIENT_OPTS onto HADOOP_OPTS"
  74. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_CLIENT_OPTS}"
  75. set -- "${COMMAND}" "$@"
  76. ;;
  77. classpath)
  78. hadoop_do_classpath_subcommand CLASS "$@"
  79. ;;
  80. cluster)
  81. CLASS=org.apache.hadoop.yarn.client.cli.ClusterCLI
  82. hadoop_debug "Append YARN_CLIENT_OPTS onto YARN_OPTS"
  83. YARN_OPTS="${YARN_OPTS} ${YARN_CLIENT_OPTS}"
  84. ;;
  85. daemonlog)
  86. CLASS=org.apache.hadoop.log.LogLevel
  87. hadoop_debug "Append YARN_CLIENT_OPTS onto HADOOP_OPTS"
  88. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_CLIENT_OPTS}"
  89. ;;
  90. jar)
  91. CLASS=org.apache.hadoop.util.RunJar
  92. hadoop_debug "Append YARN_CLIENT_OPTS onto HADOOP_OPTS"
  93. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_CLIENT_OPTS}"
  94. ;;
  95. historyserver)
  96. supportdaemonization="true"
  97. echo "DEPRECATED: Use of this command to start the timeline server is deprecated." 1>&2
  98. echo "Instead use the timelineserver command for it." 1>&2
  99. echo "Starting the History Server anyway..." 1>&2
  100. CLASS='org.apache.hadoop.yarn.server.applicationhistoryservice.ApplicationHistoryServer'
  101. ;;
  102. logs)
  103. CLASS=org.apache.hadoop.yarn.client.cli.LogsCLI
  104. hadoop_debug "Append YARN_CLIENT_OPTS onto HADOOP_OPTS"
  105. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_CLIENT_OPTS}"
  106. ;;
  107. node)
  108. CLASS=org.apache.hadoop.yarn.client.cli.NodeCLI
  109. hadoop_debug "Append YARN_CLIENT_OPTS onto HADOOP_OPTS"
  110. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_CLIENT_OPTS}"
  111. ;;
  112. nodemanager)
  113. supportdaemonization="true"
  114. CLASS='org.apache.hadoop.yarn.server.nodemanager.NodeManager'
  115. hadoop_debug "Append YARN_NODEMANAGER_OPTS onto HADOOP_OPTS"
  116. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_NODEMANAGER_OPTS}"
  117. # Backwards compatibility
  118. if [[ -n "${YARN_NODEMANAGER_HEAPSIZE}" ]]; then
  119. HADOOP_HEAPSIZE_MAX="${YARN_NODEMANAGER_HEAPSIZE}"
  120. fi
  121. ;;
  122. proxyserver)
  123. supportdaemonization="true"
  124. CLASS='org.apache.hadoop.yarn.server.webproxy.WebAppProxyServer'
  125. hadoop_debug "Append YARN_PROXYSERVER_OPTS onto HADOOP_OPTS"
  126. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_PROXYSERVER_OPTS}"
  127. # Backwards compatibility
  128. if [[ -n "${YARN_PROXYSERVER_HEAPSIZE}" ]]; then
  129. HADOOP_HEAPSIZE_MAX="${YARN_PROXYSERVER_HEAPSIZE}"
  130. fi
  131. ;;
  132. queue)
  133. CLASS=org.apache.hadoop.yarn.client.cli.QueueCLI
  134. hadoop_debug "Append YARN_CLIENT_OPTS onto HADOOP_OPTS"
  135. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_CLIENT_OPTS}"
  136. ;;
  137. resourcemanager)
  138. supportdaemonization="true"
  139. CLASS='org.apache.hadoop.yarn.server.resourcemanager.ResourceManager'
  140. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_RESOURCEMANAGER_OPTS}"
  141. hadoop_debug "Append YARN_RESOURCEMANAGER_OPTS onto HADOOP_OPTS"
  142. # Backwards compatibility
  143. if [[ -n "${YARN_RESOURCEMANAGER_HEAPSIZE}" ]]; then
  144. HADOOP_HEAPSIZE_MAX="${YARN_RESOURCEMANAGER_HEAPSIZE}"
  145. fi
  146. ;;
  147. rmadmin)
  148. CLASS='org.apache.hadoop.yarn.client.cli.RMAdminCLI'
  149. hadoop_debug "Append YARN_CLIENT_OPTS onto HADOOP_OPTS"
  150. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_CLIENT_OPTS}"
  151. ;;
  152. scmadmin)
  153. CLASS='org.apache.hadoop.yarn.client.SCMAdmin'
  154. hadoop_debug "Append YARN_CLIENT_OPTS onto HADOOP_OPTS"
  155. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_CLIENT_OPTS}"
  156. ;;
  157. sharedcachemanager)
  158. supportdaemonization="true"
  159. CLASS='org.apache.hadoop.yarn.server.sharedcachemanager.SharedCacheManager'
  160. hadoop_debug "Append YARN_SHAREDCACHEMANAGER_OPTS onto HADOOP_OPTS"
  161. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_SHAREDCACHEMANAGER_OPTS}"
  162. ;;
  163. timelineserver)
  164. supportdaemonization="true"
  165. CLASS='org.apache.hadoop.yarn.server.applicationhistoryservice.ApplicationHistoryServer'
  166. hadoop_debug "Append YARN_TIMELINESERVER_OPTS onto HADOOP_OPTS"
  167. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_TIMELINESERVER_OPTS}"
  168. # Backwards compatibility
  169. if [[ -n "${YARN_TIMELINESERVER_HEAPSIZE}" ]]; then
  170. HADOOP_HEAPSIZE_MAX="${YARN_TIMELINESERVER_HEAPSIZE}"
  171. fi
  172. ;;
  173. version)
  174. CLASS=org.apache.hadoop.util.VersionInfo
  175. hadoop_debug "Append YARN_CLIENT_OPTS onto HADOOP_OPTS"
  176. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_CLIENT_OPTS}"
  177. ;;
  178. top)
  179. doNotSetCols=0
  180. doNotSetRows=0
  181. for i in "$@"; do
  182. if [[ $i == "-cols" ]]; then
  183. doNotSetCols=1
  184. fi
  185. if [[ $i == "-rows" ]]; then
  186. doNotSetRows=1
  187. fi
  188. done
  189. if [ $doNotSetCols == 0 ] && [ -n "${TERM}" ]; then
  190. cols=$(tput cols)
  191. if [ -n "$cols" ]; then
  192. args=( $@ )
  193. args=("${args[@]}" "-cols" "$cols")
  194. set -- "${args[@]}"
  195. fi
  196. fi
  197. if [ $doNotSetRows == 0 ] && [ -n "${TERM}" ]; then
  198. rows=$(tput lines)
  199. if [ -n "$rows" ]; then
  200. args=( $@ )
  201. args=("${args[@]}" "-rows" "$rows")
  202. set -- "${args[@]}"
  203. fi
  204. fi
  205. CLASS=org.apache.hadoop.yarn.client.cli.TopCLI
  206. hadoop_debug "Append YARN_CLIENT_OPTS onto HADOOP_OPTS"
  207. HADOOP_OPTS="${HADOOP_OPTS} ${YARN_CLIENT_OPTS}"
  208. ;;
  209. *)
  210. CLASS="${COMMAND}"
  211. if ! hadoop_validate_classname "${CLASS}"; then
  212. hadoop_exit_with_usage 1
  213. fi
  214. ;;
  215. esac
  216. hadoop_verify_user "${COMMAND}"
  217. if [[ ${HADOOP_SLAVE_MODE} = true ]]; then
  218. hadoop_common_slave_mode_execute "${HADOOP_YARN_HOME}/bin/yarn" "${HADOOP_USER_PARAMS[@]}"
  219. exit $?
  220. fi
  221. daemon_outfile="${HADOOP_LOG_DIR}/hadoop-${HADOOP_IDENT_STRING}-${COMMAND}-${HOSTNAME}.out"
  222. daemon_pidfile="${HADOOP_PID_DIR}/hadoop-${HADOOP_IDENT_STRING}-${COMMAND}.pid"
  223. if [[ "${HADOOP_DAEMON_MODE}" != "default" ]]; then
  224. # shellcheck disable=SC2034
  225. HADOOP_ROOT_LOGGER="${HADOOP_DAEMON_ROOT_LOGGER}"
  226. HADOOP_LOGFILE="hadoop-${HADOOP_IDENT_STRING}-${COMMAND}-${HOSTNAME}.log"
  227. fi
  228. hadoop_finalize
  229. if [[ -n "${supportdaemonization}" ]]; then
  230. if [[ -n "${secure_service}" ]]; then
  231. hadoop_secure_daemon_handler "${HADOOP_DAEMON_MODE}" "${COMMAND}" \
  232. "${CLASS}" "${daemon_pidfile}" "${daemon_outfile}" \
  233. "${priv_pidfile}" "${priv_outfile}" "${priv_errfile}" "$@"
  234. else
  235. hadoop_daemon_handler "${HADOOP_DAEMON_MODE}" "${COMMAND}" "${CLASS}" \
  236. "${daemon_pidfile}" "${daemon_outfile}" "$@"
  237. fi
  238. exit $?
  239. else
  240. hadoop_java_exec "${COMMAND}" "${CLASS}" "$@"
  241. fi