Instalación cluster local de Spark

Primera chuleta de spark. Empezaremos por la instalación de cluster de spark en standalone, sin usar YARN o Messsos.

Primer paso, crear y configurar las máquinas. Yo voy a usar tres centos creados en virtualBox. Las IPs serán 192.168.1.220, 221 y 222, y las llamaré spark1, spark2 y spark3, en un alarde de imaginación. Una vez creadas, permitimos login sin password mediante SSH desde spark1, que será el master, a las otras dos máquinas y a ella misma, ya que vamos a incluir un esclavo en el master. Puedes ver cómo hacerlo en el artículo SSH sin passwords.

Segundo paso, descargar spark, en mi caso la versión 2.0.2 con Hadoop 2.7. No vamos a usar Hadoop, pero las descargas siempre vienen con esa posibilidad. La descarga va a ir a una carpeta compartida con las máquinas virtuales de virtualBox, Una vez descargado, lo descomprimo en las máquinas en /opt. Para ello, ejecuto:

cd /opt

tar xfvz /media/sf_shared/spark-2.0.2-bin-hadoop2.7.tgz

ln -s spark-2.0.2-bin-hadoop2.7 spark

Por último, configuramos el cluster. Esta parte es tan simple como copiar el fichero slaves.template a slaves en /opt/spark/conf:

[root@spark1 conf]# pwd
/opt/spark/conf
[root@spark1 conf]# cp /opt/spark/conf/slaves.template /opt/spark/conf/slaves

Ahora editamos el fichero slaves e incluimos la lista de servidores donde se arrancarán los esclavos:

#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# A Spark Worker will be started on each of the machines listed below.
spark1
spark2
spark3

Con esto tenemos el cluster montado. Sólo nos queda arrancarlo, ejecutando:

/opt/spark/sbin/start-all.sh

y pararlo con

/opt/spark/sbin/stop-all.sh

Con el master y los esclavos arrancados tenemos acceso a a consola del master en el puerto 8080 y a los tres esclavos en el 8081:

consolamaster

consolaesclavo

http://spark.apache.org/docs/latest/spark-standalone.html

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *