<p>Well, my company is considering to move from Hadoop to Kubernetes. We can find solutions in Kubernetes for tools such as cassandra, sparks, etc. So the last problem for us is how to store massive amount of files in Kubernetes, saying 1 PB. FYI, we DO NOT want to use online storage services such as S3. </p>

<p>As far as I know, HDFS is merely used in Kubernetes and there are a few replacement products such as Torus and Quobyte. So my question is, any recommendation for the filesystem on Kubernetes? Or any better solution?</p>

<p>Many thanks.</p>

<p>You can use a <em>Hadoop Compatible</em> FileSystem such as Ceph or Minio. Both of which offer S3-compatible REST APIs for reading and writing. In Kubernetes, Ceph can be deployed using the <a href="https://rook.io/" rel="nofollow noreferrer">Rook</a> project. </p>

<p>But overall, running HDFS in Kubernetes would require stateful services like the NameNode, and DataNodes with proper affinity and network rules in place. The <a href="https://hadoop.apache.org/ozone/" rel="nofollow noreferrer">Hadoop Ozone</a> project is a realization that object storage is more common for microservice workloads than HDFS block storage as reasonably trying to analyze PB of data using distributed microservices wasn't feasible. (I'm only speculating)</p>

<p>The alternative is to <a href="https://docs.hortonworks.com/HDPDocuments/HDP3/HDP-3.1.0/data-operating-system/content/run_docker_containers_on_yarn.html" rel="nofollow noreferrer">use Docker support in Hadoop &amp; YARN 3.x</a></p>
