diff options
author | illustris <rharikrishnan95@gmail.com> | 2022-02-27 11:52:18 +0530 |
---|---|---|
committer | illustris <rharikrishnan95@gmail.com> | 2022-03-11 14:18:44 +0530 |
commit | 716b0dfaaf12afe83ff54b793dc52c022ab62155 (patch) | |
tree | 5725346fa6fc006a07d5dd79b62cfa34c7d00701 /nixos/modules/services | |
parent | d39056d165c9dc480284f3bd1e63b6213f0e518d (diff) | |
download | nixpkgs-716b0dfaaf12afe83ff54b793dc52c022ab62155.tar nixpkgs-716b0dfaaf12afe83ff54b793dc52c022ab62155.tar.gz nixpkgs-716b0dfaaf12afe83ff54b793dc52c022ab62155.tar.bz2 nixpkgs-716b0dfaaf12afe83ff54b793dc52c022ab62155.tar.lz nixpkgs-716b0dfaaf12afe83ff54b793dc52c022ab62155.tar.xz nixpkgs-716b0dfaaf12afe83ff54b793dc52c022ab62155.tar.zst nixpkgs-716b0dfaaf12afe83ff54b793dc52c022ab62155.zip |
nixos/hadoop: add gateway role
Diffstat (limited to 'nixos/modules/services')
-rw-r--r-- | nixos/modules/services/cluster/hadoop/default.nix | 31 | ||||
-rw-r--r-- | nixos/modules/services/cluster/hadoop/hdfs.nix | 21 | ||||
-rw-r--r-- | nixos/modules/services/cluster/hadoop/yarn.nix | 10 |
3 files changed, 30 insertions, 32 deletions
diff --git a/nixos/modules/services/cluster/hadoop/default.nix b/nixos/modules/services/cluster/hadoop/default.nix index 636bb406727..5c7ea79c301 100644 --- a/nixos/modules/services/cluster/hadoop/default.nix +++ b/nixos/modules/services/cluster/hadoop/default.nix @@ -149,6 +149,8 @@ with lib; description = "Directories containing additional config files to be added to HADOOP_CONF_DIR"; }; + gatewayRole.enable = mkEnableOption "gateway role for deploying hadoop configs"; + package = mkOption { type = types.package; default = pkgs.hadoop; @@ -158,21 +160,16 @@ with lib; }; - config = mkMerge [ - (mkIf (builtins.hasAttr "yarn" config.users.users || - builtins.hasAttr "hdfs" config.users.users || - builtins.hasAttr "httpfs" config.users.users) { - users.groups.hadoop = { - gid = config.ids.gids.hadoop; - }; - environment = { - systemPackages = [ cfg.package ]; - etc."hadoop-conf".source = let - hadoopConf = "${import ./conf.nix { inherit cfg pkgs lib; }}/"; - in "${hadoopConf}"; - variables.HADOOP_CONF_DIR = "/etc/hadoop-conf/"; - }; - }) - - ]; + config = mkIf cfg.gatewayRole.enable { + users.groups.hadoop = { + gid = config.ids.gids.hadoop; + }; + environment = { + systemPackages = [ cfg.package ]; + etc."hadoop-conf".source = let + hadoopConf = "${import ./conf.nix { inherit cfg pkgs lib; }}/"; + in "${hadoopConf}"; + variables.HADOOP_CONF_DIR = "/etc/hadoop-conf/"; + }; + }; } diff --git a/nixos/modules/services/cluster/hadoop/hdfs.nix b/nixos/modules/services/cluster/hadoop/hdfs.nix index 61d9941298a..1725dc62d0c 100644 --- a/nixos/modules/services/cluster/hadoop/hdfs.nix +++ b/nixos/modules/services/cluster/hadoop/hdfs.nix @@ -51,6 +51,8 @@ let }; }; + services.hadoop.gatewayRole.enable = true; + networking.firewall.allowedTCPPorts = mkIf ((builtins.hasAttr "openFirewall" serviceOptions) && serviceOptions.openFirewall) allowedTCPPorts; @@ -145,17 +147,13 @@ in ]; }) - (mkIf - ( - cfg.hdfs.namenode.enable || cfg.hdfs.datanode.enable || cfg.hdfs.journalnode.enable || cfg.hdfs.zkfc.enable - ) - { - users.users.hdfs = { - description = "Hadoop HDFS user"; - group = "hadoop"; - uid = config.ids.uids.hdfs; - }; - }) + (mkIf cfg.gatewayRole.enable { + users.users.hdfs = { + description = "Hadoop HDFS user"; + group = "hadoop"; + uid = config.ids.uids.hdfs; + }; + }) (mkIf cfg.hdfs.httpfs.enable { users.users.httpfs = { description = "Hadoop HTTPFS user"; @@ -163,5 +161,6 @@ in isSystemUser = true; }; }) + ]; } diff --git a/nixos/modules/services/cluster/hadoop/yarn.nix b/nixos/modules/services/cluster/hadoop/yarn.nix index 90ae75a44b7..9f0d3f85db7 100644 --- a/nixos/modules/services/cluster/hadoop/yarn.nix +++ b/nixos/modules/services/cluster/hadoop/yarn.nix @@ -49,10 +49,7 @@ in }; config = mkMerge [ - (mkIf ( - cfg.yarn.resourcemanager.enable || cfg.yarn.nodemanager.enable - ) { - + (mkIf cfg.gatewayRole.enable { users.users.yarn = { description = "Hadoop YARN user"; group = "hadoop"; @@ -74,6 +71,9 @@ in Restart = "always"; }; }; + + services.hadoop.gatewayRole.enable = true; + networking.firewall.allowedTCPPorts = (mkIf cfg.yarn.resourcemanager.openFirewall [ 8088 # resourcemanager.webapp.address 8030 # resourcemanager.scheduler.address @@ -119,6 +119,8 @@ in }; }; + services.hadoop.gatewayRole.enable = true; + networking.firewall.allowedTCPPortRanges = [ (mkIf (cfg.yarn.nodemanager.openFirewall) {from = 1024; to = 65535;}) ]; |