You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by xi...@apache.org on 2020/03/17 22:19:05 UTC

[incubator-pinot] 01/01: Fixing the missing fields in k8s helm template and reduce hardware & jvm requirements to start up pinot stack

This is an automated email from the ASF dual-hosted git repository.

xiangfu pushed a commit to branch update_k8s_helm_setup
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git

commit 2ac19afedb6e52902b1c2d6c586c0cf180d0b73d
Author: Xiang Fu <fx...@gmail.com>
AuthorDate: Tue Mar 17 15:18:43 2020 -0700

    Fixing the missing fields in k8s helm template and reduce hardware & jvm requirements to start up pinot stack
---
 kubernetes/helm/README.md                        | 18 +++++++++---------
 kubernetes/helm/templates/broker/statefulset.yml |  2 +-
 kubernetes/helm/templates/server/statefulset.yml | 10 ++++++----
 kubernetes/helm/values.yaml                      | 19 +++++++++++--------
 4 files changed, 27 insertions(+), 22 deletions(-)

diff --git a/kubernetes/helm/README.md b/kubernetes/helm/README.md
index b248864..211d8be 100644
--- a/kubernetes/helm/README.md
+++ b/kubernetes/helm/README.md
@@ -245,14 +245,14 @@ kubectl get all -n pinot-quickstart
 
 ```bash
 helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
-helm install -n pinot-quickstart kafka incubator/kafka
+helm install -n pinot-quickstart kafka incubator/kafka --set replicas=1
 ```
 
 - For helm v2.12.1
 
 ```bash
 helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
-helm install --namespace "pinot-quickstart"  --name kafka incubator/kafka
+helm install --namespace "pinot-quickstart"  --name kafka incubator/kafka --set replicas=1
 ```
 
 #### Create Kafka topic
@@ -291,7 +291,7 @@ following configurable parameters:
 |------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|
 | `controller.name`                              | Name of Pinot Controller                                                                                                                                                   | `controller`                                                       |
 | `controller.port`                              | Pinot controller port                                                                                                                                                      | `9000`                                                             |
-| `controller.replicaCount`                      | Pinot controller replicas                                                                                                                                                  | `2`                                                                |
+| `controller.replicaCount`                      | Pinot controller replicas                                                                                                                                                  | `1`                                                                |
 | `controller.data.dir`                          | Pinot controller data directory, should be same as `controller.persistence.mountPath` or a sub directory of it                                                             | `/var/pinot/controller/data`                                       |
 | `controller.vip.host`                          | Pinot Vip host                                                                                                                                                             | `pinot-controller`                                                 |
 | `controller.vip.port`                          | Pinot Vip port                                                                                                                                                             | `9000`                                                             |
@@ -300,7 +300,7 @@ following configurable parameters:
 | `controller.persistence.size`                  | Size of data volume                                                                                                                                                        | `1G`                                                               |
 | `controller.persistence.mountPath`             | Mount path of controller data volume                                                                                                                                       | `/var/pinot/controller/data`                                       |
 | `controller.persistence.storageClass`          | Storage class of backing PVC                                                                                                                                               | `""`                                                               |
-| `controller.jvmOpts`                           | Pinot Controller JVM Options                                                                                                                                               | `-Xms4G -Xmx4G`                                                    |
+| `controller.jvmOpts`                           | Pinot Controller JVM Options                                                                                                                                               | `-Xms256M -Xmx1G`                                                  |
 | `controller.log4j2ConfFile`                    | Pinot Controller log4j2 configuration file                                                                                                                                 | `/opt/pinot/conf/pinot-controller-log4j2.xml`                      |
 | `controller.pluginsDir`                        | Pinot Controller plugins directory                                                                                                                                         | `/opt/pinot/plugins`                                               |
 | `controller.service.port`                      | Service Port                                                                                                                                                               | `9000`                                                             |
@@ -316,8 +316,8 @@ following configurable parameters:
 |------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|
 | `broker.name`                                  | Name of Pinot Broker                                                                                                                                                       | `broker`                                                           |
 | `broker.port`                                  | Pinot broker port                                                                                                                                                          | `8099`                                                             |
-| `broker.replicaCount`                          | Pinot broker replicas                                                                                                                                                      | `2`                                                                |
-| `broker.jvmOpts`                               | Pinot Broker JVM Options                                                                                                                                                   | `-Xms4G -Xmx4G`                                                    |
+| `broker.replicaCount`                          | Pinot broker replicas                                                                                                                                                      | `1`                                                                |
+| `broker.jvmOpts`                               | Pinot Broker JVM Options                                                                                                                                                   | `-Xms256M -Xmx1G`                                                  |
 | `broker.log4j2ConfFile`                        | Pinot Broker log4j2 configuration file                                                                                                                                     | `/opt/pinot/conf/pinot-broker-log4j2.xml`                          |
 | `broker.pluginsDir`                            | Pinot Broker plugins directory                                                                                                                                             | `/opt/pinot/plugins`                                               |
 | `broker.service.port`                          | Service Port                                                                                                                                                               | `8099`                                                             |
@@ -335,7 +335,7 @@ following configurable parameters:
 | `server.name`                                  | Name of Pinot Server                                                                                                                                                       | `server`                                                           |
 | `server.port.netty`                            | Pinot server netty port                                                                                                                                                    | `8098`                                                             |
 | `server.port.admin`                            | Pinot server admin port                                                                                                                                                    | `8097`                                                             |
-| `server.replicaCount`                          | Pinot server replicas                                                                                                                                                      | `2`                                                                |
+| `server.replicaCount`                          | Pinot server replicas                                                                                                                                                      | `1`                                                                |
 | `server.dataDir`                               | Pinot server data directory, should be same as `server.persistence.mountPath` or a sub directory of it                                                                     | `/var/pinot/server/data/index`                                     |
 | `server.segmentTarDir`                         | Pinot server segment directory, should be same as `server.persistence.mountPath` or a sub directory of it                                                                  | `/var/pinot/server/data/segments`                                  |
 | `server.persistence.enabled`                   | Use a PVC to persist Pinot Server data                                                                                                                                     | `true`                                                             |
@@ -343,7 +343,7 @@ following configurable parameters:
 | `server.persistence.size`                      | Size of data volume                                                                                                                                                        | `4G`                                                               |
 | `server.persistence.mountPath`                 | Mount path of server data volume                                                                                                                                           | `/var/pinot/server/data`                                           |
 | `server.persistence.storageClass`              | Storage class of backing PVC                                                                                                                                               | `""`                                                               |
-| `server.jvmOpts`                               | Pinot Server JVM Options                                                                                                                                                   | `-Xms4G -Xmx4G -XX:MaxDirectMemorySize=10g`                        |
+| `server.jvmOpts`                               | Pinot Server JVM Options                                                                                                                                                   | `-Xms512M -Xmx1G`                                                  |
 | `server.log4j2ConfFile`                        | Pinot Server log4j2 configuration file                                                                                                                                     | `/opt/pinot/conf/pinot-server-log4j2.xml`                          |
 | `server.pluginsDir`                            | Pinot Server plugins directory                                                                                                                                             | `/opt/pinot/plugins`                                               |
 | `server.service.port`                          | Service Port                                                                                                                                                               | `8098`                                                             |
@@ -356,7 +356,7 @@ following configurable parameters:
 |------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|
 | `zookeeper.enabled`                            | If True, installs Zookeeper Chart                                                                                                                                          | `true`                                                             |
 | `zookeeper.resources`                          | Zookeeper resource requests and limits                                                                                                                                     | `{}`                                                               |
-| `zookeeper.env`                                | Environmental variables provided to Zookeeper Zookeeper                                                                                                                    | `{ZK_HEAP_SIZE: "1G"}`                                             |
+| `zookeeper.env`                                | Environmental variables provided to Zookeeper Zookeeper                                                                                                                    | `{ZK_HEAP_SIZE: "256M"}`                                           |
 | `zookeeper.storage`                            | Zookeeper Persistent volume size                                                                                                                                           | `2Gi`                                                              |
 | `zookeeper.image.PullPolicy`                   | Zookeeper Container pull policy                                                                                                                                            | `IfNotPresent`                                                     |
 | `zookeeper.url`                                | URL of Zookeeper Cluster (unneeded if installing Zookeeper Chart)                                                                                                          | `""`                                                               |
diff --git a/kubernetes/helm/templates/broker/statefulset.yml b/kubernetes/helm/templates/broker/statefulset.yml
index 2a6fa15..4c5fc1e 100644
--- a/kubernetes/helm/templates/broker/statefulset.yml
+++ b/kubernetes/helm/templates/broker/statefulset.yml
@@ -83,7 +83,7 @@ spec:
             path: /health
             port: {{ .Values.broker.port }}
         resources:
-          {{ toYaml .Values.broker.resources | indent 12 }}
+{{ toYaml .Values.broker.resources | indent 12 }}
       restartPolicy: Always
       volumes:
         - name: config
diff --git a/kubernetes/helm/templates/server/statefulset.yml b/kubernetes/helm/templates/server/statefulset.yml
index 2f57075..ebcb74d 100644
--- a/kubernetes/helm/templates/server/statefulset.yml
+++ b/kubernetes/helm/templates/server/statefulset.yml
@@ -45,14 +45,14 @@ spec:
         release: {{ .Release.Name }}
         component: {{ .Values.server.name }}
       annotations:
-{{ toYaml .Values.controller.podAnnotations | indent 8 }}
+{{ toYaml .Values.server.podAnnotations | indent 8 }}
     spec:
       nodeSelector:
-{{ toYaml .Values.controller.nodeSelector | indent 8 }}
+{{ toYaml .Values.server.nodeSelector | indent 8 }}
       affinity:
-{{ toYaml .Values.controller.affinity | indent 8 }}
+{{ toYaml .Values.server.affinity | indent 8 }}
       tolerations:
-{{ toYaml .Values.controller.tolerations | indent 8 }}
+{{ toYaml .Values.server.tolerations | indent 8 }}
       containers:
       - name: server
         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
@@ -76,6 +76,8 @@ spec:
             mountPath: /var/pinot/server/config
           - name: data
             mountPath: "{{ .Values.server.persistence.mountPath }}"
+        resources:
+{{ toYaml .Values.server.resources | indent 12 }}
       restartPolicy: Always
       volumes:
         - name: config
diff --git a/kubernetes/helm/values.yaml b/kubernetes/helm/values.yaml
index e25e8f3..5f567a7 100644
--- a/kubernetes/helm/values.yaml
+++ b/kubernetes/helm/values.yaml
@@ -30,7 +30,7 @@ cluster:
 controller:
   name: controller
   port: 9000
-  replicaCount: 2
+  replicaCount: 1
 
   persistence:
     enabled: true
@@ -47,7 +47,7 @@ controller:
     host: pinot-controller
     port: 9000
 
-  jvmOpts: "-Xms4G -Xmx4G"
+  jvmOpts: "-Xms256M -Xmx1G"
 
   log4j2ConfFile: /opt/pinot/conf/pinot-controller-log4j2.xml
   pluginsDir: /opt/pinot/plugins
@@ -85,9 +85,9 @@ broker:
 
   port: 8099
 
-  replicaCount: 2
+  replicaCount: 1
 
-  jvmOpts: "-Xms4G -Xmx4G"
+  jvmOpts: "-Xms256M -Xmx1G"
 
   log4j2ConfFile: /opt/pinot/conf/pinot-broker-log4j2.xml
   pluginsDir: /opt/pinot/plugins
@@ -130,7 +130,7 @@ server:
     netty: 8098
     admin: 8097
 
-  replicaCount: 2
+  replicaCount: 1
 
   dataDir: /var/pinot/server/data/index
   segmentTarDir: /var/pinot/server/data/segment
@@ -143,7 +143,7 @@ server:
     storageClass: ""
     #storageClass: "ssd"
 
-  jvmOpts: "-Xms4G -Xmx4G -XX:MaxDirectMemorySize=10g"
+  jvmOpts: "-Xms512M -Xmx1G"
 
   log4j2ConfFile: /opt/pinot/conf/pinot-server-log4j2.xml
   pluginsDir: /opt/pinot/plugins
@@ -182,12 +182,15 @@ zookeeper:
 
   ## Configure Zookeeper resource requests and limits
   ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
-  resources: ~
+  resources: {}
+
+  ## Replicas
+  replicaCount: 1
 
   ## Environmental variables to set in Zookeeper
   env:
     ## The JVM heap size to allocate to Zookeeper
-    ZK_HEAP_SIZE: "1G"
+    ZK_HEAP_SIZE: "256M"
 
   persistence:
     enabled: true


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org