blob: c4ee0238568a2086df69dd744d16e69a869e01ff [file] [log] [blame]
/*! For license information please see 1c72b387.d643cadf.js.LICENSE.txt */
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{113:function(e,t,n){"use strict";n.d(t,"a",(function(){return b})),n.d(t,"b",(function(){return m}));var a=n(0),r=n.n(a);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(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 c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)n=l[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=r.a.createContext({}),u=function(e){var t=r.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},b=function(e){var t=u(e.components);return r.a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=r.a.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,o=e.parentName,s=i(e,["components","mdxType","originalType","parentName"]),b=u(n),d=a,m=b["".concat(o,".").concat(d)]||b[d]||p[d]||l;return n?r.a.createElement(m,c(c({ref:t},s),{},{components:n})):r.a.createElement(m,c({ref:t},s))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,o=new Array(l);o[0]=d;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c.mdxType="string"==typeof e?e:a,o[1]=c;for(var s=2;s<l;s++)o[s]=n[s];return r.a.createElement.apply(null,o)}return r.a.createElement.apply(null,n)}d.displayName="MDXCreateElement"},114:function(e,t,n){"use strict";var a=n(0),r=n(20);t.a=function(){var e=Object(a.useContext)(r.a);if(null===e)throw new Error("Docusaurus context not provided");return e}},115:function(e,t,n){var a;!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var a=arguments[t];if(a){var l=typeof a;if("string"===l||"number"===l)e.push(a);else if(Array.isArray(a)&&a.length){var o=r.apply(null,a);o&&e.push(o)}else if("object"===l)for(var c in a)n.call(a,c)&&a[c]&&e.push(c)}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):void 0===(a=function(){return r}.apply(t,[]))||(e.exports=a)}()},116:function(e,t,n){"use strict";function a(e){return!0===/^(\w*:|\/\/)/.test(e)}function r(e){return void 0!==e&&!a(e)}n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return r}))},117:function(e,t,n){"use strict";var a=n(0),r=n.n(a),l=n(13),o=n(116),c=n(7),i=Object(a.createContext)({collectLink:function(){}}),s=n(118),u=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};t.a=function(e){var t,n,b,p=e.isNavLink,d=e.to,m=e.href,O=e.activeClassName,f=e["data-noBrokenLinkCheck"],g=u(e,["isNavLink","to","href","activeClassName","data-noBrokenLinkCheck"]),h=Object(s.b)().withBaseUrl,j=Object(a.useContext)(i),v=d||m,k=Object(o.a)(v),y=null==v?void 0:v.replace("pathname://",""),N=void 0!==y?function(e){return e.startsWith("/")}(n=y)?h(n):n:void 0,C=Object(a.useRef)(!1),w=p?l.e:l.c,E=c.a.canUseIntersectionObserver;Object(a.useEffect)((function(){return!E&&k&&window.docusaurus.prefetch(N),function(){E&&b&&b.disconnect()}}),[N,E,k]);var P=null!==(t=null==N?void 0:N.startsWith("#"))&&void 0!==t&&t,G=!N||!k||P;return N&&k&&!P&&!f&&j.collectLink(N),G?r.a.createElement("a",Object.assign({href:N},!k&&{target:"_blank",rel:"noopener noreferrer"},g)):r.a.createElement(w,Object.assign({},g,{onMouseEnter:function(){C.current||(window.docusaurus.preload(N),C.current=!0)},innerRef:function(e){var t,n;E&&e&&k&&(t=e,n=function(){window.docusaurus.prefetch(N)},(b=new window.IntersectionObserver((function(e){e.forEach((function(e){t===e.target&&(e.isIntersecting||e.intersectionRatio>0)&&(b.unobserve(t),b.disconnect(),n())}))}))).observe(t))},to:N||""},p&&{activeClassName:O}))}},118:function(e,t,n){"use strict";n.d(t,"b",(function(){return l})),n.d(t,"a",(function(){return o}));var a=n(114),r=n(116);function l(){var e=Object(a.a)().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,a){var l=void 0===a?{}:a,o=l.forcePrependBaseUrl,c=void 0!==o&&o,i=l.absolute,s=void 0!==i&&i;if(!n)return n;if(n.startsWith("#"))return n;if(Object(r.b)(n))return n;if(c)return t+n;var u=n.startsWith(t)?n:t+n.replace(/^\//,"");return s?e+u:u}(l,n,e,t)}}}function o(e,t){return void 0===t&&(t={}),(0,l().withBaseUrl)(e,t)}},120:function(e,t,n){"use strict";var a=n(0),r=n.n(a),l=n(117),o=n(115),c=n.n(o);n(48);t.a=function(e){var t=e.children,n=e.className,a=e.badge,o=e.icon,i=e.size,s=e.target,u=e.to,b=c()("jump-to","jump-to--"+i,n),p=r.a.createElement("div",{className:"jump-to--inner"},r.a.createElement("div",{className:"jump-to--inner-2"},r.a.createElement("div",{className:"jump-to--main"},a?r.a.createElement("span",{className:"badge badge--primary badge--right"},a):"",t),r.a.createElement("div",{className:"jump-to--right"},r.a.createElement("i",{className:"feather icon-"+(o||"chevron-right")+" arrow"}))));return s?r.a.createElement("a",{href:u,target:s,className:b},p):r.a.createElement(l.a,{to:u,className:b},p)}},121:function(e,t,n){"use strict";var a=n(0),r=n.n(a),l=n(115),o=n.n(l);n(49);t.a=function(e){var t=e.children,n=e.classNames,a=e.fill,l=e.icon,c=e.type,i=null;switch(c){case"danger":i="alert-triangle";break;case"success":i="check-circle";break;case"warning":i="alert-triangle";break;default:i="info"}return r.a.createElement("div",{className:o()(n,"alert","alert--"+c,{"alert--fill":a,"alert--icon":!1!==l}),role:"alert"},!1!==l&&r.a.createElement("i",{className:o()("feather","icon-"+(l||i))}),t)}},69:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return i})),n.d(t,"metadata",(function(){return s})),n.d(t,"rightToc",(function(){return u})),n.d(t,"default",(function(){return p}));var a=n(2),r=n(6),l=(n(0),n(113)),o=n(121),c=n(120),i={title:"GCP Quickstart",sidebar_label:"GCP",description:"Run Pinot on GCP"},s={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",slug:"/administration/installation/cloud/gcp",permalink:"/docs/administration/installation/cloud/gcp",editUrl:"https://github.com/apache/incubator-pinot/edit/master/website/docs/administration/installation/cloud/gcp.md",version:"current",sidebar_label:"GCP",sidebar:"docs",previous:{title:"AWS Quickstart",permalink:"/docs/administration/installation/cloud/aws"},next:{title:"Azure Quickstart",permalink:"/docs/administration/installation/cloud/azure"}},u=[{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:[]}]}],b={rightToc:u};function p(e){var t=e.components,n=Object(r.a)(e,["components"]);return Object(l.b)("wrapper",Object(a.a)({},b,n,{components:t,mdxType:"MDXLayout"}),Object(l.b)("p",null,"To have basic set with ",Object(l.b)("a",Object(a.a)({parentName:"p"},{href:"https://cloud.google.com/kubernetes-engine"}),"Google Kubernetes Engine(GKE)")," on GCP:"),Object(l.b)("h2",{id:"tooling-installation"},"Tooling Installation"),Object(l.b)("h3",{id:"install-kubectl"},"Install Kubectl"),Object(l.b)("p",null,"Please follow this link (",Object(l.b)("a",Object(a.a)({parentName:"p"},{href:"https://kubernetes.io/docs/tasks/tools/install-kubectl"}),"https://kubernetes.io/docs/tasks/tools/install-kubectl"),") to install kubectl."),Object(l.b)("p",null,"For Mac User"),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-bash"}),"brew install kubernetes-cli\n")),Object(l.b)("p",null,"Please check kubectl version after installation."),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-bash"}),"kubectl version\n")),Object(l.b)("p",null,"QuickStart scripts are tested under kubectl client version v1.16.3 and server version v1.13.12"),Object(l.b)("h3",{id:"install-helm"},"Install Helm"),Object(l.b)("p",null,"Please follow this ",Object(l.b)("a",Object(a.a)({parentName:"p"},{href:"https://helm.sh/docs/using_helm/#installing-helm"}),"link to install helm")),Object(l.b)("p",null,"For Mac User"),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-bash"}),"brew install kubernetes-helm\n")),Object(l.b)("p",null,"Please check helm version after installation."),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-bash"}),"helm version\n")),Object(l.b)(o.a,{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."),Object(l.b)("h2",{id:"install-google-cloud-sdk"},"Install Google Cloud SDK"),Object(l.b)("p",null,"Please follow this link to ",Object(l.b)("a",Object(a.a)({parentName:"p"},{href:"https://cloud.google.com/sdk/install"}),"install Google Cloud SDK")),Object(l.b)("h3",{id:"for-mac-user"},"For Mac User"),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"Install Google Cloud SDK")),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-bash"}),"curl https://sdk.cloud.google.com | bash\n")),Object(l.b)("ul",null,Object(l.b)("li",{parentName:"ul"},"Restart your shell")),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-bash"}),"exec -l $SHELL\n")),Object(l.b)("h3",{id:"optional-initialize-google-cloud-environment"},"(Optional) Initialize Google Cloud Environment"),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-bash"}),"gcloud init\n")),Object(l.b)("h3",{id:"optional-create-a-kubernetes-clustergke-in-google-cloud"},"(Optional) Create a Kubernetes cluster(GKE) in Google Cloud"),Object(l.b)("p",null,"Below script will create a 3 nodes cluster named pinot-quickstart in ",Object(l.b)("inlineCode",{parentName:"p"},"us-west1-b")," with ",Object(l.b)("inlineCode",{parentName:"p"},"n1-standard-2")," machines for demo purposes."),Object(l.b)("p",null,"Please modify the parameters in the example command below:"),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({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")),Object(l.b)("p",null,"You can monitor cluster status by command:"),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-bash"}),"gcloud compute instances list\n")),Object(l.b)("p",null,"Once the cluster is in RUNNING status, it's ready to be used."),Object(l.b)("h3",{id:"connect-to-an-existing-cluster"},"Connect to an existing cluster"),Object(l.b)("p",null,"Simply run below command to get the credential for the cluster pinot-quickstart that you just created or your existing cluster."),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({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")),Object(l.b)("p",null,"To verify the connection, you can run:"),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-bash"}),"kubectl get nodes\n")),Object(l.b)("h3",{id:"pinot-quickstart"},"Pinot Quickstart"),Object(l.b)("p",null,"Please follow this ",Object(l.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/administration/installation/cloud/on-premises"}),"Kubernetes QuickStart")," to deploy your Pinot Demo."),Object(l.b)(c.a,{to:"/docs/administration/installation/cloud/on-premises",mdxType:"Jump"},"Kubernetes Quickstart"),Object(l.b)("h3",{id:"delete-a-kubernetes-cluster"},"Delete a Kubernetes Cluster"),Object(l.b)("pre",null,Object(l.b)("code",Object(a.a)({parentName:"pre"},{className:"language-bash"}),"GCLOUD_ZONE=us-west1-b\ngcloud container clusters delete pinot-quickstart --zone=${GCLOUD_ZONE}\n")))}p.isMDXComponent=!0}}]);