4.5.4. ## resourcemanager.yaml

#apiVersion: v1
#kind: ConfigMap
#metadata:
#  name: kube-hadoop-conf
#  namespace: default
#data:
#  NAMENODE_HOST: resourcemanager
#  RESOURCEMANAGER_HOST: resourcemanager
#  HISTORYSERVER_HOST: historyserver
---
apiVersion: v1
kind: Service
metadata:
  name: resourcemanager
  labels:
    component: resourcemanager
spec:
  type: NodePort
  selector:
    component: resourcemanager
  ports:
    - port: 50070
      name: http
    - port: 8020
      name: hdfs
    - port: 50075
      name: hdfs1
    - port: 50010
      name: hdfs2
    - port: 50020
      name: hdfs3
    - port: 9000
      name: hdfs4
    - port: 50090
      name: hdfs5
    - port: 31010
      name: hdfs6
    - port: 8030
      name: yarn1
    - port: 8031
      name: yarn2
    - port: 8032
      name: yarn3
    - port: 8033
      name: yarn4
    - port: 8040
      name: yarn5
    - port: 8042
      name: yarn6
    - port: 8088
      targetPort: 8088
      nodePort: 32088
      name: yarn7
    - port: 19888
      name: historyserver
#  ports:
#    - name: "8030"
#      port: 8030
#    - name: "8031"
#      port: 8031
#    - name: "8032"
#      port: 8032
#    - name: http
#      port: 8088
#      targetPort: 8088
#      nodePort: 32088
---
#apiVersion: v1
#kind: ReplicationController
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: resourcemanager
  labels:
    component: resourcemanager
spec:
  serviceName: resourcemanager
  replicas: 1
#  selector:
#    component: resourcemanager
  template:
    metadata:
      labels:
        component: resourcemanager
    spec:
      imagePullSecrets:
        - name: registry-secret
      containers:
        - name: resourcemanager
          image: registry.cn-hangzhou.aliyuncs.com/ispatial/hadoop:ssdp-0.0.1
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 50070
              name: http
            - containerPort: 8020
              name: hdfs
            - containerPort: 50075
              name: hdfs1
            - containerPort: 50010
              name: hdfs2
            - containerPort: 50020
              name: hdfs3
            - containerPort: 9000
              name: hdfs4
            - containerPort: 50090
              name: hdfs5
            - containerPort: 31010
              name: hdfs6
            - containerPort: 8030
              name: yarn1
            - containerPort: 8031
              name: yarn2
            - containerPort: 8032
              name: yarn3
            - containerPort: 8033
              name: yarn4
            - containerPort: 8040
              name: yarn5
            - containerPort: 8042
              name: yarn6
            - containerPort: 8088
              name: yarn7
            - containerPort: 19888
              name: historyserver
#          ports:
#            - containerPort: 8088
#            - containerPort: 8032
          env:
            - name: HADOOP_NODE_TYPE
              value: resourcemanager
            - name: NAMENODE_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: NAMENODE_HOST
            - name: RESOURCEMANAGER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: RESOURCEMANAGER_HOST
            - name: HISTORYSERVER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: HISTORYSERVER_HOST
      restartPolicy: Always

## namenode.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: kube-hadoop-conf
  namespace: default
data:
  NAMENODE_HOST: namenode
  RESOURCEMANAGER_HOST: resourcemanager
  HISTORYSERVER_HOST: historyserver
---
apiVersion: v1
kind: Service
metadata:
  name: namenode
  labels:
    component: namenode
spec:
  type: NodePort
  selector:
    component: namenode
  ports:
    - port: 50070
      name: http
      targetPort: 50070
      nodePort: 32007
    - port: 8020
      name: hdfs
    - port: 50075
      name: hdfs1
    - port: 50010
      name: hdfs2
    - port: 50020
      name: hdfs3
    - port: 9000
      name: hdfs4
    - port: 50090
      name: hdfs5
    - port: 31010
      name: hdfs6
    - port: 8030
      name: yarn1
    - port: 8031
      name: yarn2
    - port: 8032
      name: yarn3
    - port: 8033
      name: yarn4
    - port: 8040
      name: yarn5
    - port: 8042
      name: yarn6
    - port: 8088
      name: yarn7
    - port: 19888
      name: historyserver
#  ports:
#    - name: rpc
#      port: 9000
#      targetPort: 9000
#    - name: datanode-port
#      port: 50010
#    - name: http
#      port: 50070
#      targetPort: 50070
#      nodePort: 32007
#  clusterIP: None
---
#apiVersion: v1
#kind: ReplicationController
apiVersion: apps/v1beta1
#kind: StatefulSet
kind: Deployment
metadata:
  name: namenode
  labels:
    component: namenode
spec:
#  serviceName: namenode
  replicas: 1
#  selector:
#    component: namenode
  template:
    metadata:
      labels:
        component: namenode
    spec:
      hostname: namenode
      imagePullSecrets:
        - name: registry-secret
      containers:
        - name: namenode
          image: registry.cn-hangzhou.aliyuncs.com/ispatial/hadoop:ssdp-0.0.1
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 50070
              name: http
            - containerPort: 8020
              name: hdfs
            - containerPort: 50075
              name: hdfs1
            - containerPort: 50010
              name: hdfs2
            - containerPort: 50020
              name: hdfs3
            - containerPort: 9000
              name: hdfs4
            - containerPort: 50090
              name: hdfs5
            - containerPort: 31010
              name: hdfs6
            - containerPort: 8030
              name: yarn1
            - containerPort: 8031
              name: yarn2
            - containerPort: 8032
              name: yarn3
            - containerPort: 8033
              name: yarn4
            - containerPort: 8040
              name: yarn5
            - containerPort: 8042
              name: yarn6
            - containerPort: 8088
              name: yarn7
            - containerPort: 19888
              name: historyserver
#          ports:
#            - containerPort: 9000
#            - containerPort: 50070
          env:
            - name: HADOOP_NODE_TYPE
              value: namenode
            - name: NAMENODE_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: NAMENODE_HOST
            - name: RESOURCEMANAGER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: RESOURCEMANAGER_HOST
            - name: HISTORYSERVER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: HISTORYSERVER_HOST
      restartPolicy: Always

## historyserver.yaml

#apiVersion: v1
#kind: ConfigMap
#metadata:
#  name: kube-hadoop-conf
#  namespace: default
#data:
#  NAMENODE_HOST: historyserver
#  RESOURCEMANAGER_HOST: resourcemanager
#  HISTORYSERVER_HOST: historyserver
---
apiVersion: v1
kind: Service
metadata:
  name: historyserver
  labels:
    component: historyserver
spec:
  type: NodePort
  selector:
    component: historyserver
  ports:
    - port: 50070
      name: http
    - port: 8020
      name: hdfs
    - port: 50075
      name: hdfs1
    - port: 50010
      name: hdfs2
    - port: 50020
      name: hdfs3
    - port: 9000
      name: hdfs4
    - port: 50090
      name: hdfs5
    - port: 31010
      name: hdfs6
    - port: 8030
      name: yarn1
    - port: 8031
      name: yarn2
    - port: 8032
      name: yarn3
    - port: 8033
      name: yarn4
    - port: 8040
      name: yarn5
    - port: 8042
      name: yarn6
    - port: 8088
      name: yarn7
    - port: 19888
      name: historyserver
      targetPort: 19888
      nodePort: 30888
#  ports:
#    - name: rpc
#      port: 10020
#      targetPort: 10020
#    - name: http
#      port: 19888
#      targetPort: 19888
#      nodePort: 30888
---
#apiVersion: v1
#kind: ReplicationController
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: historyserver
  labels:
    component: historyserver
spec:
  serviceName: historyserver
  replicas: 1
#  selector:
#    component: historyserver
  template:
    metadata:
      labels:
        component: historyserver
    spec:
      imagePullSecrets:
        - name: registry-secret
      containers:
        - name: historyserver
          image: registry.cn-hangzhou.aliyuncs.com/ispatial/hadoop:ssdp-0.0.1
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 50070
              name: http
            - containerPort: 8020
              name: hdfs
            - containerPort: 50075
              name: hdfs1
            - containerPort: 50010
              name: hdfs2
            - containerPort: 50020
              name: hdfs3
            - containerPort: 9000
              name: hdfs4
            - containerPort: 50090
              name: hdfs5
            - containerPort: 31010
              name: hdfs6
            - containerPort: 8030
              name: yarn1
            - containerPort: 8031
              name: yarn2
            - containerPort: 8032
              name: yarn3
            - containerPort: 8033
              name: yarn4
            - containerPort: 8040
              name: yarn5
            - containerPort: 8042
              name: yarn6
            - containerPort: 8088
              name: yarn7
            - containerPort: 19888
              name: historyserver
#          ports:
#            - containerPort: 19888
#            - containerPort: 10020
          env:
            - name: HADOOP_NODE_TYPE
              value: historyserver
            - name: NAMENODE_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: NAMENODE_HOST
            - name: RESOURCEMANAGER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: RESOURCEMANAGER_HOST
            - name: HISTORYSERVER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: HISTORYSERVER_HOST
      restartPolicy: Always

## nodemanager.yaml

#apiVersion: v1
#kind: ConfigMap
#metadata:
#  name: kube-hadoop-conf
#  namespace: default
#data:
#  NAMENODE_HOST: namenode
#  RESOURCEMANAGER_HOST: resourcemanager
#  HISTORYSERVER_HOST: historyserver
---
apiVersion: v1
kind: Service
metadata:
  name: nodemanager
  labels:
    component: nodemanager
spec:
#  type: NodePort
  clusterIP: None
  selector:
    component: nodemanager
  ports:
    - port: 50070
      name: http
    - port: 8020
      name: hdfs
#      targetPort: 8082
#      nodePort: 32082
    - port: 50075
      name: hdfs1
    - port: 50010
      name: hdfs2
    - port: 50020
      name: hdfs3
    - port: 9000
      name: hdfs4
    - port: 50090
      name: hdfs5
    - port: 31010
      name: hdfs6
    - port: 8030
      name: yarn1
    - port: 8031
      name: yarn2
    - port: 8032
      name: yarn3
    - port: 8033
      name: yarn4
    - port: 8040
      name: yarn5
    - port: 8042
      name: yarn6
    - port: 8088
      name: yarn7
    - port: 19888
      name: historyserver
#  ports:
#    - name: "8088"
#      port: 8088
#    - name: api
#      port: 8042
#    - name: http
#      port: 8082
#      targetPort: 8082
#      nodePort: 32082
---
#apiVersion: v1
#kind: ReplicationController
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: nodemanager
  labels:
    component: nodemanager
spec:
  serviceName: nodemanager
  replicas: 1
#  selector:
#    component: nodemanager
  template:
    metadata:
      labels:
        component: nodemanager
    spec:
      imagePullSecrets:
        - name: registry-secret
      containers:
        - name: nodemanager
          image: registry.cn-hangzhou.aliyuncs.com/ispatial/hadoop:ssdp-0.0.1
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 50070
              name: http
            - containerPort: 8020
              name: hdfs
            - containerPort: 50075
              name: hdfs1
            - containerPort: 50010
              name: hdfs2
            - containerPort: 50020
              name: hdfs3
            - containerPort: 9000
              name: hdfs4
            - containerPort: 50090
              name: hdfs5
            - containerPort: 31010
              name: hdfs6
            - containerPort: 8030
              name: yarn1
            - containerPort: 8031
              name: yarn2
            - containerPort: 8032
              name: yarn3
            - containerPort: 8033
              name: yarn4
            - containerPort: 8040
              name: yarn5
            - containerPort: 8042
              name: yarn6
            - containerPort: 8088
              name: yarn7
            - containerPort: 19888
              name: historyserver
#          ports:
#            - containerPort: 8082
#            - containerPort: 8042
          env:
            - name: HADOOP_NODE_TYPE
              value: nodemanager
            - name: NAMENODE_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: NAMENODE_HOST
            - name: RESOURCEMANAGER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: RESOURCEMANAGER_HOST
            - name: HISTORYSERVER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: HISTORYSERVER_HOST
      restartPolicy: Always

## datanode1.yaml

#apiVersion: v1
#kind: ConfigMap
#metadata:
#  name: kube-hadoop-conf
#  namespace: default
#data:
#  NAMENODE_HOST: datanode1
#  RESOURCEMANAGER_HOST: resourcemanager
#  HISTORYSERVER_HOST: historyserver
---
apiVersion: v1
kind: Service
metadata:
  name: datanode1
  labels:
    component: datanode1
spec:
  type: NodePort
  selector:
    component: datanode1
  ports:
    - port: 50070
      name: http
    - port: 8020
      name: hdfs
    - port: 50075
      name: hdfs1
      targetPort: 50075
      nodePort: 32075
    - port: 50010
      name: hdfs2
    - port: 50020
      name: hdfs3
    - port: 9000
      name: hdfs4
    - port: 50090
      name: hdfs5
    - port: 31010
      name: hdfs6
    - port: 8030
      name: yarn1
    - port: 8031
      name: yarn2
    - port: 8032
      name: yarn3
    - port: 8033
      name: yarn4
    - port: 8040
      name: yarn5
    - port: 8042
      name: yarn6
    - port: 8088
      name: yarn7
    - port: 19888
      name: historyserver
#  ports:
#    - name: dfs
#      port: 9000
#    - name: datanode1-port
#      port: 50010
#    - name: http
#      port: 50075
#      targetPort: 50075
#      nodePort: 32075
---
#apiVersion: v1
#kind: ReplicationController
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: datanode1
  labels:
    component: datanode1
spec:
  serviceName: datanode1
  replicas: 1
#  selector:
#    component: datanode1
  template:
    metadata:
      labels:
        component: datanode1
    spec:
      imagePullSecrets:
        - name: registry-secret
      containers:
        - name: datanode1
          image: registry.cn-hangzhou.aliyuncs.com/ispatial/hadoop:ssdp-0.0.1
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 50070
              name: http
            - containerPort: 8020
              name: hdfs
            - containerPort: 50075
              name: hdfs1
            - containerPort: 50010
              name: hdfs2
            - containerPort: 50020
              name: hdfs3
            - containerPort: 9000
              name: hdfs4
            - containerPort: 50090
              name: hdfs5
            - containerPort: 31010
              name: hdfs6
            - containerPort: 8030
              name: yarn1
            - containerPort: 8031
              name: yarn2
            - containerPort: 8032
              name: yarn3
            - containerPort: 8033
              name: yarn4
            - containerPort: 8040
              name: yarn5
            - containerPort: 8042
              name: yarn6
            - containerPort: 8088
              name: yarn7
            - containerPort: 19888
              name: historyserver
#          ports:
#            - containerPort: 9000
#            - containerPort: 50075
#            - containerPort: 50010
#            - containerPort: 50070
          env:
            - name: HADOOP_NODE_TYPE
              value: datanode
            - name: NAMENODE_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: NAMENODE_HOST
            - name: RESOURCEMANAGER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: RESOURCEMANAGER_HOST
            - name: HISTORYSERVER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: HISTORYSERVER_HOST
      restartPolicy: Always

## datanode2.yaml

#apiVersion: v1
#kind: ConfigMap
#metadata:
#  name: kube-hadoop-conf
#  namespace: default
#data:
#  NAMENODE_HOST: datanode2
#  RESOURCEMANAGER_HOST: resourcemanager
#  HISTORYSERVER_HOST: historyserver
---
apiVersion: v1
kind: Service
metadata:
  name: datanode2
  labels:
    component: datanode2
spec:
  type: NodePort
  selector:
    component: datanode2
  ports:
    - port: 50070
      name: http
    - port: 8020
      name: hdfs
    - port: 50075
      name: hdfs1
      targetPort: 50075
    - port: 50010
      name: hdfs2
    - port: 50020
      name: hdfs3
    - port: 9000
      name: hdfs4
    - port: 50090
      name: hdfs5
    - port: 31010
      name: hdfs6
    - port: 8030
      name: yarn1
    - port: 8031
      name: yarn2
    - port: 8032
      name: yarn3
    - port: 8033
      name: yarn4
    - port: 8040
      name: yarn5
    - port: 8042
      name: yarn6
    - port: 8088
      name: yarn7
    - port: 19888
      name: historyserver
#  ports:
#    - name: dfs
#      port: 9000
#    - name: datanode2-port
#      port: 50010
#    - name: http
#      port: 50075
#      targetPort: 50075
#      nodePort: 32075
---
#apiVersion: v1
#kind: ReplicationController
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: datanode2
  labels:
    component: datanode2
spec:
  serviceName: datanode2
  replicas: 1
#  selector:
#    component: datanode2
  template:
    metadata:
      labels:
        component: datanode2
    spec:
      imagePullSecrets:
        - name: registry-secret
      containers:
        - name: datanode2
          image: registry.cn-hangzhou.aliyuncs.com/ispatial/hadoop:ssdp-0.0.1
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 50070
              name: http
            - containerPort: 8020
              name: hdfs
            - containerPort: 50075
              name: hdfs1
            - containerPort: 50010
              name: hdfs2
            - containerPort: 50020
              name: hdfs3
            - containerPort: 9000
              name: hdfs4
            - containerPort: 50090
              name: hdfs5
            - containerPort: 31010
              name: hdfs6
            - containerPort: 8030
              name: yarn1
            - containerPort: 8031
              name: yarn2
            - containerPort: 8032
              name: yarn3
            - containerPort: 8033
              name: yarn4
            - containerPort: 8040
              name: yarn5
            - containerPort: 8042
              name: yarn6
            - containerPort: 8088
              name: yarn7
            - containerPort: 19888
              name: historyserver
#          ports:
#            - containerPort: 9000
#            - containerPort: 50075
#            - containerPort: 50010
#            - containerPort: 50070
          env:
            - name: HADOOP_NODE_TYPE
              value: datanode
            - name: NAMENODE_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: NAMENODE_HOST
            - name: RESOURCEMANAGER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: RESOURCEMANAGER_HOST
            - name: HISTORYSERVER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: HISTORYSERVER_HOST
      restartPolicy: Always

## datanode3.yaml

#apiVersion: v1
#kind: ConfigMap
#metadata:
#  name: kube-hadoop-conf
#  namespace: default
#data:
#  NAMENODE_HOST: datanode3
#  RESOURCEMANAGER_HOST: resourcemanager
#  HISTORYSERVER_HOST: historyserver
---
apiVersion: v1
kind: Service
metadata:
  name: datanode3
  labels:
    component: datanode3
spec:
  type: NodePort
  selector:
    component: datanode3
  ports:
    - port: 50070
      name: http
    - port: 8020
      name: hdfs
    - port: 50075
      name: hdfs1
      targetPort: 50075
    - port: 50010
      name: hdfs2
    - port: 50020
      name: hdfs3
    - port: 9000
      name: hdfs4
    - port: 50090
      name: hdfs5
    - port: 31010
      name: hdfs6
    - port: 8030
      name: yarn1
    - port: 8031
      name: yarn2
    - port: 8032
      name: yarn3
    - port: 8033
      name: yarn4
    - port: 8040
      name: yarn5
    - port: 8042
      name: yarn6
    - port: 8088
      name: yarn7
    - port: 19888
      name: historyserver
#  ports:
#    - name: dfs
#      port: 9000
#    - name: datanode3-port
#      port: 50010
#    - name: http
#      port: 50075
#      targetPort: 50075
#      nodePort: 32075
---
#apiVersion: v1
#kind: ReplicationController
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: datanode3
  labels:
    component: datanode3
spec:
  serviceName: datanode3
  replicas: 1
#  selector:
#    component: datanode3
  template:
    metadata:
      labels:
        component: datanode3
    spec:
      imagePullSecrets:
        - name: registry-secret
      containers:
        - name: datanode3
          image: registry.cn-hangzhou.aliyuncs.com/ispatial/hadoop:ssdp-0.0.1
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 50070
              name: http
            - containerPort: 8020
              name: hdfs
            - containerPort: 50075
              name: hdfs1
            - containerPort: 50010
              name: hdfs2
            - containerPort: 50020
              name: hdfs3
            - containerPort: 9000
              name: hdfs4
            - containerPort: 50090
              name: hdfs5
            - containerPort: 31010
              name: hdfs6
            - containerPort: 8030
              name: yarn1
            - containerPort: 8031
              name: yarn2
            - containerPort: 8032
              name: yarn3
            - containerPort: 8033
              name: yarn4
            - containerPort: 8040
              name: yarn5
            - containerPort: 8042
              name: yarn6
            - containerPort: 8088
              name: yarn7
            - containerPort: 19888
              name: historyserver
#          ports:
#            - containerPort: 9000
#            - containerPort: 50075
#            - containerPort: 50010
#            - containerPort: 50070
          env:
            - name: HADOOP_NODE_TYPE
              value: datanode
            - name: NAMENODE_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: NAMENODE_HOST
            - name: RESOURCEMANAGER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: RESOURCEMANAGER_HOST
            - name: HISTORYSERVER_HOST
              valueFrom:
                configMapKeyRef:
                  name: kube-hadoop-conf
                  key: HISTORYSERVER_HOST
      restartPolicy: Always