about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/networking/cluster/hadoop/containerExecutor.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/cluster/hadoop/containerExecutor.nix')
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/hadoop/containerExecutor.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/cluster/hadoop/containerExecutor.nix b/nixpkgs/pkgs/applications/networking/cluster/hadoop/containerExecutor.nix
new file mode 100644
index 000000000000..7d5d2918e9b9
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/cluster/hadoop/containerExecutor.nix
@@ -0,0 +1,37 @@
+{ version, stdenv, fetchurl, lib, cmake, openssl, platformAttrs, ... }:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "hadoop-yarn-containerexecutor";
+  inherit version;
+
+  src = fetchurl {
+    url = "mirror://apache/hadoop/common/hadoop-${finalAttrs.version}/hadoop-${finalAttrs.version}-src.tar.gz";
+    hash = platformAttrs.${stdenv.system}.srcHash;
+  };
+  sourceRoot = "hadoop-${finalAttrs.version}-src/hadoop-yarn-project/hadoop-yarn/"
+               +"hadoop-yarn-server/hadoop-yarn-server-nodemanager/src";
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ openssl ];
+  cmakeFlags = [ "-DHADOOP_CONF_DIR=/run/wrappers/yarn-nodemanager/etc/hadoop" ];
+
+  installPhase = ''
+    mkdir $out
+    mv target/var/empty/local/bin $out/
+  '';
+
+  meta = with lib; {
+    homepage = "https://hadoop.apache.org/";
+    description = "Framework for distributed processing of large data sets across clusters of computers";
+    license = licenses.asl20;
+
+    longDescription = ''
+        The Hadoop YARN Container Executor is a native component responsible for managing the lifecycle of containers
+        on individual nodes in a Hadoop YARN cluster. It launches, monitors, and terminates containers, ensuring that
+        resources like CPU and memory are allocated according to the policies defined in the ResourceManager.
+    '';
+
+    maintainers = with maintainers; [ illustris ];
+    platforms = filter (strings.hasSuffix "linux") (attrNames platformAttrs);
+  };
+})