Usando Chispa con Colmena

Usando Chispa con Colmena

  • Orquestación
6 min de lectura Actualizado Sep 15, 2017

Puntos clave: El uso de Apache Spark con Hive mejora la velocidad de procesamiento de datos aprovechando las capacidades en memoria de Spark. La guía incluye los requisitos previos de instalación, pasos de configuración e instrucciones para ejecutar trabajos de Hive en Spark.

  • Los requisitos previos incluyen instalar Hive y Spark, y establecer variables de entorno.
  • Las instrucciones cubren la vinculación de archivos jar, el inicio de Spark y la ejecución de comandos Hive.

Aquí explicamos cómo utilizar Apache Spark con Hive. Eso significa que, en lugar de que Hive almacene datos en Hadoop, los almacena en Spark. La razón por la que la gente utiliza Spark en lugar de Hadoop están que están una base de datos totalmente de memoria. Así que los trabajos de Hive funcionarán mucho más rápido allí. Además, esto hace que los programadores usen una base de datos común si tu empresa usa principalmente Spark. También están posible escribir programas en Spark y utilizar esos para conectar datos a Hive, es decir, ir en la dirección opuesta. Pero ese no están un caso muy probable utiliza, como si te son usando Spark te ya hubiera aceptado la idea de usar RDDs (almacenamiento en memoria de Spark) en lugar de Hadoop. En fin, hablamos aquí de la primera opción.

Requisitos previos e instalación

  • te necesitas instala Colmena.
  • instala Apache Spark del código fuente (lo explicamos más abajo) para que te pueda tener ya una versión de Spark sin frascos Hive incluidos.
  • Establece HIVE_HOME y SPARK_HOME según corresponda.
  • instala Hadoop. No lo utiliza excepto el planificador de recursos de Yarn están ahí y los archivos jar. Pero Hadoop no necesita ejecutarse para utiliza Spark con Hive. Sin embargo, si te son ejecutando un clúster Hive o Spark, te puede utiliza Hadoop distribuya archivos jar a los nodos worker copiándolos al HDFS (Hadoop Distributed File System).

Las instrucciones aquí son para Spark 2.2.0 y Hive 2.3.0. Solo tienes que intercambiar los nombres de directorios y archivos jar de abajo para que coincidan con las versiones que te son usas. Ten en cuenta que cuando te buscar los archivos jar en Spark, en varios casos habrá más de una copia. utiliza las de la carpeta dist como se muestra abajo.) Primero te necesitas descargar el código fuente de Spark. te compilarlo así:

    ./dev/make-distribution.sh --name "hadoop2-without-hive" --tgz "-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided"

Próxima actualización /usr/share/spark/spark-2.2.0/conf/spark-env.sh y añadir:

    export SPARK_DIST_CLASSPATH=$(hadoop classpath)

Archivos Link Jar

Ahora Haz enlaces suaves a ciertos archivos de jar de Spark para que Hive pueda encontrarlos:

    ln -s /usr/share/spark/spark-2.2.0/dist/jars/spark-network-common_2.11-2.2.0.jar /usr/local/hive/apache-hive-2.3.0-bin/lib/spark-network-common_2.11-2.2.0.jar
ln -s /usr/share/spark/spark-2.2.0/dist/jars/spark-core_2.11-2.2.0.jar /usr/local/hive/apache-hive-2.3.0-bin/lib/spark-core_2.11-2.2.0.jar
ln -s /usr/share/spark/spark-2.2.0/dist/jars/scala-library-2.11.8.jar /usr/local/hive/apache-hive-2.3.0-bin/lib/scala-library-2.11.8.jar

Comienza Maestro y trabajador de la chispa:

Ahora Comienza Spark.

    $SPARK_HOME/sbin/start-all.sh

Haz un directorio que contenga archivos de registro:

    mkdir /var/log/spark

Edición $HIVE_HOME/conf/hive-site.xml:

    hive.execution.engine
spark


spark.master
spark://(your IP address):7077


spark.eventLog.enabled
true


spark.eventLog.dir
/var/log/spark


spark.executor.memory
2048m


spark.serializer
org.apache.spark.serializer.KryoSerializer

Run Hive

Ahora ejecuta Hive como se muestra a continuación. Nosotros son ejecutando en modo local en lugar de usar el clúster. Ten en cuenta que le decimos a Hive que registre los errores en la consola para poder Ve si algo falla. También ten en cuenta que utiliza Hive y no vamos directos, la nueva CLI de Hive. Hive quiere que sus usuarios utiliza Beeline, pero no están necesario. (Escribimos sobre cómo utiliza directo aquí.)

    hive --hiveconf hive.root.logger=INFO,console

Edita /usr/hadoop/hadoop-2.8.1/etc/hadoop/yarn-site.xml.

    yarn.resourcemanager.scheduler.class
org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.
FairScheduler

Crea algunos datos

Ahora Crea una tabla e inserta algunos datos. te que esperar un par de segundos después de te escribir un comando para que funcione, ya que usa Spark y Yarn. Recuerda que están diseñado para ejecutarse a través de un clúster.

    create table students (student string, age int);
insert into table students values('Walker', 33);

La pantalla se verá así:

Como tarda un tiempo en Obtén el trabajo, te tener tiempo para abrir la URL de Spark en el puerto 8080 para Ve programas en ejecución. Spark elimina esos datos cuando el trabajo termina, a menos que te ejecute el Servidor de Historial de Trabajos de Spark.

Ahora te son terminado.

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de Orquestación

¿Te interesa saber más de BMC?

El Brief están nuestro correo mensual sobre el mainframe y la orquestación empresarial: investigación, historias de clientes, noticias de productos, eventos.

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Tú te has suscrito a The Brief

El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.