Research Article

A Microservice-Based Big Data Analysis Platform for Online Educational Applications

Algorithm 1

JupyterHub-docker-compose-example.yml.
version: ‘3'
services:
 hub-db:
  image: postgres
  container_name: Jupyterhub-db
  restart: always
  env_file:
   -Jupyterhub/secrets/postgres.env
  volumes:
   –“db : ${DB_VOLUME_CONTAINER}”
 hub:
  depends_on:
   –hub-db
  build:
   context:./Jupyterhub
   dockerfile: Dockerfile
   args:
   Jupyterhub_VERSION: ${Jupyterhub_VERSION}
  restart: always
  image: Jupyterhub
  container_name: Jupyterhub
  ports:
   –“443:443”
   –“7070:7070”
  links:
   -hub-db
  env_file:
   -Jupyterhub/secrets/postgres.env
   -Jupyterhub/secrets/oauth.env
 command: >
  Jupyterhub-f/srv/Jupyterhub/Jupyterhub_config.py
 spark-master:
 build:
   context: /spark-master
   dockerfile: Dockerfile
 image: spark-master
 container_name: spark-master
 hostname: spark-master
 ports:
   –“8585 : 8080”
   –“7077 : 7077”
 volumes:
   -/mnt/spark-apps : /opt/spark-apps
   -/mnt/spark-data : /opt/spark-data
 spark-worker-1:
 spark-worker-2:
 spark-worker-3:
 namenode:
  image: hadoop-namenode : 2.0.0-hadoop3.1.1-java8
  container_name: namenode
 volumes:
   -“namenode:/hadoop/dfs/name”
 env_file:
   -/hadoop.env
 datanode:
  image: hadoop-datanode : 2.0.0-hadoop3.1.1-java8