blob: a9a53e4bfb90da9c809bc6da2cde73bb3433354a [file] [log] [blame]
/*! For license information please see 1c72b387.4989cacb.js.LICENSE.txt */
(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6800],{4137:function(e,t,n){"use strict";n.d(t,{Zo:function(){return u},kt:function(){return m}});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(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,r,a=function(e,t){if(null==e)return{};var n,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),c=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(s.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,s=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),p=c(n),m=a,f=p["".concat(s,".").concat(m)]||p[m]||d[m]||l;return n?r.createElement(f,i(i({ref:t},u),{},{components:n})):r.createElement(f,i({ref:t},u))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,i=new Array(l);i[0]=p;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var c=2;c<l;c++)i[c]=n[c];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}p.displayName="MDXCreateElement"},2511:function(e,t,n){"use strict";n.d(t,{Z:function(){return m}});var r=n(3366),a=n(7294),l=n(3727),i=n(9962),o=n(2735),s=n(6136),c=(0,a.createContext)({collectLink:function(){}}),u=n(9524),d=n(3905),p=["isNavLink","to","href","activeClassName","isActive","data-noBrokenLinkCheck","autoAddBaseUrl"];var m=function(e){var t,n,m=e.isNavLink,f=e.to,h=e.href,g=e.activeClassName,k=e.isActive,b=e["data-noBrokenLinkCheck"],v=e.autoAddBaseUrl,O=void 0===v||v,y=(0,r.Z)(e,p),C=(0,i.Z)().siteConfig,N=C.trailingSlash,w=C.baseUrl,E=(0,u.C)().withBaseUrl,P=(0,a.useContext)(c),U=f||h,G=(0,o.Z)(U),j=null==U?void 0:U.replace("pathname://",""),D=void 0!==j?(n=j,O&&function(e){return e.startsWith("/")}(n)?E(n):n):void 0;D&&G&&(D=(0,d.applyTrailingSlash)(D,{trailingSlash:N,baseUrl:w}));var _,L=(0,a.useRef)(!1),S=m?l.OL:l.rU,T=s.Z.canUseIntersectionObserver;(0,a.useEffect)((function(){return!T&&G&&null!=D&&window.docusaurus.prefetch(D),function(){T&&_&&_.disconnect()}}),[D,T,G]);var x=null!==(t=null==D?void 0:D.startsWith("#"))&&void 0!==t&&t,Z=!D||!G||x;return D&&G&&!x&&!b&&P.collectLink(D),Z?a.createElement("a",Object.assign({href:D},U&&!G&&{target:"_blank",rel:"noopener noreferrer"},y)):a.createElement(S,Object.assign({},y,{onMouseEnter:function(){L.current||null==D||(window.docusaurus.preload(D),L.current=!0)},innerRef:function(e){var t,n;T&&e&&G&&(t=e,n=function(){null!=D&&window.docusaurus.prefetch(D)},(_=new window.IntersectionObserver((function(e){e.forEach((function(e){t===e.target&&(e.isIntersecting||e.intersectionRatio>0)&&(_.unobserve(t),_.disconnect(),n())}))}))).observe(t))},to:D||""},m&&{isActive:k,activeClassName:g}))}},2735:function(e,t,n){"use strict";function r(e){return!0===/^(\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{b:function(){return r},Z:function(){return a}})},9524:function(e,t,n){"use strict";n.d(t,{C:function(){return l},Z:function(){return i}});var r=n(9962),a=n(2735);function l(){var e=(0,r.Z)().siteConfig,t=(e=void 0===e?{}:e).baseUrl,n=void 0===t?"/":t,l=e.url;return{withBaseUrl:function(e,t){return function(e,t,n,r){var l=void 0===r?{}:r,i=l.forcePrependBaseUrl,o=void 0!==i&&i,s=l.absolute,c=void 0!==s&&s;if(!n)return n;if(n.startsWith("#"))return n;if((0,a.b)(n))return n;if(o)return t+n;var u=n.startsWith(t)?n:t+n.replace(/^\//,"");return c?e+u:u}(l,n,e,t)}}}function i(e,t){return void 0===t&&(t={}),(0,l().withBaseUrl)(e,t)}},4136:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=t.trailingSlash,r=t.baseUrl;if(e.startsWith("#"))return e;if(void 0===n)return e;var a,l=e.split(/[#?]/)[0],i="/"===l||l===r?l:(a=l,n?function(e){return e.endsWith("/")?e:e+"/"}(a):function(e){return e.endsWith("/")?e.slice(0,-1):e}(a));return e.replace(l,i)}},3905:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.uniq=t.applyTrailingSlash=void 0;var a=n(4136);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var l=n(3509);Object.defineProperty(t,"uniq",{enumerable:!0,get:function(){return r(l).default}})},3509:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return Array.from(new Set(e))}},6261:function(e,t,n){"use strict";var r=n(7294),a=n(4184),l=n.n(a);t.Z=function(e){var t=e.children,n=e.classNames,a=e.fill,i=e.icon,o=e.type,s=null;switch(o){case"danger":s="alert-triangle";break;case"success":s="check-circle";break;case"warning":s="alert-triangle";break;default:s="info"}return r.createElement("div",{className:l()(n,"alert","alert--"+o,{"alert--fill":a,"alert--icon":!1!==i}),role:"alert"},!1!==i&&r.createElement("i",{className:l()("feather","icon-"+(i||s))}),t)}},9342:function(e,t,n){"use strict";var r=n(7294),a=n(2511),l=n(4184),i=n.n(l);t.Z=function(e){var t=e.children,n=e.className,l=e.badge,o=e.icon,s=e.size,c=e.target,u=e.to,d=i()("jump-to","jump-to--"+s,n),p=r.createElement("div",{className:"jump-to--inner"},r.createElement("div",{className:"jump-to--inner-2"},r.createElement("div",{className:"jump-to--main"},l?r.createElement("span",{className:"badge badge--primary badge--right"},l):"",t),r.createElement("div",{className:"jump-to--right"},r.createElement("i",{className:"feather icon-"+(o||"chevron-right")+" arrow"}))));return c?r.createElement("a",{href:u,target:c,className:d},p):r.createElement(a.Z,{to:u,className:d},p)}},2729:function(e,t,n){"use strict";n.r(t),n.d(t,{frontMatter:function(){return c},contentTitle:function(){return u},metadata:function(){return d},toc:function(){return p},default:function(){return f}});var r=n(7462),a=n(3366),l=(n(7294),n(4137)),i=n(6261),o=n(9342),s=["components"],c={title:"GCP Quickstart",sidebar_label:"GCP",description:"Run Pinot on GCP",draft:!0},u=void 0,d={unversionedId:"administration/installation/cloud/gcp",id:"administration/installation/cloud/gcp",isDocsHomePage:!1,title:"GCP Quickstart",description:"Run Pinot on GCP",source:"@site/docs/administration/installation/cloud/gcp.md",sourceDirName:"administration/installation/cloud",slug:"/administration/installation/cloud/gcp",permalink:"/docs/administration/installation/cloud/gcp",editUrl:"https://github.com/apache/pinot/edit/master/website/docs/administration/installation/cloud/gcp.md",version:"current",frontMatter:{title:"GCP Quickstart",sidebar_label:"GCP",description:"Run Pinot on GCP",draft:!0},sidebar:"docs",previous:{title:"AWS",permalink:"/docs/administration/installation/cloud/aws"},next:{title:"Azure",permalink:"/docs/administration/installation/cloud/azure"}},p=[{value:"Tooling Installation",id:"tooling-installation",children:[{value:"Install Kubectl",id:"install-kubectl",children:[]},{value:"Install Helm",id:"install-helm",children:[]}]},{value:"Install Google Cloud SDK",id:"install-google-cloud-sdk",children:[{value:"For Mac User",id:"for-mac-user",children:[]},{value:"(Optional) Initialize Google Cloud Environment",id:"optional-initialize-google-cloud-environment",children:[]},{value:"(Optional) Create a Kubernetes cluster(GKE) in Google Cloud",id:"optional-create-a-kubernetes-clustergke-in-google-cloud",children:[]},{value:"Connect to an existing cluster",id:"connect-to-an-existing-cluster",children:[]},{value:"Pinot Quickstart",id:"pinot-quickstart",children:[]},{value:"Delete a Kubernetes Cluster",id:"delete-a-kubernetes-cluster",children:[]}]}],m={toc:p};function f(e){var t=e.components,n=(0,a.Z)(e,s);return(0,l.kt)("wrapper",(0,r.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("p",null,"To have basic set with ",(0,l.kt)("a",{parentName:"p",href:"https://cloud.google.com/kubernetes-engine"},"Google Kubernetes Engine(GKE)")," on GCP:"),(0,l.kt)("h2",{id:"tooling-installation"},"Tooling Installation"),(0,l.kt)("h3",{id:"install-kubectl"},"Install Kubectl"),(0,l.kt)("p",null,"Please follow this link (",(0,l.kt)("a",{parentName:"p",href:"https://kubernetes.io/docs/tasks/tools/install-kubectl"},"https://kubernetes.io/docs/tasks/tools/install-kubectl"),") to install kubectl."),(0,l.kt)("p",null,"For Mac User"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"brew install kubernetes-cli\n")),(0,l.kt)("p",null,"Please check kubectl version after installation."),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"kubectl version\n")),(0,l.kt)("p",null,"QuickStart scripts are tested under kubectl client version v1.16.3 and server version v1.13.12"),(0,l.kt)("h3",{id:"install-helm"},"Install Helm"),(0,l.kt)("p",null,"Please follow this ",(0,l.kt)("a",{parentName:"p",href:"https://helm.sh/docs/using_helm/#installing-helm"},"link to install helm")),(0,l.kt)("p",null,"For Mac User"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"brew install kubernetes-helm\n")),(0,l.kt)("p",null,"Please check helm version after installation."),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"helm version\n")),(0,l.kt)(i.Z,{icon:!1,type:"info",mdxType:"Alert"},"This QuickStart provides helm supports for helm v3.0.0 and v2.12.1. Please pick the script based on your helm version."),(0,l.kt)("h2",{id:"install-google-cloud-sdk"},"Install Google Cloud SDK"),(0,l.kt)("p",null,"Please follow this link to ",(0,l.kt)("a",{parentName:"p",href:"https://cloud.google.com/sdk/install"},"install Google Cloud SDK")),(0,l.kt)("h3",{id:"for-mac-user"},"For Mac User"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Install Google Cloud SDK")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"curl https://sdk.cloud.google.com | bash\n")),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Restart your shell")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"exec -l $SHELL\n")),(0,l.kt)("h3",{id:"optional-initialize-google-cloud-environment"},"(Optional) Initialize Google Cloud Environment"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"gcloud init\n")),(0,l.kt)("h3",{id:"optional-create-a-kubernetes-clustergke-in-google-cloud"},"(Optional) Create a Kubernetes cluster(GKE) in Google Cloud"),(0,l.kt)("p",null,"Below script will create a 3 nodes cluster named pinot-quickstart in ",(0,l.kt)("inlineCode",{parentName:"p"},"us-west1-b")," with ",(0,l.kt)("inlineCode",{parentName:"p"},"n1-standard-2")," machines for demo purposes."),(0,l.kt)("p",null,"Please modify the parameters in the example command below:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"GCLOUD_PROJECT=[your gcloud project name]\nGCLOUD_ZONE=us-west1-b\nGCLOUD_CLUSTER=pinot-quickstart\nGCLOUD_MACHINE_TYPE=n1-standard-2\nGCLOUD_NUM_NODES=3\ngcloud container clusters create ${GCLOUD_CLUSTER} \\\n --num-nodes=${GCLOUD_NUM_NODES} \\\n --machine-type=${GCLOUD_MACHINE_TYPE} \\\n --zone=${GCLOUD_ZONE} \\\n --project=${GCLOUD_PROJECT}\n")),(0,l.kt)("p",null,"You can monitor cluster status by command:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"gcloud compute instances list\n")),(0,l.kt)("p",null,"Once the cluster is in RUNNING status, it's ready to be used."),(0,l.kt)("h3",{id:"connect-to-an-existing-cluster"},"Connect to an existing cluster"),(0,l.kt)("p",null,"Simply run below command to get the credential for the cluster pinot-quickstart that you just created or your existing cluster."),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"GCLOUD_PROJECT=[your gcloud project name]\nGCLOUD_ZONE=us-west1-b\nGCLOUD_CLUSTER=pinot-quickstart\ngcloud container clusters get-credentials ${GCLOUD_CLUSTER} --zone ${GCLOUD_ZONE} --project ${GCLOUD_PROJECT}\n")),(0,l.kt)("p",null,"To verify the connection, you can run:"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"kubectl get nodes\n")),(0,l.kt)("h3",{id:"pinot-quickstart"},"Pinot Quickstart"),(0,l.kt)("p",null,"Please follow this ",(0,l.kt)("a",{parentName:"p",href:"/docs/administration/installation/cloud/on-premises"},"Kubernetes QuickStart")," to deploy your Pinot Demo."),(0,l.kt)(o.Z,{to:"/docs/administration/installation/cloud/on-premises",mdxType:"Jump"},"Kubernetes Quickstart"),(0,l.kt)("h3",{id:"delete-a-kubernetes-cluster"},"Delete a Kubernetes Cluster"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-bash"},"GCLOUD_ZONE=us-west1-b\ngcloud container clusters delete pinot-quickstart --zone=${GCLOUD_ZONE}\n")))}f.isMDXComponent=!0},4184:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var l=typeof n;if("string"===l||"number"===l)e.push(n);else if(Array.isArray(n)){if(n.length){var i=a.apply(null,n);i&&e.push(i)}}else if("object"===l)if(n.toString===Object.prototype.toString)for(var o in n)r.call(n,o)&&n[o]&&e.push(o);else e.push(n.toString())}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()}}]);