"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8470],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var a=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,i=function(e,t){if(null==e)return{};var n,a,i={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=a.createContext({}),u=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=u(n),m=i,h=d["".concat(s,".").concat(m)]||d[m]||c[m]||r;return n?a.createElement(h,l(l({ref:t},p),{},{components:n})):a.createElement(h,l({ref:t},p))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,l=new Array(r);l[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[d]="string"==typeof e?e:i,l[1]=o;for(var u=2;u<r;u++)l[u]=n[u];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},6567:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>u,toc:()=>d});var a=n(7462),i=n(3366),r=(n(7294),n(3905)),l=["components"],o={id:"build",title:"Build from source"},s=void 0,u={unversionedId:"development/build",id:"development/build",title:"Build from source",description:"\x3c!--",source:"@site/docs/26.0.0/development/build.md",sourceDirName:"development",slug:"/development/build",permalink:"/docs/26.0.0/development/build",draft:!1,tags:[],version:"current",frontMatter:{id:"build",title:"Build from source"},sidebar:"docs",previous:{title:"JavaScript functionality",permalink:"/docs/26.0.0/development/javascript"},next:{title:"Versioning",permalink:"/docs/26.0.0/development/versioning"}},p={},d=[{value:"Prerequisites",id:"prerequisites",level:4},{value:"Installing Java and Maven",id:"installing-java-and-maven",level:5},{value:"Other dependencies",id:"other-dependencies",level:5},{value:"Downloading the source",id:"downloading-the-source",level:5},{value:"Building from source",id:"building-from-source",level:4},{value:"Building hadoop 3 distribution",id:"building-hadoop-3-distribution",level:3},{value:"Potential issues",id:"potential-issues",level:4},{value:"Missing <code>pyyaml</code>",id:"missing-pyyaml",level:5}],c={toc:d},m="wrapper";function h(e){var t=e.components,n=(0,i.Z)(e,l);return(0,r.kt)(m,(0,a.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"You can build Apache Druid directly from source. Use the version of this page\nthat matches the version you want to build.\nFor building the latest code in master, follow the latest version of this page\n",(0,r.kt)("a",{parentName:"p",href:"https://github.com/apache/druid/blob/master/docs/development/build.md"},"here"),":\nmake sure it has ",(0,r.kt)("inlineCode",{parentName:"p"},"/master/")," in the URL."),(0,r.kt)("h4",{id:"prerequisites"},"Prerequisites"),(0,r.kt)("h5",{id:"installing-java-and-maven"},"Installing Java and Maven"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"JDK 8, 8u92+ or JDK 11. See our ",(0,r.kt)("a",{parentName:"li",href:"/docs/26.0.0/operations/java"},"Java documentation")," for information about obtaining a JDK."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"http://maven.apache.org/download.cgi"},"Maven version 3.x"))),(0,r.kt)("h5",{id:"other-dependencies"},"Other dependencies"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Distribution builds require Python 3.x and the ",(0,r.kt)("inlineCode",{parentName:"li"},"pyyaml")," module."),(0,r.kt)("li",{parentName:"ul"},"Integration tests require ",(0,r.kt)("inlineCode",{parentName:"li"},"pyyaml")," version 5.1 or later.")),(0,r.kt)("h5",{id:"downloading-the-source"},"Downloading the source"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"git clone git@github.com:apache/druid.git\ncd druid\n")),(0,r.kt)("h4",{id:"building-from-source"},"Building from source"),(0,r.kt)("p",null,"The basic command to build Druid from source is:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"mvn clean install\n")),(0,r.kt)("p",null,"This will run static analysis, unit tests, compile classes, and package the projects into JARs. It will ",(0,r.kt)("em",{parentName:"p"},"not")," generate the source or binary distribution tarball."),(0,r.kt)("p",null,"In addition to the basic stages, you may also want to add the following profiles and properties:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"-Pdist")," - Distribution profile: Generates the binary distribution tarball by pulling in core extensions and dependencies and packaging the files as ",(0,r.kt)("inlineCode",{parentName:"li"},"distribution/target/apache-druid-x.x.x-bin.tar.gz")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"-Papache-release")," - Apache release profile: Generates GPG signature and checksums, and builds the source distribution tarball as ",(0,r.kt)("inlineCode",{parentName:"li"},"distribution/target/apache-druid-x.x.x-src.tar.gz")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"-Prat")," - Apache Rat profile: Runs the Apache Rat license audit tool"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"-DskipTests")," - Skips unit tests (which reduces build time)"),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"-Dweb.console.skip=true")," - Skip front end project")),(0,r.kt)("p",null,"Putting these together, if you wish to build the source and binary distributions with signatures and checksums, audit licenses, and skip the unit tests, you would run:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"mvn clean install -Papache-release,dist,rat -DskipTests\n")),(0,r.kt)("h3",{id:"building-hadoop-3-distribution"},"Building hadoop 3 distribution"),(0,r.kt)("p",null,"By default, druid ships hadoop 2.x.x jars along with the distribution. Exact version can be found in the\nmain ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/apache/druid/blob/master/pom.xml"},"pom"),". To build druid with hadoop 3.x.x jars, hadoop3 profile\nneeds to be activated."),(0,r.kt)("p",null,"To generate build with hadoop 3 dependencies, run:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"mvn clean install -Phadoop3\n")),(0,r.kt)("p",null,"To generate distribution with hadoop3 dependencies, run :"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"mvn clean install -Papache-release,dist-hadoop3,rat,hadoop3 -DskipTests\n")),(0,r.kt)("h4",{id:"potential-issues"},"Potential issues"),(0,r.kt)("h5",{id:"missing-pyyaml"},"Missing ",(0,r.kt)("inlineCode",{parentName:"h5"},"pyyaml")),(0,r.kt)("p",null,"You are building Druid from source following the instructions on this page but you get"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (generate-binary-license) on project distribution: Command execution failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]\n")),(0,r.kt)("p",null,"Resolution: Make sure you have Python installed as well as the ",(0,r.kt)("inlineCode",{parentName:"p"},"yaml")," module:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"pip install pyyaml\n")),(0,r.kt)("p",null,"On some systems, ensure you use the Python 3.x version of ",(0,r.kt)("inlineCode",{parentName:"p"},"pip"),":"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"pip3 install pyyaml\n")))}h.isMDXComponent=!0}}]);