From 4707efa4121de2aa5b7dbe756097b7396c757b79 Mon Sep 17 00:00:00 2001 From: Ivan Ermilov Date: Mon, 15 Aug 2016 11:51:38 +0200 Subject: [PATCH] added healthchecks based on http requests to WebGUI --- README.md | 4 +++ datanode/Dockerfile | 2 ++ docker-compose-local.yml | 67 ++++++++++++++++++++++++++++++++++++++ historyserver/Dockerfile | 2 ++ namenode/Dockerfile | 2 ++ nodemanager/Dockerfile | 2 ++ resourcemanager/Dockerfile | 2 ++ 7 files changed, 81 insertions(+) create mode 100644 docker-compose-local.yml diff --git a/README.md b/README.md index c30b936..94195c6 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +# Changes + +Version 1.1.0 introduces healthchecks for the containers. + # Hadoop Docker To deploy an example HDFS cluster, run: diff --git a/datanode/Dockerfile b/datanode/Dockerfile index 44bc712..60e34f3 100644 --- a/datanode/Dockerfile +++ b/datanode/Dockerfile @@ -1,6 +1,8 @@ FROM bde2020/hadoop-base:1.0.0 MAINTAINER Ivan Ermilov +HEALTHCHECK CMD curl -f http://localhost:50075/ || exit 1 + ENV HDFS_CONF_dfs_datanode_data_dir=file:///hadoop/dfs/data RUN mkdir -p /hadoop/dfs/data VOLUME /hadoop/dfs/data diff --git a/docker-compose-local.yml b/docker-compose-local.yml new file mode 100644 index 0000000..80b37bf --- /dev/null +++ b/docker-compose-local.yml @@ -0,0 +1,67 @@ +namenode: + build: ./namenode + hostname: namenode + container_name: namenode + net: hadoop + volumes: + - ./data/namenode:/hadoop/dfs/name + environment: + - CLUSTER_NAME=test + env_file: + - ./hadoop.env + +resourcemanager: + build: ./resourcemanager + hostname: resourcemanager + container_name: resourcemanager + net: hadoop + env_file: + - ./hadoop.env + +historyserver: + build: ./historyserver + hostname: historyserver + container_name: historyserver + net: hadoop + volumes: + - ./data/historyserver:/hadoop/yarn/timeline + env_file: + - ./hadoop.env + +nodemanager1: + build: ./nodemanager + hostname: nodemanager1 + container_name: nodemanager1 + net: hadoop + env_file: + - ./hadoop.env + +datanode1: + build: ./datanode + hostname: datanode1 + container_name: datanode1 + net: hadoop + volumes: + - ./data/datanode1:/hadoop/dfs/data + env_file: + - ./hadoop.env + +datanode2: + build: ./datanode + hostname: datanode2 + container_name: datanode2 + net: hadoop + volumes: + - ./data/datanode2:/hadoop/dfs/data + env_file: + - ./hadoop.env + +datanode3: + build: ./datanode + hostname: datanode3 + container_name: datanode3 + net: hadoop + volumes: + - ./data/datanode3:/hadoop/dfs/data + env_file: + - ./hadoop.env diff --git a/historyserver/Dockerfile b/historyserver/Dockerfile index 358fad8..ae60640 100644 --- a/historyserver/Dockerfile +++ b/historyserver/Dockerfile @@ -1,6 +1,8 @@ FROM bde2020/hadoop-base:1.0.0 MAINTAINER Ivan Ermilov +HEALTHCHECK CMD curl -f http://localhost:8188/ || exit 1 + ENV YARN_CONF_yarn_timeline___service_leveldb___timeline___store_path=/hadoop/yarn/timeline RUN mkdir -p /hadoop/yarn/timeline VOLUME /hadoop/yarn/timeline diff --git a/namenode/Dockerfile b/namenode/Dockerfile index ee947bf..641b864 100644 --- a/namenode/Dockerfile +++ b/namenode/Dockerfile @@ -1,6 +1,8 @@ FROM bde2020/hadoop-base:1.0.0 MAINTAINER Ivan Ermilov +HEALTHCHECK CMD curl -f http://localhost:50070/ || exit 1 + ENV HDFS_CONF_dfs_namenode_name_dir=file:///hadoop/dfs/name RUN mkdir -p /hadoop/dfs/name VOLUME /hadoop/dfs/name diff --git a/nodemanager/Dockerfile b/nodemanager/Dockerfile index a026fd1..3411b63 100644 --- a/nodemanager/Dockerfile +++ b/nodemanager/Dockerfile @@ -1,6 +1,8 @@ FROM bde2020/hadoop-base:1.0.0 MAINTAINER Ivan Ermilov +HEALTHCHECK CMD curl -f http://localhost:8042/ || exit 1 + ADD run.sh /run.sh RUN chmod a+x /run.sh diff --git a/resourcemanager/Dockerfile b/resourcemanager/Dockerfile index a026fd1..13486da 100644 --- a/resourcemanager/Dockerfile +++ b/resourcemanager/Dockerfile @@ -1,6 +1,8 @@ FROM bde2020/hadoop-base:1.0.0 MAINTAINER Ivan Ermilov +HEALTHCHECK CMD curl -f http://localhost:8088/ || exit 1 + ADD run.sh /run.sh RUN chmod a+x /run.sh