question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Use local persistent volumes for embedded journal, single master local journal, off-heap metastore and tiered storage

See original GitHub issue

Is your feature request related to a problem? Please describe. Local persistent volumes is the preferred way for storage to persist across restarts of a pod (ref: https://kubernetes.io/docs/concepts/storage/volumes/#local). We should use persistent volumes for the following:

  1. embedded journal volume for master pods
  2. single master journal volume for master pod
  3. off-heap metastore volume for master pods
  4. tiered storage for worker pods

Describe the solution you’d like Helm charts should be extended to support local persistent volumes w/ resource limits (e.g., size of journal / tiered storage). Documentation w/ and w/o helm should be added as part of this ask. Note: hostPath volumes cannot be provisioned with resource limits and require root user and are hence not desired for persistent local storage.

  1. embedded journal volume for master pods: restarts of the master pod w/o persistent volumes will lead to loosing metadata.
  • The helm template statefulset.yaml should use persistentVolumeClaims instead of emptyDir volumes.
  • journal-pvc.yaml should create masterCount claim resources
  • journal-pv.yaml should be changed to use local persistent volume instead of hostPath by default
  1. single master journal volume for master pod
  • As part of pv for embedded journal we may choose to rename the claim from alluxio-pv-claim to alluxio-pv-claim-<i> where i=0 for a single master.
  1. off-heap metastore volume for master pods
  • Switch from emptyDir volume to localPV with limits
  1. tiered storage for worker pods
  • Switch from unbounded hostPath volume to localPV with limits

Describe alternatives you’ve considered Advanced end-user customizes the specs on their own

Urgency It would be painful w/o extensive knowledge of Alluxio to roll out raw specifications for these features to be production ready. This deployment will not be possible w/ helm (w/o this feature).

Additional context N/A

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
jiacheliu3commented, Mar 15, 2020

@madanadit After some research, I think the best practice for using local PV is by declaring a PVC on the Pod side (in fact I don’t find anybody directly declaring a local PV in the volumes). There are 2 ways to satisfy the PVC:

  1. You can manually create local PV.

  2. Use a provisioner to create local PVs for you like: https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner/blob/master/docs/getting-started.md This is the static provisioner that K8s doc refers to.

In short, to use local PV, we need to support PVC for the declaration, and provide appropriate documentation for the user to provision the PVs for the PVCs.

1reaction
madanaditcommented, Oct 24, 2019
Read more comments on GitHub >

github_iconTop Results From Across the Web

Persistent storage using local volumes
Local persistent volumes allow you to access local storage devices, such as a disk or partition, by using the standard persistent volume claim...
Read more >
Deploy Alluxio on Kubernetes
This guide demonstrates how to run Alluxio on Kubernetes using the specification included in ... Example: Single Master and Journal in a Persistent...
Read more >
Kubernetes - 《Alluxio CE v2.4 Documentation》 - 书栈网
Example: Single Master and Journal in a Persistent Volume ... For worker tiered storage please use either hostPath or local volume so that ......
Read more >
Apache HBase ™ Reference Guide
The following configuration will store HBase's data in the hbase directory, ... To start a backup HMaster, use the local-master-backup.sh .
Read more >
Untitled
When run in interactive configuration, a ksqlDB cluster creates an Number of Partitions: Kafka Streams creates one RocksDB state store instance for ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found