\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{kinger1999} \pdfinfo{ /Title (druid-api-cheat-sheet.pdf) /Creator (Cheatography) /Author (kinger1999) /Subject (Druid API Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{0489DC} \definecolor{LightBackground}{HTML}{EFF7FC} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Druid API Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{kinger1999} via \textcolor{DarkBackground}{\uline{cheatography.com/84184/cs/19890/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}kinger1999 \\ \uline{cheatography.com/kinger1999} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 19th June, 2019.\\ Updated 19th June, 2019.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{tabularx}{17.67cm}{p{1.687 cm} x{6.4106 cm} x{8.7724 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Overlord}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Leadership} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/indexer/v1/leader} & Returns the current leader Overlord of the cluster. \tn % Row Count 4 (+ 3) % Row 2 \SetRowColor{LightBackground} GET & \seqsplit{/druid/indexer/v1/isLeader} & This returns a JSON object with field "leader", either true or false \tn % Row Count 8 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{5.3984 cm} x{9.7846 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Query Server}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Queries} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} POST & /druid/v2/ & The endpoint for submitting queries. Accepts an option ?pretty that pretty prints the results. \tn % Row Count 6 (+ 5) % Row 2 \SetRowColor{LightBackground} POST & \seqsplit{/druid/v2/candidates/} & Returns segment information lists including server locations for the given query.. \tn % Row Count 10 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{6.5793 cm} x{8.6037 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Query Server}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Load Status} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/broker/v1/loadstatus} & Returns a flag indicating if the Broker knows about all segments in Zookeeper. \tn % Row Count 5 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.0854 cm} x{8.0976 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Query Server}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Broker} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{3}{x{17.67cm}}{Datasource Information} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} GET & \seqsplit{/druid/v2/datasources} & Returns a list of queryable datasources. \tn % Row Count 5 (+ 3) % Row 3 \SetRowColor{white} GET & /druid/v2/datasources/\{dataSourceName\} & Returns the dimensions and metrics of the datasource. \tn % Row Count 8 (+ 3) % Row 4 \SetRowColor{LightBackground} & & Optionally, you can provide request parameter "full" to get list of served intervals with dimensions and metrics being served for those intervals. You can also provide request param "interval" explicitly to refer to a particular interval. \tn % Row Count 21 (+ 13) % Row 5 \SetRowColor{white} GET & /druid/v2/datasources/\{dataSourceName\}/candidates?intervals=\{comma-separated-intervals\}\&numCandidates=\{numCandidates\} & Returns segment information lists including server locations for the given datasource and intervals. If "numCandidates" is not specified, it will return all servers for each interval. \tn % Row Count 31 (+ 10) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{2.0244 cm} x{6.4106 cm} x{8.435 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Data Server}} \tn % Row 0 \SetRowColor{LightBackground} \seqsplit{Historical} & Segment Loading & \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/historical/v1/loadstatus} & Returns JSON of the form \{"cacheInitialized":\textless{}value\textgreater{}\}, where value is either true or false indicating if all segments in the local cache have been loaded. \tn % Row Count 11 (+ 8) % Row 2 \SetRowColor{LightBackground} GET & \seqsplit{/druid/historical/v1/readiness} & Similar to \seqsplit{/druid/historical/v1/loadstatus}, but instead of returning JSON with a flag, responses 200 OK if segments in the local cache have been loaded, and 503 SERVICE UNAVAILABLE, if they haven't. \tn % Row Count 21 (+ 10) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.0854 cm} x{8.0976 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Data Server}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Peon} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & /druid/worker/v1/chat/\{taskId\}/rowStats & Retrieve a live row stats report from a Peon. See task reports for more details. \tn % Row Count 6 (+ 5) % Row 2 \SetRowColor{LightBackground} GET & /druid/worker/v1/chat/\{taskId\}/unparseableEvents & Retrieve an unparseable events report from a Peon. See task reports for more details. \tn % Row Count 11 (+ 5) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.9289 cm} x{7.2541 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Data Server}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{MiddleManager} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/worker/v1/enabled} & Check whether a MiddleManager is in an enabled or disabled state \tn % Row Count 5 (+ 4) % Row 2 \SetRowColor{LightBackground} GET & \seqsplit{/druid/worker/v1/tasks} & Retrieve a list of active tasks being run on MiddleManager. \tn % Row Count 9 (+ 4) % Row 3 \SetRowColor{white} GET & /druid/worker/v1/task/\{taskid\}/log & Retrieve task log output stream by task id \tn % Row Count 12 (+ 3) % Row 4 \SetRowColor{LightBackground} POST & \seqsplit{/druid/worker/v1/disable} & 'Disable' a MiddleManager, causing it to stop accepting new tasks but complete all existing tasks. \tn % Row Count 18 (+ 6) % Row 5 \SetRowColor{white} POST & \seqsplit{/druid/worker/v1/enable} & 'Enable' a MiddleManager, allowing it to accept new tasks again if it was previously disabled. \tn % Row Count 24 (+ 6) % Row 6 \SetRowColor{LightBackground} POST & /druid/worker/v1/task/\{taskid\}/shutdown & Shutdown a running task by taskid. \tn % Row Count 27 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.0854 cm} x{8.0976 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Overlord}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Dynamic Configuration} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/indexer/v1/worker} & Retreives current overlord dynamic configuration. \tn % Row Count 4 (+ 3) % Row 2 \SetRowColor{LightBackground} GET & \seqsplit{/druid/indexer/v1/worker/history}?interval=\{interval\}\&counter=\{count\} & Retrieves history of changes to overlord dynamic configuration. Accepts interval and count query string parameters to filter by interval and limit the number of results respectively. \tn % Row Count 14 (+ 10) % Row 3 \SetRowColor{white} GET & \seqsplit{/druid/indexer/v1/scaling} & Retrieves overlord scaling events if auto-scaling runners are in use. \tn % Row Count 18 (+ 4) % Row 4 \SetRowColor{LightBackground} POST & \seqsplit{/druid/indexer/v1/worker} & Update overlord dynamic worker configuration. \tn % Row Count 21 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.0854 cm} x{8.0976 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Overlord}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Supervisors} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/indexer/v1/supervisor} & Returns a list of strings of the currently active supervisor ids. \tn % Row Count 5 (+ 4) % Row 2 \SetRowColor{LightBackground} GET & \seqsplit{/druid/indexer/v1/supervisor}?full & Returns a list of objects of the currently active supervisors. \tn % Row Count 9 (+ 4) % Row 3 \SetRowColor{white} GET & /druid/indexer/v1/supervisor/\textless{}supervisorId\textgreater{} & Returns the current spec for the supervisor with the provided ID. \tn % Row Count 13 (+ 4) % Row 4 \SetRowColor{LightBackground} GET & /druid/indexer/v1/supervisor/\textless{}supervisorId\textgreater{}/status & Returns the current status of the supervisor with the provided ID. \tn % Row Count 17 (+ 4) % Row 5 \SetRowColor{white} GET & \seqsplit{/druid/indexer/v1/supervisor/history} & Returns an audit history of specs for all supervisors (current and past). \tn % Row Count 21 (+ 4) % Row 6 \SetRowColor{LightBackground} GET & /druid/indexer/v1/supervisor/\textless{}supervisorId\textgreater{}/history & Returns an audit history of specs for the supervisor with the provided ID. \tn % Row Count 25 (+ 4) % Row 7 \SetRowColor{white} POST & \seqsplit{/druid/indexer/v1/supervisor} & Suspend the current running supervisor of the provided ID. Responds with updated SupervisorSpec. \tn % Row Count 31 (+ 6) \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.0854 cm} x{8.0976 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Overlord (cont)}} \tn % Row 8 \SetRowColor{LightBackground} POST & /druid/indexer/v1/supervisor/\textless{}supervisorId\textgreater{}/suspend & Suspend the current running supervisor of the provided ID. Responds with updated SupervisorSpec. \tn % Row Count 6 (+ 6) % Row 9 \SetRowColor{white} POST & \seqsplit{/druid/indexer/v1/supervisor/suspendAll} & Suspend all supervisors at once. \tn % Row Count 9 (+ 3) % Row 10 \SetRowColor{LightBackground} POST & /druid/indexer/v1/supervisor/\textless{}supervisorId\textgreater{}/resume & Resume indexing tasks for a supervisor. Responds with updated SupervisorSpec. \tn % Row Count 14 (+ 5) % Row 11 \SetRowColor{white} POST & \seqsplit{/druid/indexer/v1/supervisor/resumeAll} & Resume all supervisors at once. \tn % Row Count 17 (+ 3) % Row 12 \SetRowColor{LightBackground} POST & /druid/indexer/v1/supervisor/\textless{}supervisorId\textgreater{}/reset & Reset the specified supervisor. \tn % Row Count 21 (+ 4) % Row 13 \SetRowColor{white} POST & /druid/indexer/v1/supervisor/\textless{}supervisorId\textgreater{}/terminate & Terminate a supervisor of the provided ID. \tn % Row Count 25 (+ 4) % Row 14 \SetRowColor{LightBackground} POST & \seqsplit{/druid/indexer/v1/supervisor/terminateAll} & Terminate all supervisors at once. \tn % Row Count 28 (+ 3) % Row 15 \SetRowColor{white} POST & /druid/indexer/v1/supervisor/\textless{}supervisorId\textgreater{}/shutdown & Shutdown a supervisor. \tn % Row Count 32 (+ 4) \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.0854 cm} x{8.0976 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Overlord (cont)}} \tn % Row 16 \SetRowColor{LightBackground} POST & /druid/indexer/v1/supervisor/\textless{}supervisorId\textgreater{}/suspend & Suspend the current running supervisor of the provided ID. Responds with updated SupervisorSpec. \tn % Row Count 6 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.2541 cm} x{7.9289 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Overlord}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Tasks} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/indexer/v1/tasks} & Retrieve list of tasks. Accepts query string parameters state, datasource, \seqsplit{createdTimeInterval}, max, and type. \tn % Row Count 8 (+ 7) % Row 2 \SetRowColor{LightBackground} GET & \seqsplit{/druid/indexer/v1/completeTasks} & Retrieve list of complete tasks. Equivalent to \seqsplit{/druid/indexer/v1/tasks}?state=complete. \tn % Row Count 13 (+ 5) % Row 3 \SetRowColor{white} GET & \seqsplit{/druid/indexer/v1/runningTasks} & Retrieve list of running tasks. Equivalent to \seqsplit{/druid/indexer/v1/tasks}?state=running. \tn % Row Count 18 (+ 5) % Row 4 \SetRowColor{LightBackground} GET & \seqsplit{/druid/indexer/v1/waitingTasks} & Retrieve list of waiting tasks. Equivalent to \seqsplit{/druid/indexer/v1/tasks}?state=waiting. \tn % Row Count 23 (+ 5) % Row 5 \SetRowColor{white} GET & \seqsplit{/druid/indexer/v1/pendingTasks} & Retrieve list of pending tasks. Equivalent to \seqsplit{/druid/indexer/v1/tasks}?state=pending. \tn % Row Count 28 (+ 5) % Row 6 \SetRowColor{LightBackground} GET & /druid/indexer/v1/task/\{taskId\} & Retrieve the 'payload' of a task. \tn % Row Count 30 (+ 2) \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.2541 cm} x{7.9289 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Overlord (cont)}} \tn % Row 7 \SetRowColor{LightBackground} GET & /druid/indexer/v1/task/\{taskId\}/status & Retrieve the status of a task. \tn % Row Count 3 (+ 3) % Row 8 \SetRowColor{white} GET & /druid/indexer/v1/task/\{taskId\}/segments & Retrieve information about the segments of a task. \tn % Row Count 6 (+ 3) % Row 9 \SetRowColor{LightBackground} GET & & This API is deprecated and will be removed in future releases. \tn % Row Count 10 (+ 4) % Row 10 \SetRowColor{white} GET & /druid/indexer/v1/task/\{taskId\}/reports & Retrieve a task completion report for a task. Only works for completed tasks. \tn % Row Count 15 (+ 5) % Row 11 \SetRowColor{LightBackground} POST & \seqsplit{/druid/indexer/v1/task} & Endpoint for submitting tasks and supervisor specs to the Overlord. Returns the taskId of the submitted task. \tn % Row Count 22 (+ 7) % Row 12 \SetRowColor{white} POST & /druid/indexer/v1/task/\{taskId\}/shutdown & Shuts down a task. \tn % Row Count 25 (+ 3) % Row 13 \SetRowColor{LightBackground} POST & /druid/indexer/v1/datasources/\{dataSource\}/shutdownAllTasks & Shuts down all tasks for a dataSource. \tn % Row Count 29 (+ 4) % Row 14 \SetRowColor{white} POST & \seqsplit{/druid/indexer/v1/taskStatus} & Retrieve list of task status objects for list of task id strings in request body. \tn % Row Count 34 (+ 5) \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.2541 cm} x{7.9289 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Overlord (cont)}} \tn % Row 15 \SetRowColor{LightBackground} \seqsplit{DELETE} & /druid/indexer/v1/pendingSegments/\{dataSource\} & Manually clean up pending segments table in metadata storage for datasource. Returns a JSON object. \tn % Row Count 6 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{x{5.3537 cm} x{11.9163 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{17.67cm}}{\bf\textcolor{white}{Common}} \tn % Row 0 \SetRowColor{LightBackground} /status & Returns the Druid version, loaded extensions, memory used, total memory and other useful information about the process. \tn % Row Count 5 (+ 5) % Row 1 \SetRowColor{white} \seqsplit{/status/health} & Always returns a boolean "true" value with a 200 OK response, useful for automated health checks. \tn % Row Count 9 (+ 4) % Row 2 \SetRowColor{LightBackground} \seqsplit{/status/properties} & Returns the current configuration properties of the process. \tn % Row Count 12 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{17.67cm}}{These endpoints are supported by all processes.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.7602 cm} x{7.4228 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Master Server}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Server Information} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/coordinator/v1/servers} & Returns a list of servers URLs using the format \{hostname\}:\{port\}. \tn % Row Count 5 (+ 4) % Row 2 \SetRowColor{LightBackground} GET & \seqsplit{/druid/coordinator/v1/servers}?simple & Returns a list of server data objects in which each object has the following keys: {\emph{ host: host URL include (\{hostname\}:\{port\}) }} type: process type \seqsplit{(indexer-executor}, historical) {\emph{ currSize: storage size currently used }} maxSize: maximum storage size {\emph{ priority }} tier \tn % Row Count 21 (+ 16) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.2541 cm} x{7.9289 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Master Server}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Compaction Configuration} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/coordinator/v1/config/compaction} & Returns all compaction configs. \tn % Row Count 4 (+ 3) % Row 2 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/config/compaction/\{dataSource\} & Returns a compaction config of a dataSource. \tn % Row Count 8 (+ 4) % Row 3 \SetRowColor{white} POST & \seqsplit{/druid/coordinator/v1/config/compaction/taskslots}?ratio=\{someRatio\}\&max=\{someMaxSlots\} & Update the capacity for compaction tasks. ratio and max are used to limit the max number of compaction tasks. \tn % Row Count 15 (+ 7) % Row 4 \SetRowColor{LightBackground} POST & \seqsplit{/druid/coordinator/v1/config/compaction} & Creates or updates the compaction config for a dataSource. \tn % Row Count 19 (+ 4) % Row 5 \SetRowColor{white} \seqsplit{DELETE} & /druid/coordinator/v1/config/compaction/\{dataSource\} & Removes the compaction config for a dataSource. \tn % Row Count 23 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}---} \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{See Compaction Configuration for configuration details.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.0854 cm} x{8.0976 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Master Server}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Intervals} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/coordinator/v1/intervals} & Returns all intervals for all datasources with total size and count. \tn % Row Count 5 (+ 4) % Row 2 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/intervals/\{interval\} & Returns aggregated total size and count for all intervals that intersect given isointerval. \tn % Row Count 10 (+ 5) % Row 3 \SetRowColor{white} GET & /druid/coordinator/v1/intervals/\{interval\}?simple & Returns total size and count for each interval within given isointerval. \tn % Row Count 14 (+ 4) % Row 4 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/intervals/\{interval\}?full & Returns total size and count for each datasource for each interval within given isointerval. \tn % Row Count 19 (+ 5) \hhline{>{\arrayrulecolor{DarkBackground}}---} \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Note that all interval URL parameters are ISO 8601 strings delimited by a \_ instead of a / (e.g., 2016-06-27\_2016-06-28).} \tn \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.0854 cm} x{8.0976 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Master Server}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Retention Rules} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & Retention Rules & Returns all rules as JSON objects for all datasources in the cluster including the default datasource. \tn % Row Count 7 (+ 6) % Row 2 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/rules/\{dataSourceName\} & Returns all rules for a specified datasource. \tn % Row Count 10 (+ 3) % Row 3 \SetRowColor{white} GET & /druid/coordinator/v1/rules/\{dataSourceName\}?full & Returns all rules for a specified datasource and includes default datasource. \tn % Row Count 15 (+ 5) % Row 4 \SetRowColor{LightBackground} GET & \seqsplit{/druid/coordinator/v1/rules/history}?interval=\textless{}interval\textgreater{} & Returns audit history of rules for all datasources \tn % Row Count 19 (+ 4) % Row 5 \SetRowColor{white} & & default value of interval can be specified by setting \seqsplit{druid.audit.manager.auditHistoryMillis} (1 week if not configured) in Coordinator runtime.properties \tn % Row Count 28 (+ 9) % Row 6 \SetRowColor{LightBackground} GET & \seqsplit{/druid/coordinator/v1/rules/history}?count=\textless{}n\textgreater{} & Returns last entries of audit history of rules for all datasources. \tn % Row Count 32 (+ 4) \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.0854 cm} x{8.0976 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Master Server (cont)}} \tn % Row 7 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/rules/\{dataSourceName\}/history?interval=\textless{}interval\textgreater{} & Returns audit history of rules for a specified datasource \tn % Row Count 5 (+ 5) % Row 8 \SetRowColor{white} & & default value of interval can be specified by setting \seqsplit{druid.audit.manager.auditHistoryMillis} (1 week if not configured) in Coordinator runtime.properties \tn % Row Count 14 (+ 9) % Row 9 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/rules/\{dataSourceName\}/history?count=\textless{}n\textgreater{} & Returns last entries of audit history of rules for a specified datasource. \tn % Row Count 18 (+ 4) % Row 10 \SetRowColor{white} POST & /druid/coordinator/v1/rules/\{dataSourceName\} & POST with a list of rules in JSON form to update rules. \tn % Row Count 21 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}---} \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Note that all interval URL parameters are ISO 8601 strings delimited by a \_ instead of a / (e.g., 2016-06-27\_2016-06-28).} \tn \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.2541 cm} x{7.9289 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Master Server}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Datasources} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/coordinator/v1/datasources} & Returns a list of datasource names found in the cluster. \tn % Row Count 5 (+ 4) % Row 2 \SetRowColor{LightBackground} GET & \seqsplit{/druid/coordinator/v1/datasources}?simple & Returns a list of JSON objects containing the name and properties of datasources found in the cluster. \tn % Row Count 11 (+ 6) % Row 3 \SetRowColor{white} GET & \seqsplit{/druid/coordinator/v1/datasources}?full & Returns a list of datasource names found in the cluster with all metadata about those datasources. \tn % Row Count 17 (+ 6) % Row 4 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/datasources/\{dataSourceName\} & Returns a JSON object containing the name and properties of a datasource \tn % Row Count 21 (+ 4) % Row 5 \SetRowColor{white} GET & /druid/coordinator/v1/datasources/\{dataSourceName\}?full & Returns full metadata for a datasource . \tn % Row Count 25 (+ 4) % Row 6 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/datasources/\{dataSourceName\}/intervals & Returns full metadata for a datasource . \tn % Row Count 29 (+ 4) % Row 7 \SetRowColor{white} GET & /druid/coordinator/v1/datasources/\{dataSourceName\}/intervals & Returns a set of segment intervals. \tn % Row Count 33 (+ 4) \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.2541 cm} x{7.9289 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Master Server (cont)}} \tn % Row 8 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/datasources/\{dataSourceName\}/intervals?simple & Returns a map of an interval to a JSON object containing the total byte size of segments and number of segments for that interval. \tn % Row Count 8 (+ 8) % Row 9 \SetRowColor{white} GET & /druid/coordinator/v1/datasources/\{dataSourceName\}/intervals?full & Returns a map of an interval to a map of segment metadata to a set of server names that contain the segment for that interval. \tn % Row Count 15 (+ 7) % Row 10 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/datasources/\{dataSourceName\}/intervals/\{interval\} & Returns a set of segment ids for an interval. \tn % Row Count 20 (+ 5) % Row 11 \SetRowColor{white} GET & /druid/coordinator/v1/datasources/\{dataSourceName\}/intervals/\{interval\}?simple & Returns a map of segment intervals contained within the specified interval to a JSON object \tn % Row Count 26 (+ 6) % Row 12 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/datasources/\{dataSourceName\}/intervals/\{interval\}?full & Returns a map of segment intervals contained within the specified interval to a map of segment metadata to a set of server names that contain the segment for an interval. \tn % Row Count 36 (+ 10) \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.2541 cm} x{7.9289 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Master Server (cont)}} \tn % Row 13 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/datasources/\{dataSourceName\}/intervals/\{interval\}/serverview & Returns a map of segment intervals contained within the specified interval to information about the servers that contain the segment for an interval. \tn % Row Count 9 (+ 9) % Row 14 \SetRowColor{white} GET & /druid/coordinator/v1/datasources/\{dataSourceName\}/segments & Returns a list of all segments for a datasource in the cluster. \tn % Row Count 13 (+ 4) % Row 15 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/datasources/\{dataSourceName\}/segments?full & Returns a list of all segments for a datasource in the cluster with the full segment metadata. \tn % Row Count 19 (+ 6) % Row 16 \SetRowColor{white} GET & /druid/coordinator/v1/datasources/\{dataSourceName\}/segments/\{segmentId\} & Returns full segment metadata for a specific segment in the cluster. \tn % Row Count 24 (+ 5) % Row 17 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/datasources/\{dataSourceName\}/tiers & Return the tiers that a datasource exists in. \tn % Row Count 28 (+ 4) % Row 18 \SetRowColor{white} POST & /druid/coordinator/v1/datasources/\{dataSourceName\} & Enables all segments of datasource which are not overshadowed by others. \tn % Row Count 32 (+ 4) \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.2541 cm} x{7.9289 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Master Server (cont)}} \tn % Row 19 \SetRowColor{LightBackground} POST & /druid/coordinator/v1/datasources/\{dataSourceName\}/segments/\{segmentId\} & Enables a segment of a datasource. \tn % Row Count 5 (+ 5) % Row 20 \SetRowColor{white} \seqsplit{DELETE} & /druid/coordinator/v1/datasources/\{dataSourceName\} & Disables a datasource. \tn % Row Count 8 (+ 3) % Row 21 \SetRowColor{LightBackground} \seqsplit{DELETE} & /druid/coordinator/v1/datasources/\{dataSourceName\}/intervals/\{interval\} & Runs a Kill task for a given interval and datasource. \tn % Row Count 13 (+ 5) % Row 22 \SetRowColor{white} \seqsplit{DELETE} & /druid/coordinator/v1/datasources/\{dataSourceName\}/segments/\{segmentId\} & Disables a segment. \tn % Row Count 18 (+ 5) \hhline{>{\arrayrulecolor{DarkBackground}}---} \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Note that all interval URL parameters are ISO 8601 strings delimited by a \_ instead of a / (e.g., 2016-06-27\_2016-06-28).} \tn \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.0854 cm} x{8.0976 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Master Server}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Metadata info} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/coordinator/v1/metadata/datasources} & Returns a list of the names of enabled datasources in the cluster. \tn % Row Count 5 (+ 4) % Row 2 \SetRowColor{LightBackground} GET & \seqsplit{/druid/coordinator/v1/metadata/datasources}?includeDisabled & Returns a list of the names of enabled and disabled datasources in the cluster. \tn % Row Count 10 (+ 5) % Row 3 \SetRowColor{white} GET & \seqsplit{/druid/coordinator/v1/metadata/datasources}?full & Returns a list of all enabled datasources with all metadata about those datasources as stored in the metadata store. \tn % Row Count 17 (+ 7) % Row 4 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/metadata/datasources/\{dataSourceName\} & Returns full metadata for a datasource as stored in the metadata store. \tn % Row Count 21 (+ 4) % Row 5 \SetRowColor{white} GET & /druid/coordinator/v1/metadata/datasources/\{dataSourceName\}/segments & Returns a list of all segments for a datasource as stored in the metadata store. \tn % Row Count 26 (+ 5) % Row 6 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/metadata/datasources/\{dataSourceName\}/segments?full & Returns a list of all segments for a datasource with the full segment metadata as stored in the metadata store. \tn % Row Count 32 (+ 6) \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{7.0854 cm} x{8.0976 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Master Server (cont)}} \tn % Row 7 \SetRowColor{LightBackground} GET & /druid/coordinator/v1/metadata/datasources/\{dataSourceName\}/segments/\{segmentId\} & Returns full segment metadata for a specific segment as stored in the metadata store. \tn % Row Count 5 (+ 5) % Row 8 \SetRowColor{white} POST & /druid/coordinator/v1/metadata/datasources/\{dataSourceName\}/segments & Returns a list of all segments, overlapping with any of given intervals \tn % Row Count 10 (+ 5) % Row 9 \SetRowColor{LightBackground} POST & /druid/coordinator/v1/metadata/datasources/\{dataSourceName\}/segments?full & Returns a list of all segments, overlapping with any of given intervals, for a datasource with the full segment metadata \tn % Row Count 17 (+ 7) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{8.0976 cm} x{7.0854 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Master Server}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Segment Loading} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/coordinator/v1/loadstatus} & Returns the percentage of segments actually loaded in the cluster \tn % Row Count 6 (+ 5) % Row 2 \SetRowColor{LightBackground} GET & \seqsplit{/druid/coordinator/v1/loadstatus}?simple & Returns the number of segments left to load in each tier \tn % Row Count 10 (+ 4) % Row 3 \SetRowColor{white} GET & \seqsplit{/druid/coordinator/v1/loadqueue} & Returns the ids of segments to load and drop for each Historical process. \tn % Row Count 15 (+ 5) % Row 4 \SetRowColor{LightBackground} GET & \seqsplit{/druid/coordinator/v1/loadqueue}?simple & Returns the number of segments to load and drop \tn % Row Count 18 (+ 3) % Row 5 \SetRowColor{white} GET & \seqsplit{/druid/coordinator/v1/loadqueue}?full & Returns the serialized JSON of segments to load and drop for each Historical process. \tn % Row Count 24 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{17.67cm}{p{1.687 cm} x{6.9167 cm} x{8.2663 cm} } \SetRowColor{DarkBackground} \mymulticolumn{3}{x{17.67cm}}{\bf\textcolor{white}{Master Server}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{3}{x{17.67cm}}{Coordinator - Leadership} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} GET & \seqsplit{/druid/coordinator/v1/leader} & Returns the current leader Coordinator of the cluster. \tn % Row Count 4 (+ 3) % Row 2 \SetRowColor{LightBackground} GET & \seqsplit{/druid/coordinator/v1/isLeader} & Returns a JSON object with field "leader", either true or false \tn % Row Count 8 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}---} \end{tabularx} \par\addvspace{1.3em} \end{document}