This is an automated email from the ASF dual-hosted git repository.
adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 3a0e3b5364 HDDS-11845. Extract k8s definitions for HttpFS and Recon
from getting-started example (#7523)
3a0e3b5364 is described below
commit 3a0e3b536426634ed894040c8a760de5299d2cdb
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Wed Dec 18 12:41:58 2024 +0100
HDDS-11845. Extract k8s definitions for HttpFS and Recon from
getting-started example (#7523)
---
.../k8s/regenerate-examples.sh} | 21 +++----
.../src/main/k8s/definitions/ozone/config.yaml | 18 ++++--
.../ozone/httpfs-ss-service.yaml} | 23 +++----
.../ozone/httpfs-ss.yaml} | 38 ++++++++----
.../ozone/recon-ss-service.yaml} | 23 +++----
.../ozone/recon-ss.yaml} | 61 +++++++++++--------
hadoop-ozone/dist/src/main/k8s/examples/README.md | 22 +++++++
.../examples/getting-started/config-configmap.yaml | 18 +++---
.../examples/getting-started/kustomization.yaml | 12 ++--
.../k8s/examples/minikube/config-configmap.yaml | 16 +++--
.../httpfs-public-service.yaml} | 22 +++----
.../httpfs-service.yaml} | 22 +++----
.../k8s/examples/minikube/httpfs-statefulset.yaml | 55 +++++++++++++++++
.../main/k8s/examples/minikube/kustomization.yaml | 6 ++
.../recon-public-service.yaml} | 22 +++----
.../recon-service.yaml} | 22 +++----
.../k8s/examples/minikube/recon-statefulset.yaml | 63 +++++++++++++++++++
.../k8s/examples/ozone-dev/config-configmap.yaml | 16 +++--
.../httpfs-public-service.yaml} | 22 +++----
.../httpfs-service.yaml} | 22 +++----
.../k8s/examples/ozone-dev/httpfs-statefulset.yaml | 62 +++++++++++++++++++
.../main/k8s/examples/ozone-dev/kustomization.yaml | 6 ++
.../recon-public-service.yaml} | 22 +++----
.../recon-service.yaml} | 22 +++----
.../k8s/examples/ozone-dev/recon-statefulset.yaml | 69 +++++++++++++++++++++
.../k8s/examples/ozone-ha/config-configmap.yaml | 14 +++--
.../httpfs-service.yaml} | 22 +++----
.../k8s/examples/ozone-ha/httpfs-statefulset.yaml | 61 +++++++++++++++++++
.../main/k8s/examples/ozone-ha/kustomization.yaml | 4 ++
.../recon-service.yaml} | 22 +++----
.../k8s/examples/ozone-ha/recon-statefulset.yaml | 70 ++++++++++++++++++++++
.../main/k8s/examples/ozone/config-configmap.yaml | 16 +++--
.../{kustomization.yaml => httpfs-service.yaml} | 22 +++----
.../k8s/examples/ozone/httpfs-statefulset.yaml | 61 +++++++++++++++++++
.../src/main/k8s/examples/ozone/kustomization.yaml | 4 ++
.../{kustomization.yaml => recon-service.yaml} | 22 +++----
.../main/k8s/examples/ozone/recon-statefulset.yaml | 70 ++++++++++++++++++++++
37 files changed, 867 insertions(+), 226 deletions(-)
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dev-support/k8s/regenerate-examples.sh
old mode 100644
new mode 100755
similarity index 74%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to hadoop-ozone/dev-support/k8s/regenerate-examples.sh
index 6b3d553113..ffedaa3b72
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dev-support/k8s/regenerate-examples.sh
@@ -1,3 +1,4 @@
+#!/usr/bin/env bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
@@ -14,13 +15,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+set -u -o pipefail
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+cd "$DIR/../../.." || exit 1
+
+source "hadoop-ozone/dev-support/checks/_lib.sh"
+
+install_flekszible
+
+hadoop-ozone/dist/src/main/k8s/examples/regenerate-all.sh
diff --git a/hadoop-ozone/dist/src/main/k8s/definitions/ozone/config.yaml
b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/config.yaml
index f451a893eb..8239325dd9 100644
--- a/hadoop-ozone/dist/src/main/k8s/definitions/ozone/config.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/config.yaml
@@ -13,22 +13,28 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
+
apiVersion: v1
kind: ConfigMap
metadata:
name: config
data:
-
+ CORE-SITE.XML_fs.defaultFS: ofs://om/
+ CORE-SITE.XML_fs.trash.interval: "1"
+ HTTPFS-SITE.XML_httpfs.hadoop.config.dir: /opt/hadoop/etc/config
+ HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.groups: "*"
+ HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.hosts: "*"
+ OZONE-SITE.XML_dfs.datanode.use.datanode.hostname: "true"
OZONE-SITE.XML_hdds.datanode.dir: "/data/storage"
- OZONE-SITE.XML_ozone.scm.datanode.id.dir: "/data/metadata"
+ OZONE-SITE.XML_hdds.scm.safemode.min.datanode: "3"
+ OZONE-SITE.XML_ozone.datanode.pipeline.limit: "1"
OZONE-SITE.XML_ozone.metadata.dirs: "/data/metadata"
- OZONE-SITE.XML_ozone.scm.block.client.address: "scm-0.scm"
OZONE-SITE.XML_ozone.om.address: "om-0.om"
+ OZONE-SITE.XML_ozone.recon.address: "recon-0.recon"
+ OZONE-SITE.XML_ozone.scm.block.client.address: "scm-0.scm"
OZONE-SITE.XML_ozone.scm.client.address: "scm-0.scm"
+ OZONE-SITE.XML_ozone.scm.datanode.id.dir: "/data/metadata"
OZONE-SITE.XML_ozone.scm.names: "scm-0.scm"
- OZONE-SITE.XML_hdds.scm.safemode.min.datanode: "3"
- OZONE-SITE.XML_ozone.datanode.pipeline.limit: "1"
- OZONE-SITE.XML_dfs.datanode.use.datanode.hostname: "true"
LOG4J.PROPERTIES_log4j.rootLogger: "INFO, stdout"
LOG4J.PROPERTIES_log4j.appender.stdout: "org.apache.log4j.ConsoleAppender"
LOG4J.PROPERTIES_log4j.appender.stdout.layout:
"org.apache.log4j.PatternLayout"
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/httpfs-ss-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to hadoop-ozone/dist/src/main/k8s/definitions/ozone/httpfs-ss-service.yaml
index 6b3d553113..0b8f117524 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/httpfs-ss-service.yaml
@@ -13,14 +13,15 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: httpfs
+spec:
+ ports:
+ - port: 14000
+ name: rest
+ clusterIP: None
+ selector:
+ app: ozone
+ component: httpfs
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/httpfs-ss.yaml
similarity index 57%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to hadoop-ozone/dist/src/main/k8s/definitions/ozone/httpfs-ss.yaml
index 6b3d553113..1084ca0373 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/httpfs-ss.yaml
@@ -14,13 +14,31 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: httpfs
+ labels:
+ app.kubernetes.io/component: ozone
+spec:
+ selector:
+ matchLabels:
+ app: ozone
+ component: httpfs
+ serviceName: httpfs
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: ozone
+ component: httpfs
+ spec:
+ containers:
+ - name: httpfs
+ image: "@docker.image@"
+ args: ["ozone","httpfs"]
+ livenessProbe:
+ httpGet:
+ path: /webhdfs/v1/?op=LISTSTATUS&user.name=hadoop
+ port: 14000
+ initialDelaySeconds: 30
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/recon-ss-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to hadoop-ozone/dist/src/main/k8s/definitions/ozone/recon-ss-service.yaml
index 6b3d553113..a7994a6b91 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/recon-ss-service.yaml
@@ -13,14 +13,15 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: recon
+spec:
+ ports:
+ - port: 9888
+ name: ui
+ clusterIP: None
+ selector:
+ app: ozone
+ component: recon
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/recon-ss.yaml
similarity index 50%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/kustomization.yaml
copy to hadoop-ozone/dist/src/main/k8s/definitions/ozone/recon-ss.yaml
index cf0cbe152d..f06dc54c66 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/definitions/ozone/recon-ss.yaml
@@ -13,27 +13,40 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
-- prometheusconf-configmap.yaml
-- prometheus-deployment.yaml
-- prometheus-clusterrole.yaml
-- prometheus-operator-clusterrolebinding.yaml
-- prometheus-operator-serviceaccount.yaml
-- prometheus-service.yaml
-- jaeger-service.yaml
-- jaeger-statefulset.yaml
-- datanode-public-service.yaml
-- om-public-service.yaml
-- s3g-public-service.yaml
-- scm-public-service.yaml
-- jaeger-public-service.yaml
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: recon
+ labels:
+ app.kubernetes.io/component: ozone
+spec:
+ selector:
+ matchLabels:
+ app: ozone
+ component: recon
+ serviceName: recon
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: ozone
+ component: recon
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/port: "9888"
+ prometheus.io/path: "/prom"
+ spec:
+ securityContext:
+ fsGroup: 1000
+ containers:
+ - name: recon
+ image: "@docker.image@"
+ args: ["ozone","recon"]
+ env:
+ - name: WAITFOR
+ value: scm-0.scm:9876
+ livenessProbe:
+ tcpSocket:
+ port: 9891
+ initialDelaySeconds: 30
+ volumes: []
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/README.md
b/hadoop-ozone/dist/src/main/k8s/examples/README.md
new file mode 100644
index 0000000000..574efc6704
--- /dev/null
+++ b/hadoop-ozone/dist/src/main/k8s/examples/README.md
@@ -0,0 +1,22 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+--->
+
+# Ozone examples for Kubernetes
+
+This directory contains example resources for running Ozone in Kubernetes.
+
+Note that the files are generated based on the [definitions](../definitions)
using [Flekszible](https://github.com/elek/flekszible). If you would like to
modify them permanently, edit the definition and regenerate the examples by
running `regenerate-all.sh` after installing Flekszible. As a developer, you
can run `hadoop-ozone/dev-support/k8s/regenerate-examples.sh`, which will also
install Flekszible.
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/getting-started/config-configmap.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/getting-started/config-configmap.yaml
index bb0608dac8..4e503b7bd0 100644
---
a/hadoop-ozone/dist/src/main/k8s/examples/getting-started/config-configmap.yaml
+++
b/hadoop-ozone/dist/src/main/k8s/examples/getting-started/config-configmap.yaml
@@ -19,22 +19,22 @@ kind: ConfigMap
metadata:
name: config
data:
- HTTPFS-SITE.XML_httpfs.hadoop.config.dir: /opt/hadoop/etc/config
CORE-SITE.XML_fs.defaultFS: ofs://om/
CORE-SITE.XML_fs.trash.interval: "1"
- HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.hosts: "*"
- HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.groups: "*"
+ HTTPFS-SITE.XML_httpfs.hadoop.config.dir: /opt/hadoop/etc/config
+ HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.groups: '*'
+ HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.hosts: '*'
+ OZONE-SITE.XML_dfs.datanode.use.datanode.hostname: "true"
OZONE-SITE.XML_hdds.datanode.dir: /data/storage
- OZONE-SITE.XML_ozone.scm.datanode.id.dir: /data/metadata
+ OZONE-SITE.XML_hdds.scm.safemode.min.datanode: "3"
+ OZONE-SITE.XML_ozone.datanode.pipeline.limit: "1"
OZONE-SITE.XML_ozone.metadata.dirs: /data/metadata
- OZONE-SITE.XML_ozone.scm.block.client.address: scm-0.scm
OZONE-SITE.XML_ozone.om.address: om-0.om
+ OZONE-SITE.XML_ozone.recon.address: recon-0.recon
+ OZONE-SITE.XML_ozone.scm.block.client.address: scm-0.scm
OZONE-SITE.XML_ozone.scm.client.address: scm-0.scm
+ OZONE-SITE.XML_ozone.scm.datanode.id.dir: /data/metadata
OZONE-SITE.XML_ozone.scm.names: scm-0.scm
- OZONE-SITE.XML_ozone.recon.address: recon-0.recon
- OZONE-SITE.XML_hdds.scm.safemode.min.datanode: "3"
- OZONE-SITE.XML_ozone.datanode.pipeline.limit: "1"
- OZONE-SITE.XML_dfs.datanode.use.datanode.hostname: "true"
LOG4J.PROPERTIES_log4j.rootLogger: INFO, stdout
LOG4J.PROPERTIES_log4j.appender.stdout: org.apache.log4j.ConsoleAppender
LOG4J.PROPERTIES_log4j.appender.stdout.layout: org.apache.log4j.PatternLayout
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/getting-started/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/getting-started/kustomization.yaml
index 4f60be1787..427c654d54 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/getting-started/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/getting-started/kustomization.yaml
@@ -18,19 +18,19 @@ resources:
- config-configmap.yaml
- datanode-service.yaml
- datanode-statefulset.yaml
+- httpfs-service.yaml
+- httpfs-statefulset.yaml
- om-service.yaml
- om-statefulset.yaml
+- recon-service.yaml
+- recon-statefulset.yaml
- s3g-service.yaml
- s3g-statefulset.yaml
- scm-service.yaml
- scm-statefulset.yaml
-- httpfs-service.yaml
-- httpfs-statefulset.yaml
-- recon-service.yaml
-- recon-statefulset.yaml
- datanode-public-service.yaml
+- httpfs-public-service.yaml
- om-public-service.yaml
+- recon-public-service.yaml
- s3g-public-service.yaml
- scm-public-service.yaml
-- httpfs-public-service.yaml
-- recon-public-service.yaml
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/minikube/config-configmap.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/minikube/config-configmap.yaml
index 2a0cf869a5..4e503b7bd0 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/minikube/config-configmap.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/minikube/config-configmap.yaml
@@ -19,16 +19,22 @@ kind: ConfigMap
metadata:
name: config
data:
+ CORE-SITE.XML_fs.defaultFS: ofs://om/
+ CORE-SITE.XML_fs.trash.interval: "1"
+ HTTPFS-SITE.XML_httpfs.hadoop.config.dir: /opt/hadoop/etc/config
+ HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.groups: '*'
+ HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.hosts: '*'
+ OZONE-SITE.XML_dfs.datanode.use.datanode.hostname: "true"
OZONE-SITE.XML_hdds.datanode.dir: /data/storage
- OZONE-SITE.XML_ozone.scm.datanode.id.dir: /data/metadata
+ OZONE-SITE.XML_hdds.scm.safemode.min.datanode: "3"
+ OZONE-SITE.XML_ozone.datanode.pipeline.limit: "1"
OZONE-SITE.XML_ozone.metadata.dirs: /data/metadata
- OZONE-SITE.XML_ozone.scm.block.client.address: scm-0.scm
OZONE-SITE.XML_ozone.om.address: om-0.om
+ OZONE-SITE.XML_ozone.recon.address: recon-0.recon
+ OZONE-SITE.XML_ozone.scm.block.client.address: scm-0.scm
OZONE-SITE.XML_ozone.scm.client.address: scm-0.scm
+ OZONE-SITE.XML_ozone.scm.datanode.id.dir: /data/metadata
OZONE-SITE.XML_ozone.scm.names: scm-0.scm
- OZONE-SITE.XML_hdds.scm.safemode.min.datanode: "3"
- OZONE-SITE.XML_ozone.datanode.pipeline.limit: "1"
- OZONE-SITE.XML_dfs.datanode.use.datanode.hostname: "true"
LOG4J.PROPERTIES_log4j.rootLogger: INFO, stdout
LOG4J.PROPERTIES_log4j.appender.stdout: org.apache.log4j.ConsoleAppender
LOG4J.PROPERTIES_log4j.appender.stdout.layout: org.apache.log4j.PatternLayout
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/minikube/httpfs-public-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to
hadoop-ozone/dist/src/main/k8s/examples/minikube/httpfs-public-service.yaml
index 6b3d553113..d858625055 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++
b/hadoop-ozone/dist/src/main/k8s/examples/minikube/httpfs-public-service.yaml
@@ -14,13 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: httpfs-public
+spec:
+ ports:
+ - port: 14000
+ name: rest
+ selector:
+ app: ozone
+ component: httpfs
+ type: NodePort
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/minikube/httpfs-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to hadoop-ozone/dist/src/main/k8s/examples/minikube/httpfs-service.yaml
index 6b3d553113..0ab49c2d72 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/minikube/httpfs-service.yaml
@@ -14,13 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: httpfs
+spec:
+ ports:
+ - port: 14000
+ name: rest
+ clusterIP: None
+ selector:
+ app: ozone
+ component: httpfs
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/minikube/httpfs-statefulset.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/minikube/httpfs-statefulset.yaml
new file mode 100644
index 0000000000..7bca21585c
--- /dev/null
+++ b/hadoop-ozone/dist/src/main/k8s/examples/minikube/httpfs-statefulset.yaml
@@ -0,0 +1,55 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: httpfs
+ labels:
+ app.kubernetes.io/component: ozone
+spec:
+ selector:
+ matchLabels:
+ app: ozone
+ component: httpfs
+ serviceName: httpfs
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: ozone
+ component: httpfs
+ spec:
+ containers:
+ - name: httpfs
+ image: '@docker.image@'
+ args:
+ - ozone
+ - httpfs
+ livenessProbe:
+ httpGet:
+ path: /webhdfs/v1/?op=LISTSTATUS&user.name=hadoop
+ port: 14000
+ initialDelaySeconds: 30
+ envFrom:
+ - configMapRef:
+ name: config
+ volumeMounts:
+ - name: data
+ mountPath: /data
+ volumes:
+ - name: data
+ emptyDir: {}
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/minikube/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/minikube/kustomization.yaml
index 3059b9c801..427c654d54 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/minikube/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/minikube/kustomization.yaml
@@ -18,13 +18,19 @@ resources:
- config-configmap.yaml
- datanode-service.yaml
- datanode-statefulset.yaml
+- httpfs-service.yaml
+- httpfs-statefulset.yaml
- om-service.yaml
- om-statefulset.yaml
+- recon-service.yaml
+- recon-statefulset.yaml
- s3g-service.yaml
- s3g-statefulset.yaml
- scm-service.yaml
- scm-statefulset.yaml
- datanode-public-service.yaml
+- httpfs-public-service.yaml
- om-public-service.yaml
+- recon-public-service.yaml
- s3g-public-service.yaml
- scm-public-service.yaml
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/minikube/recon-public-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to
hadoop-ozone/dist/src/main/k8s/examples/minikube/recon-public-service.yaml
index 6b3d553113..c737a02f44 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/minikube/recon-public-service.yaml
@@ -14,13 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: recon-public
+spec:
+ ports:
+ - port: 9888
+ name: ui
+ selector:
+ app: ozone
+ component: recon
+ type: NodePort
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/minikube/recon-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to hadoop-ozone/dist/src/main/k8s/examples/minikube/recon-service.yaml
index 6b3d553113..9c52d393d5 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/minikube/recon-service.yaml
@@ -14,13 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: recon
+spec:
+ ports:
+ - port: 9888
+ name: ui
+ clusterIP: None
+ selector:
+ app: ozone
+ component: recon
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/minikube/recon-statefulset.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/minikube/recon-statefulset.yaml
new file mode 100644
index 0000000000..8b9ee191d0
--- /dev/null
+++ b/hadoop-ozone/dist/src/main/k8s/examples/minikube/recon-statefulset.yaml
@@ -0,0 +1,63 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: recon
+ labels:
+ app.kubernetes.io/component: ozone
+spec:
+ selector:
+ matchLabels:
+ app: ozone
+ component: recon
+ serviceName: recon
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: ozone
+ component: recon
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/port: "9888"
+ prometheus.io/path: /prom
+ spec:
+ securityContext:
+ fsGroup: 1000
+ containers:
+ - name: recon
+ image: '@docker.image@'
+ args:
+ - ozone
+ - recon
+ env:
+ - name: WAITFOR
+ value: scm-0.scm:9876
+ livenessProbe:
+ tcpSocket:
+ port: 9891
+ initialDelaySeconds: 30
+ envFrom:
+ - configMapRef:
+ name: config
+ volumeMounts:
+ - name: data
+ mountPath: /data
+ volumes:
+ - name: data
+ emptyDir: {}
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/config-configmap.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/config-configmap.yaml
index 1d85fe91f5..7a96695736 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/config-configmap.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/config-configmap.yaml
@@ -19,16 +19,22 @@ kind: ConfigMap
metadata:
name: config
data:
+ CORE-SITE.XML_fs.defaultFS: ofs://om/
+ CORE-SITE.XML_fs.trash.interval: "1"
+ HTTPFS-SITE.XML_httpfs.hadoop.config.dir: /opt/hadoop/etc/config
+ HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.groups: '*'
+ HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.hosts: '*'
+ OZONE-SITE.XML_dfs.datanode.use.datanode.hostname: "true"
OZONE-SITE.XML_hdds.datanode.dir: /data/storage
- OZONE-SITE.XML_ozone.scm.datanode.id.dir: /data/metadata
+ OZONE-SITE.XML_hdds.scm.safemode.min.datanode: "3"
+ OZONE-SITE.XML_ozone.datanode.pipeline.limit: "1"
OZONE-SITE.XML_ozone.metadata.dirs: /data/metadata
- OZONE-SITE.XML_ozone.scm.block.client.address: scm-0.scm
OZONE-SITE.XML_ozone.om.address: om-0.om
+ OZONE-SITE.XML_ozone.recon.address: recon-0.recon
+ OZONE-SITE.XML_ozone.scm.block.client.address: scm-0.scm
OZONE-SITE.XML_ozone.scm.client.address: scm-0.scm
+ OZONE-SITE.XML_ozone.scm.datanode.id.dir: /data/metadata
OZONE-SITE.XML_ozone.scm.names: scm-0.scm
- OZONE-SITE.XML_hdds.scm.safemode.min.datanode: "3"
- OZONE-SITE.XML_ozone.datanode.pipeline.limit: "1"
- OZONE-SITE.XML_dfs.datanode.use.datanode.hostname: "true"
LOG4J.PROPERTIES_log4j.rootLogger: INFO, stdout
LOG4J.PROPERTIES_log4j.appender.stdout: org.apache.log4j.ConsoleAppender
LOG4J.PROPERTIES_log4j.appender.stdout.layout: org.apache.log4j.PatternLayout
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/httpfs-public-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to
hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/httpfs-public-service.yaml
index 6b3d553113..d858625055 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/httpfs-public-service.yaml
@@ -14,13 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: httpfs-public
+spec:
+ ports:
+ - port: 14000
+ name: rest
+ selector:
+ app: ozone
+ component: httpfs
+ type: NodePort
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/httpfs-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/httpfs-service.yaml
index 6b3d553113..0ab49c2d72 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/httpfs-service.yaml
@@ -14,13 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: httpfs
+spec:
+ ports:
+ - port: 14000
+ name: rest
+ clusterIP: None
+ selector:
+ app: ozone
+ component: httpfs
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/httpfs-statefulset.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/httpfs-statefulset.yaml
new file mode 100644
index 0000000000..59abe8547f
--- /dev/null
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/httpfs-statefulset.yaml
@@ -0,0 +1,62 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: httpfs
+ labels:
+ app.kubernetes.io/component: ozone
+spec:
+ selector:
+ matchLabels:
+ app: ozone
+ component: httpfs
+ serviceName: httpfs
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: ozone
+ component: httpfs
+ spec:
+ containers:
+ - name: httpfs
+ image: '@docker.image@'
+ args:
+ - ozone
+ - httpfs
+ livenessProbe:
+ httpGet:
+ path: /webhdfs/v1/?op=LISTSTATUS&user.name=hadoop
+ port: 14000
+ initialDelaySeconds: 30
+ envFrom:
+ - configMapRef:
+ name: config
+ env:
+ - name: JAEGER_SAMPLER_TYPE
+ value: probabilistic
+ - name: JAEGER_SAMPLER_PARAM
+ value: "0.01"
+ - name: JAEGER_AGENT_HOST
+ value: jaeger-0.jaeger
+ volumeMounts:
+ - name: data
+ mountPath: /data
+ volumes:
+ - name: data
+ emptyDir: {}
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/kustomization.yaml
index cf0cbe152d..f654f6f510 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/kustomization.yaml
@@ -18,8 +18,12 @@ resources:
- config-configmap.yaml
- datanode-service.yaml
- datanode-statefulset.yaml
+- httpfs-service.yaml
+- httpfs-statefulset.yaml
- om-service.yaml
- om-statefulset.yaml
+- recon-service.yaml
+- recon-statefulset.yaml
- s3g-service.yaml
- s3g-statefulset.yaml
- scm-service.yaml
@@ -33,7 +37,9 @@ resources:
- jaeger-service.yaml
- jaeger-statefulset.yaml
- datanode-public-service.yaml
+- httpfs-public-service.yaml
- om-public-service.yaml
+- recon-public-service.yaml
- s3g-public-service.yaml
- scm-public-service.yaml
- jaeger-public-service.yaml
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/recon-public-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to
hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/recon-public-service.yaml
index 6b3d553113..c737a02f44 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/recon-public-service.yaml
@@ -14,13 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: recon-public
+spec:
+ ports:
+ - port: 9888
+ name: ui
+ selector:
+ app: ozone
+ component: recon
+ type: NodePort
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/recon-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/recon-service.yaml
index 6b3d553113..9c52d393d5 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/recon-service.yaml
@@ -14,13 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: recon
+spec:
+ ports:
+ - port: 9888
+ name: ui
+ clusterIP: None
+ selector:
+ app: ozone
+ component: recon
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/recon-statefulset.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/recon-statefulset.yaml
new file mode 100644
index 0000000000..6466c29595
--- /dev/null
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-dev/recon-statefulset.yaml
@@ -0,0 +1,69 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: recon
+ labels:
+ app.kubernetes.io/component: ozone
+spec:
+ selector:
+ matchLabels:
+ app: ozone
+ component: recon
+ serviceName: recon
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: ozone
+ component: recon
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/port: "9888"
+ prometheus.io/path: /prom
+ spec:
+ securityContext:
+ fsGroup: 1000
+ containers:
+ - name: recon
+ image: '@docker.image@'
+ args:
+ - ozone
+ - recon
+ env:
+ - name: WAITFOR
+ value: scm-0.scm:9876
+ - name: JAEGER_SAMPLER_TYPE
+ value: probabilistic
+ - name: JAEGER_SAMPLER_PARAM
+ value: "0.01"
+ - name: JAEGER_AGENT_HOST
+ value: jaeger-0.jaeger
+ livenessProbe:
+ tcpSocket:
+ port: 9891
+ initialDelaySeconds: 30
+ envFrom:
+ - configMapRef:
+ name: config
+ volumeMounts:
+ - name: data
+ mountPath: /data
+ volumes:
+ - name: data
+ emptyDir: {}
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/config-configmap.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/config-configmap.yaml
index 193a0618ab..a9315eb210 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/config-configmap.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/config-configmap.yaml
@@ -19,13 +19,19 @@ kind: ConfigMap
metadata:
name: config
data:
+ CORE-SITE.XML_fs.defaultFS: ofs://om/
+ CORE-SITE.XML_fs.trash.interval: "1"
+ HTTPFS-SITE.XML_httpfs.hadoop.config.dir: /opt/hadoop/etc/config
+ HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.groups: '*'
+ HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.hosts: '*'
+ OZONE-SITE.XML_dfs.datanode.use.datanode.hostname: "true"
OZONE-SITE.XML_hdds.datanode.dir: /data/storage
- OZONE-SITE.XML_ozone.scm.datanode.id.dir: /data/metadata
- OZONE-SITE.XML_ozone.metadata.dirs: /data/metadata
- OZONE-SITE.XML_ozone.om.address: om-0.om
OZONE-SITE.XML_hdds.scm.safemode.min.datanode: "3"
OZONE-SITE.XML_ozone.datanode.pipeline.limit: "1"
- OZONE-SITE.XML_dfs.datanode.use.datanode.hostname: "true"
+ OZONE-SITE.XML_ozone.metadata.dirs: /data/metadata
+ OZONE-SITE.XML_ozone.om.address: om-0.om
+ OZONE-SITE.XML_ozone.recon.address: recon-0.recon
+ OZONE-SITE.XML_ozone.scm.datanode.id.dir: /data/metadata
LOG4J.PROPERTIES_log4j.rootLogger: INFO, stdout
LOG4J.PROPERTIES_log4j.appender.stdout: org.apache.log4j.ConsoleAppender
LOG4J.PROPERTIES_log4j.appender.stdout.layout: org.apache.log4j.PatternLayout
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/httpfs-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/httpfs-service.yaml
index 6b3d553113..0ab49c2d72 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/httpfs-service.yaml
@@ -14,13 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: httpfs
+spec:
+ ports:
+ - port: 14000
+ name: rest
+ clusterIP: None
+ selector:
+ app: ozone
+ component: httpfs
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/httpfs-statefulset.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/httpfs-statefulset.yaml
new file mode 100644
index 0000000000..2c076ae8fc
--- /dev/null
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/httpfs-statefulset.yaml
@@ -0,0 +1,61 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: httpfs
+ labels:
+ app.kubernetes.io/component: ozone
+spec:
+ selector:
+ matchLabels:
+ app: ozone
+ component: httpfs
+ serviceName: httpfs
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: ozone
+ component: httpfs
+ spec:
+ containers:
+ - name: httpfs
+ image: '@docker.image@'
+ args:
+ - ozone
+ - httpfs
+ livenessProbe:
+ httpGet:
+ path: /webhdfs/v1/?op=LISTSTATUS&user.name=hadoop
+ port: 14000
+ initialDelaySeconds: 30
+ envFrom:
+ - configMapRef:
+ name: config
+ volumeMounts:
+ - name: data
+ mountPath: /data
+ volumeClaimTemplates:
+ - metadata:
+ name: data
+ spec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 20Gi
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/kustomization.yaml
index 6b3d553113..49b6b6e260 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/kustomization.yaml
@@ -18,8 +18,12 @@ resources:
- config-configmap.yaml
- datanode-service.yaml
- datanode-statefulset.yaml
+- httpfs-service.yaml
+- httpfs-statefulset.yaml
- om-service.yaml
- om-statefulset.yaml
+- recon-service.yaml
+- recon-statefulset.yaml
- s3g-service.yaml
- s3g-statefulset.yaml
- scm-service.yaml
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/recon-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/recon-service.yaml
index 6b3d553113..9c52d393d5 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/recon-service.yaml
@@ -14,13 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: recon
+spec:
+ ports:
+ - port: 9888
+ name: ui
+ clusterIP: None
+ selector:
+ app: ozone
+ component: recon
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/recon-statefulset.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/recon-statefulset.yaml
new file mode 100644
index 0000000000..445c2e222d
--- /dev/null
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone-ha/recon-statefulset.yaml
@@ -0,0 +1,70 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: recon
+ labels:
+ app.kubernetes.io/component: ozone
+spec:
+ selector:
+ matchLabels:
+ app: ozone
+ component: recon
+ serviceName: recon
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: ozone
+ component: recon
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/port: "9888"
+ prometheus.io/path: /prom
+ spec:
+ securityContext:
+ fsGroup: 1000
+ containers:
+ - name: recon
+ image: '@docker.image@'
+ args:
+ - ozone
+ - recon
+ env:
+ - name: WAITFOR
+ value: scm-0.scm:9876
+ livenessProbe:
+ tcpSocket:
+ port: 9891
+ initialDelaySeconds: 30
+ envFrom:
+ - configMapRef:
+ name: config
+ volumeMounts:
+ - name: data
+ mountPath: /data
+ volumes: []
+ volumeClaimTemplates:
+ - metadata:
+ name: data
+ spec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 20Gi
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/ozone/config-configmap.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone/config-configmap.yaml
index 8593073105..0825afc37b 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/config-configmap.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone/config-configmap.yaml
@@ -19,16 +19,22 @@ kind: ConfigMap
metadata:
name: config
data:
+ CORE-SITE.XML_fs.defaultFS: ofs://om/
+ CORE-SITE.XML_fs.trash.interval: "1"
+ HTTPFS-SITE.XML_httpfs.hadoop.config.dir: /opt/hadoop/etc/config
+ HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.groups: '*'
+ HTTPFS-SITE.XML_httpfs.proxyuser.hadoop.hosts: '*'
+ OZONE-SITE.XML_dfs.datanode.use.datanode.hostname: "true"
OZONE-SITE.XML_hdds.datanode.dir: /data/storage
- OZONE-SITE.XML_ozone.scm.datanode.id.dir: /data/metadata
+ OZONE-SITE.XML_hdds.scm.safemode.min.datanode: "3"
+ OZONE-SITE.XML_ozone.datanode.pipeline.limit: "1"
OZONE-SITE.XML_ozone.metadata.dirs: /data/metadata
- OZONE-SITE.XML_ozone.scm.block.client.address: scm-0.scm
OZONE-SITE.XML_ozone.om.address: om-0.om
+ OZONE-SITE.XML_ozone.recon.address: recon-0.recon
+ OZONE-SITE.XML_ozone.scm.block.client.address: scm-0.scm
OZONE-SITE.XML_ozone.scm.client.address: scm-0.scm
+ OZONE-SITE.XML_ozone.scm.datanode.id.dir: /data/metadata
OZONE-SITE.XML_ozone.scm.names: scm-0.scm
- OZONE-SITE.XML_hdds.scm.safemode.min.datanode: "3"
- OZONE-SITE.XML_ozone.datanode.pipeline.limit: "1"
- OZONE-SITE.XML_dfs.datanode.use.datanode.hostname: "true"
LOG4J.PROPERTIES_log4j.rootLogger: INFO, stdout
LOG4J.PROPERTIES_log4j.appender.stdout: org.apache.log4j.ConsoleAppender
LOG4J.PROPERTIES_log4j.appender.stdout.layout: org.apache.log4j.PatternLayout
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone/httpfs-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to hadoop-ozone/dist/src/main/k8s/examples/ozone/httpfs-service.yaml
index 6b3d553113..0ab49c2d72 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone/httpfs-service.yaml
@@ -14,13 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: httpfs
+spec:
+ ports:
+ - port: 14000
+ name: rest
+ clusterIP: None
+ selector:
+ app: ozone
+ component: httpfs
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/ozone/httpfs-statefulset.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone/httpfs-statefulset.yaml
new file mode 100644
index 0000000000..2c076ae8fc
--- /dev/null
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone/httpfs-statefulset.yaml
@@ -0,0 +1,61 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: httpfs
+ labels:
+ app.kubernetes.io/component: ozone
+spec:
+ selector:
+ matchLabels:
+ app: ozone
+ component: httpfs
+ serviceName: httpfs
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: ozone
+ component: httpfs
+ spec:
+ containers:
+ - name: httpfs
+ image: '@docker.image@'
+ args:
+ - ozone
+ - httpfs
+ livenessProbe:
+ httpGet:
+ path: /webhdfs/v1/?op=LISTSTATUS&user.name=hadoop
+ port: 14000
+ initialDelaySeconds: 30
+ envFrom:
+ - configMapRef:
+ name: config
+ volumeMounts:
+ - name: data
+ mountPath: /data
+ volumeClaimTemplates:
+ - metadata:
+ name: data
+ spec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 20Gi
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
index 6b3d553113..49b6b6e260 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
@@ -18,8 +18,12 @@ resources:
- config-configmap.yaml
- datanode-service.yaml
- datanode-statefulset.yaml
+- httpfs-service.yaml
+- httpfs-statefulset.yaml
- om-service.yaml
- om-statefulset.yaml
+- recon-service.yaml
+- recon-statefulset.yaml
- s3g-service.yaml
- s3g-statefulset.yaml
- scm-service.yaml
diff --git a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone/recon-service.yaml
similarity index 78%
copy from hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
copy to hadoop-ozone/dist/src/main/k8s/examples/ozone/recon-service.yaml
index 6b3d553113..9c52d393d5 100644
--- a/hadoop-ozone/dist/src/main/k8s/examples/ozone/kustomization.yaml
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone/recon-service.yaml
@@ -14,13 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-resources:
-- config-configmap.yaml
-- datanode-service.yaml
-- datanode-statefulset.yaml
-- om-service.yaml
-- om-statefulset.yaml
-- s3g-service.yaml
-- s3g-statefulset.yaml
-- scm-service.yaml
-- scm-statefulset.yaml
+apiVersion: v1
+kind: Service
+metadata:
+ name: recon
+spec:
+ ports:
+ - port: 9888
+ name: ui
+ clusterIP: None
+ selector:
+ app: ozone
+ component: recon
diff --git
a/hadoop-ozone/dist/src/main/k8s/examples/ozone/recon-statefulset.yaml
b/hadoop-ozone/dist/src/main/k8s/examples/ozone/recon-statefulset.yaml
new file mode 100644
index 0000000000..445c2e222d
--- /dev/null
+++ b/hadoop-ozone/dist/src/main/k8s/examples/ozone/recon-statefulset.yaml
@@ -0,0 +1,70 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+ name: recon
+ labels:
+ app.kubernetes.io/component: ozone
+spec:
+ selector:
+ matchLabels:
+ app: ozone
+ component: recon
+ serviceName: recon
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: ozone
+ component: recon
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/port: "9888"
+ prometheus.io/path: /prom
+ spec:
+ securityContext:
+ fsGroup: 1000
+ containers:
+ - name: recon
+ image: '@docker.image@'
+ args:
+ - ozone
+ - recon
+ env:
+ - name: WAITFOR
+ value: scm-0.scm:9876
+ livenessProbe:
+ tcpSocket:
+ port: 9891
+ initialDelaySeconds: 30
+ envFrom:
+ - configMapRef:
+ name: config
+ volumeMounts:
+ - name: data
+ mountPath: /data
+ volumes: []
+ volumeClaimTemplates:
+ - metadata:
+ name: data
+ spec:
+ accessModes:
+ - ReadWriteOnce
+ resources:
+ requests:
+ storage: 20Gi
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]