diff options
author | Allan Espinosa <allan.espinosa@outlook.com> | 2018-05-20 21:09:31 -0400 |
---|---|---|
committer | Allan Espinosa <allan.espinosa@outlook.com> | 2018-06-29 23:14:02 -0400 |
commit | 0c10b2baa6bf61c8ddaed7cdb6c2f2dbaab42662 (patch) | |
tree | ef0f30b3a0b9e1f6a6f29c5f3913f904f8f58a66 /nixos/modules/services/cluster/hadoop/default.nix | |
parent | 978397d358ba94791bef736f19d3171a13bc03dc (diff) | |
download | nixpkgs-0c10b2baa6bf61c8ddaed7cdb6c2f2dbaab42662.tar nixpkgs-0c10b2baa6bf61c8ddaed7cdb6c2f2dbaab42662.tar.gz nixpkgs-0c10b2baa6bf61c8ddaed7cdb6c2f2dbaab42662.tar.bz2 nixpkgs-0c10b2baa6bf61c8ddaed7cdb6c2f2dbaab42662.tar.lz nixpkgs-0c10b2baa6bf61c8ddaed7cdb6c2f2dbaab42662.tar.xz nixpkgs-0c10b2baa6bf61c8ddaed7cdb6c2f2dbaab42662.tar.zst nixpkgs-0c10b2baa6bf61c8ddaed7cdb6c2f2dbaab42662.zip |
nixos/hadoop: add hadoop module (hdfs, yarn)
Diffstat (limited to 'nixos/modules/services/cluster/hadoop/default.nix')
-rw-r--r-- | nixos/modules/services/cluster/hadoop/default.nix | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/nixos/modules/services/cluster/hadoop/default.nix b/nixos/modules/services/cluster/hadoop/default.nix new file mode 100644 index 00000000000..53c13fd0603 --- /dev/null +++ b/nixos/modules/services/cluster/hadoop/default.nix @@ -0,0 +1,63 @@ +{ config, lib, pkgs, ...}: +let + cfg = config.services.hadoop; + hadoopConf = import ./conf.nix { hadoop = cfg; pkgs = pkgs; }; +in +with lib; +{ + imports = [ ./yarn.nix ./hdfs.nix ]; + + options.services.hadoop = { + coreSite = mkOption { + default = {}; + example = { + "fs.defaultFS" = "hdfs://localhost"; + }; + description = "Hadoop core-site.xml definition"; + }; + + hdfsSite = mkOption { + default = {}; + example = { + "dfs.nameservices" = "namenode1"; + }; + description = "Hadoop hdfs-site.xml definition"; + }; + + mapredSite = mkOption { + default = {}; + example = { + "mapreduce.map.cpu.vcores" = "1"; + }; + description = "Hadoop mapred-site.xml definition"; + }; + + yarnSite = mkOption { + default = {}; + example = { + "yarn.resourcemanager.ha.id" = "resourcemanager1"; + }; + description = "Hadoop yarn-site.xml definition"; + }; + + package = mkOption { + type = types.package; + default = pkgs.hadoop; + defaultText = "pkgs.hadoop"; + example = literalExample "pkgs.hadoop"; + description = '' + ''; + }; + }; + + + config = mkMerge [ + (mkIf (builtins.hasAttr "yarn" config.users.extraUsers || + builtins.hasAttr "hdfs" config.users.extraUsers ) { + users.extraGroups.hadoop = { + gid = config.ids.gids.hadoop; + }; + }) + + ]; +} |