Red de conocimiento informático - Material del sitio web - Cómo construir rápidamente un clúster Hadoop de múltiples nodos basado en Docker

Cómo construir rápidamente un clúster Hadoop de múltiples nodos basado en Docker

1. Extraiga la imagen

sudo docker pull index.alauda.cn/kiwenlau/hadoop-master:0.1.0 sudo docker pull index.alauda.cn/kiwenlau/ Hadoop-slave:0.1.0 sudo docker pull index.alauda.cn/kiwenlau/hadoop-base:0.1.0 sudo docker pull index.alauda.cn/kiwenlau/serf-dnsmasq:0.1.0

3~5 minutos OK~ También puedes extraer directamente del almacén de My DokcerHub extrae el mapa, por lo que puede omitir el paso 2:

sudo docker pull kiwenlau/Hadoop-master:0.1.0 sudo docker pull kiwenlau/Hadoop-slave:0.1.0 sudo docker pull kiwenlau/ Hadoop-base:0.1.0 sudo docker pull kiwenlau/serf-dnsmasq:0.1.0

Ver la imagen descargada:

imagen de sudo docker

Resultados de la ejecución:

La imagen base de hadoop se basa en la imagen serf-dnsmasq, y la imagen esclava de hadoop y la imagen maestra de hadoop se basan en la imagen base de hadoop. Entonces, en realidad cuatro imágenes a * * son 777,4 MB.

2. Modificar la etiqueta de la imagen

sudo docker tag d 63869855 c 03 kiwenlau/Hadoop-slave:0.1.0 sudo docker tag 7 c9d 32 ede 450 kiwenlau/Hadoop-master: 0.1 .0 sudo docker tag 5571 BD 5 de 58 e kiwenlau/Hadoop-base:0.1 sudo docker tag 09 ed 89 c 24 ee 8

Para ver la imagen después de modificar la etiqueta:

sudo docker image

Resultados de la ejecución:

La razón por la que quiero modificar la imagen es porque la subo a Dockerhub de forma predeterminada, por lo que el nombre de la imagen en Dokerfile y El script de shell no tiene el prefijo alauada. Lo siento... pero la etiqueta cambió rápidamente. Si descargas mis imágenes directamente desde DockerHub, naturalmente no necesitas modificar las etiquetas... pero la velocidad de descarga de las imágenes de Alauda es muy rápida~

Descargar código fuente

git clone/kiwenlau/Hadoop -cluster-docker

Para evitar que GitHub sea XX, importé el código al repositorio Git chino de código abierto:

git clone 172.17.0.65 :7946 livingslave 1. kiwenlau.com 172.17.0.66:7946aliveslave2.kiwenlau.com 172.17.0.67:7946alive

Si al resultado le faltan nodos, puede esperar un rato antes de ejecutar los "miembros siervos" dominio. Porque el agente siervo necesita tiempo para descubrir todos los nodos.

Prueba ssh:

Song Seung-heonslave2.kiwenlau.com

Resultado de la ejecución:

Advertencia: "slave2.kiwenlau. com ha sido eliminado", 172.17.0.67" (ECD sa) se agrega permanentemente a la lista de hosts conocidos.

Bienvenido a Ubuntu 15.04 (GNU/Linux 3.13.0-53-generic x86_64)*Documentación:/ Los programas incluidos con el sistema Ubuntu son software gratuito los términos de distribución exactos para cada programa se encuentran en /usr/share/doc/*/; Hay descripciones en cada archivo en los derechos de autor. En la medida en que lo permita la ley aplicable, Ubuntu renuncia a todas las garantías. root@slave2:~#

Salir del esclavo 2:

Salir

Resultado de la ejecución:

Cerrar la conexión con esclavo2.kiwenlau. conexión para cerrar sesión en com.

Si ssh falla, espere un momento antes de volver a realizar la prueba, ya que el servidor dns de dnsmasq tarda un tiempo en iniciarse. Una vez que la prueba sea exitosa, ¡puede iniciar el clúster de Hadoop! De hecho, ¡puede esperar pacientemente un minuto después de abrir el contenedor sin realizar pruebas!

6.Abre Hadoop

. /start-hadoop.sh

Después de ssh a esclavo2 en el paso anterior, ¡recuerde regresar al maestro! Hay demasiados resultados en ejecución, ignórelos. La velocidad de inicio de Hadoop depende del rendimiento de la máquina. ....

7. Ejecutar recuento de palabras

. /run-wordcount.sh

Resultados de la ejecución:

Archivo de entrada 1.txt: Hola Archivo de entrada Hadoop 2.txt: Hola Salida del recuento de palabras de Docker: Docker 1 Hadoop 1 Hola 2< / p>

La velocidad de ejecución del recuento de palabras depende del rendimiento de la máquina. ....