Entorno de big data creado por Docker

El entorno de big data creado por Docker, inicio y parada con un clic, el
código no se mueve, el entorno primero

Soy un fan de Docker. Cuando estaba aprendiendo tecnologías relacionadas con big data, se me ocurrió una idea:

¡Cree un entorno de desarrollo de big data con Docker!
¿Cuáles son los beneficios de hacer esto?

Siempre que tenga este archivo de descripción de orquestación de contenedor docker-compose.yml, puedo iniciar mi entorno de big data en cualquier máquina donde esté instalado el software de la ventana acoplable.
Lo que se hace de una vez por todas, ¿no es el objetivo que los programadores hacemos todos los días y por el que nos esforzamos?

¿Cómo hacer?

Busqué en todos los blogs y publicaciones nacionales, pero no encontré una respuesta adecuada.
Solo puedo hacerlo yo mismo.

docker hub
Primero voy al docker hub. Esta es la versión docker de github.
Busqué muchas palabras clave como Hadoop, Spark, etc. y encontré una empresa;
Inserte la descripción de la imagen aquí

El entorno de big data creado por Docker, inicio y detención con un clic

Esta empresa convirtió casi todos los componentes de big data en una imagen de Docker. Y está muy detallado y dividido en roles. Es realmente genial.
Por ejemplo, la imagen que ve ahora es la imagen de la ventana acoplable que hizo para el rol de namenode en Hadoop. Será especialmente fácil si lo empaqueta y personaliza.

Así que busqué el componente de big data que quería en su Registro.

Hadoop
Hive
Spark
fácil, todo encontrado.

máquina virtual

Después del cableado, necesitamos instalar Docker en la máquina virtual.
¿Qué más necesita una máquina virtual?
Déjame hablar de ello. Instala una máquina virtual. Windows no es conveniente. (Los amigos de Mac pueden pasar).

Para la máquina virtual, uso virtual box y ubuntu instalado.
Luego comencé a instalar Docker.
Docker instalado también necesita instalar su hermano gemelo, docker-compose
Inserte la descripción de la imagen aquí

El entorno de big data creado por Docker, inicia y detiene con un clic
docker-compose.yml

docker-compose facilita la orquestación de contenedores docker.
docker-compose.yml registra cómo organizar el proceso. ¡Es un archivo de descripción!
¡El siguiente es el archivo docker-compose.yml de mi entorno de big data!


version: '2' 
services:
  namenode:
    image: bde2020/hadoop-namenode:1.1.0-hadoop2.8-java8
    container_name: namenode
    volumes:
      - ./data/namenode:/hadoop/dfs/name
    environment:
      - CLUSTER_NAME=test
    env_file:
      - ./hadoop-hive.env
    ports:
      - 50070:50070
      - 8020:8020  
  datanode:
    image: bde2020/hadoop-datanode:1.1.0-hadoop2.8-java8
    depends_on: 
      - namenode
    volumes:
      - ./data/datanode:/hadoop/dfs/data
    env_file:
      - ./hadoop-hive.env
    ports:
      - 50075:50075
  hive-server:
    image: bde2020/hive:2.1.0-postgresql-metastore
    container_name: hive-server
    env_file:
      - ./hadoop-hive.env
    environment:
      - "HIVE_CORE_CONF_javax_jdo_option_ConnectionURL=jdbc:postgresql://hive-metastore/metastore"
    ports:
      - "10000:10000"
  hive-metastore:
    image: bde2020/hive:2.1.0-postgresql-metastore
    container_name: hive-metastore
    env_file:
      - ./hadoop-hive.env
    command: /opt/hive/bin/hive --service metastore
    ports:
      - 9083:9083
  hive-metastore-postgresql:
    image: bde2020/hive-metastore-postgresql:2.1.0
    ports:
      - 5432:5432
    volumes:
      - ./data/postgresql/:/var/lib/postgresql/data
  spark-master:
    image: bde2020/spark-master:2.1.0-hadoop2.8-hive-java8
    container_name: spark-master
    ports:
      - 8080:8080
      - 7077:7077
    env_file:
      - ./hadoop-hive.env
  spark-worker:
    image: bde2020/spark-worker:2.1.0-hadoop2.8-hive-java8
    depends_on:
      - spark-master
    environment:
      - SPARK_MASTER=spark://spark-master:7077
    ports:
      - "8081:8081"
    env_file:
      - ./hadoop-hive.env
  mysql-server:
    image: mysql:5.7
    container_name: mysql-server
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=zhangyang517
    volumes:
      - ./data/mysql:/var/lib/mysql

  elasticsearch:
    image: elasticsearch:6.5.3
    environment:
      - discovery.type=single-node
    ports:
      - "9200:9200"
      - "9300:9300"
    networks: 
      - es_network
  kibana:
    image: kibana:6.5.3
    ports:
      - "5601:5601"
    networks: 
      - es_network

networks:
  es_network:
    external: true

Más tarde tuve que usar elasticsearch y kibana, así que los agregué directamente. Es realmente conveniente.
Lo más importante es que puede compartir fácilmente con sus amigos, buenos amigos.

A continuación, debemos escribir un script de inicio y un script de parada. De esta manera, se puede realizar el arranque y la parada con una sola tecla.
run.sh

#! / bin / bash

docker-compose -f docker-compose.yml up -d namenode hive-metastore-postgresql
docker-compose -f docker-compose.yml up -d datanode hive-metastore
sleep 5
docker-compose -f docker-compose.yml up -d hive-server
docker-compose -f docker-compose.yml up -d spark-master spark-worker
docker-compose -f docker-compose.yml up -d mysql-server
#docker-compose -f docker-compose.yml up -d elasticsearch
#docker-compose -f docker-compose.yml up -d kibana
my_ip=`ip route get 1|awk '{print $NF;exit}'`
echo "Namenode: http://${my_ip}:50070"
echo "Datanode: http://${my_ip}:50075"
echo "Spark-master: http://${my_ip}:8080"

stop.sh

#!/bin/bash
docker-compose stop

Mira el efecto:
Inserte la descripción de la imagen aquí

El entorno de big data creado por Docker tiene un inicio, una parada y un
inicio con un solo clic . Verificar
Inserte la descripción de la imagen aquíInserte la descripción de la imagen aquíInserte la descripción de la imagen aquí

Enlace original: https://www.toutiao.com/a6781686481690821132/?tt_from=weixin&utm_campaign=client_share&app=news_article&utm_source=weixin&iid=4309686640186884&utm_medium=toutiao_ios&w1xshare_article

Supongo que te gusta

Origin blog.csdn.net/weixin_43614067/article/details/108115988
Recomendado
Clasificación