Skip to content

Operator

Abstract

the operator is a punch environment that provides a terminal user with all the necessary command.

Overview

When deploying a clustered punch platform, you typically identify one or several servers to provide the platform operator with the necessary administration environment. The punch deployer takes care of installing all the required commands, environment variables and binaries automatically. In the rest of this chapter we describe the operator nodes layout.

Operator configuration

The various operator commands are provided in a dedicated folder, typically under /opt or /data/opt root. Here is its layout

punch-operator-6.1.0/
├── bin
│   ├── archives-housekeeping
│   ├── channelctl
│   ├── channels-monitoring
│   ├── commons-lib.sh
│   ├── elastalert
│   ├── elasticsearch-housekeeping
│   ├── hjson-manager
│   ├── logstash
│   ├── mlflow_api
│   ├── planctl
│   ├── platform-monitoring
│   ├── punchctl
│   ├── punchextractor
│   ├── punchlinectl
│   ├── punchplatform-analytics-scan.sh
│   ├── punchplatform-env.sh
│   ├── punchplatform-getconf.sh
│   ├── punchplatform-kafka-consumers.sh
│   ├── punchplatform-kafka-topics.sh
│   ├── punchplatform-lib.sh
│   ├── punchplatform-log-injector.sh
│   ├── punchplatform-puncher.sh
│   ├── punchplatform-push-es-templates.sh
│   ├── punchplatform-pyspark-scan.sh
│   ├── punchplatform-setup-kibana.sh
│   ├── punchplatform-version.sh
│   ├── punchplatform-zookeeper-console.sh
│   ├── renderJinja2Template.py
│   ├── resourcectl
│   ├── sparkctl
├── log4j2
│   ├── log4j2-channel.xml
│   ├── log4j2.properties
│   ├── log4j2-sparkctl.properties
│   ├── log4j2-sparkctl.xml
│   └── log4j2-stdout.xml
├── punchplatform.properties
└── resolv.hjson

In addition to the various operator commands, this folder also contains the logger configuration files, and two platform level configuration files resolv.hjson and punchplatform.properties generated at deployment time.

Operator binaries

The binaries and libraries (i.e. executable) files are provided in a separate folder. These are provided by a punch uber binary package named punchplatform-binaries-*. The punch deployer install it on each punch node. Here is its layout:

punchplatform-binaries-6.1.0/
├── apache-storm-2.1.0
├── lib
│   ├── spark/
│   ├── pyspark/
│   ├── storm/
│   ├── punchplatform-command-cli-6.1.0-jar-with-dependencies.jar
│   ├── punchplatform-gateway-app-6.1.0.jar
│   ├── punchplatform-log-injector-6.1.0-jar-with-dependencies.jar
│   ├── punchplatform-monitoring-service-6.1.0-jar-with-dependencies.jar
│   ├── punchplatform-puncher-6.1.0-jar-with-dependencies.jar
│   ├── punchplatform-shiva-app-6.1.0-jar-with-dependencies.jar
│   └── ...
├── logstash-7.4.2
├── resources
└── spark-2.4.3-bin-hadoop2.7

For example, punchlinectl command uses punchplatform-command-cli-*-jar-with-dependencies.jar while punchplatform-log-injector.sh uses punchplatform-log-injector-*-jar-with-dependencies.jar

Patch an Operator command

Refer to this documentation