import os
from aztk.models.plugins.plugin_configuration import PluginConfiguration, PluginPort, PluginTargetRole
from aztk.models.plugins.plugin_file import PluginFile
from aztk.utils import constants
dir_path = os.path.dirname(os.path.realpath(__file__))
[docs]class HDFSPlugin(PluginConfiguration):
def __init__(self):
super().__init__(
name="hdfs",
ports=[
PluginPort(
name="File system metadata operations",
internal=8020,
),
PluginPort(
name="File system metadata operations(Backup)",
internal=9000,
),
PluginPort(
name="Datanode data transfer",
internal=50010,
),
PluginPort(
name="Datanode IPC metadata operations",
internal=50020,
),
PluginPort(
name="Namenode",
internal=50070,
public=True,
),
PluginPort(
name="Datanodes",
internal=50075,
public=True,
),
],
target_role=PluginTargetRole.All,
execute="hdfs.sh",
files=[
PluginFile("hdfs.sh", os.path.join(dir_path, "hdfs.sh")),
],
)