26 octobre 2016 Sorties

Elasticsearch for Apache Hadoop 5.0.0

Par James Baiera

Elasticsearch pour Apache Hadoop, aussi connu sous le nom de ES-Hadoop, permet aux utilisateurs d’Hadoop et aux entreprises friandes de données d’augmenter leur productivité grâce à un moteur d’analyse et de recherche complet et opérant en temps réel. Et maintenant, voici venu le moment tant attendu. Roulement de tambour… Développeurs et spécialistes des données, je suis ravi de vous présenter Elasticsearch pour Apache Hadoop 5.0.0!

Après plusieurs versions préliminaires, une quantité impressionnante de commentaires publiés et une attente interminable, la voici enfin ! La Suite Elastic en est maintenant à la version 5.0 et elle franchit la ligne d’arrivée avec ES-Hadoop ! Cette version comporte un nombre conséquent d’améliorations en termes de stabilité, de correctifs et de nouvelles fonctions flambant neuves qui, nous l’espérons, vous plairont. Donc, sans plus tarder…

Quelles sont les nouveautés d’ES-Hadoop 5.0.0 ?

Renoncer pour mieux progresser

Parfois, il faut reculer pour pouvoir mieux avancer. Nous avons boosté les versions grâce à quelques intégrations, mais cela impliquait d’éliminer la prise en charge de certaines anciennes versions. Si vous utilisez encore d’anciennes versions, mieux vaut les mettre à jour avant de passer à ES-Hadoop 5.0.0 pour une compatibilité optimale.

Bonjour Hive 1.0, au revoir Hive 0.13 et 0.14

Hive 1.0 est sorti depuis un bon moment et la plupart des distributions l’ont déjà adopté. C’est pourquoi la prise en charge de Hive 0.13 et Hive 0.14 (deux versions infestées de problèmes) a été abandonnée, permettant ainsi le nettoyage du code.

Bonjour Storm 1.x, au revoir Storm 0.9

La prise en charge de Storm a été mise au niveau de 1.0.x. Comme cette version n’est pas rétrocompatible avec Storm 0.9.x, la prise en charge de ces anciennes versions a dû être abandonnée.

Bonjour Spark 2.0, au revoir Spark 1.0-1.2

Notre prise en charge de Spark a été mise à jour avec la version Spark 2.0 sortie récemment. Cette version de Spark n’est pas rétrocompatible avec les versions précédentes de Spark. Nous avons décidé de conserver la prise en charge de Spark 1.3-1.6 en tant que artifact à part. À l’origine, SparkSQL faisait partie de Spark 1.0-1.2 en tant que composant alpha. Depuis, SparkSQL est devenu stable dans Spark 1.3, mais l’API a beaucoup évolué. Prendre en charge trois versions très différentes de Spark était exagéré. C’est pourquoi la prise en charge de Spark 1.0-1.2 a été éliminée.

Repository HDFS

Le repository HDFS a été totalement remanié et fait désormais partie intégrante d’Elasticsearch. De fait nous l’avons éliminé du projet ES-Hadoop. Remarquez que le plugin HDFS dans Elasticsearch 5.0 n’est pas seulement pratique, il est aussi bien mieux intégré. Ces améliorations ont permis notamment d’éliminer le besoin de désactiver le « Security Manager » de la JVM, une option qui n’est même plus disponible.

(Hadoop/Spark) + l’API Slice = encore plus parallèle

Une modification importante a été apportée afin de prendre en charge l’utilisation de la nouvelle fonctionnalité Scroll Slicing d’Elasticsearch. Dorénavant, vous pouvez indiquer le nombre maximum de documents que vous souhaitez visualiser par tâche d’entrée, et le framework tentera de paralléliser la lecture. N’est-ce pas merveilleux le partage du travail ?

Ingest Node

Nous avons entendu parler de cette nouvelle fonction très sympa appelée Ingest Node disponible dans les versions alpha et maintenant dans Elasticsearch 5.0. Nous avons aussitôt pensé « Tiens donc, nous ingérons des trucs, le nœud ingère des trucs : il faut absolument qu’on déjeune ensemble pour parler affaires. » Grâce à la version ES-Hadoop 5.0, vous pouvez désormais spécifier un pipeline d’ingestion pour envoyer vos données vers les nœuds d’ingestion et ne cibler qu’eux afin d’éviter le trafic inutile. Nous attendons toujours votre réponse pour ce déjeuner, Ingest Node. Appelez-nous !

Prise en charge native pour Spark Streaming

Spark est plutôt rapide, mais parfois, nos données doivent aller encore plus vite. On était ravis d’apprendre que certains d’entre vous utilisent ES-Hadoop avec Spark Streaming, mais on s’est aussi senti mal en pensant aux limites auxquelles vous alliez être confrontés. Nous avons décidé de faire quelque chose pour ça. ES-Hadoop prend dorénavant en charge nativement la consommation de DStream depuis Spark Streaming ! Nous avons ajouté des correctifs pour le problème de Spark Streaming le plus souvent signalé, à savoir la pénurie de ressources de connexion lorsque vous avez peu de temps pour le traitement. Espérons que vos TIMED_WAIT soient peu nombreux et que les jobs Spark Streaming vivent longtemps et vivent heureux !

Un anti-bug efficace rapidement

Les ordinateurs sont difficiles. Nous remercions tous les jours notre bonne étoile pour notre communauté qui nous aide tellement en signalant les problèmes. Lorsque vous ouvrirez votre version d’ES-Hadoop, vous découvrirez qu’un correctif anti-bug tout neuf a déjà été intégré. Ces bugs peuvent être des problèmes rencontrés lors de l’écrasement des données avec SparkSQL, des fuites de mémoire dans le code réseau, des sous-champs de votre mapping appelés « properties », et bien d’autres. Si nous devions tous les énumérer, il n’y aurait plus de place pour quoi que ce soit d’autre ! Bravo à tous les chasseurs de bugs qui lisent ces lignes ! Cet anti-bug est pour vous.

Commentaires

Comme toujours, nous adorons savoir ce qui est réussi et ce qui doit être amélioré. Alors n’hésitez pas à nous écrire sur Twitter, GitHub ou sur le forum. Nos développeurs sont à l’écoute.

Remerciements spéciaux

L’équipe de ES-Hadoop voudrait remercier tous ceux qui ont adopté très rapidement les versions préliminaires, de nous avoir aidés ces derniers mois à tester les versions alpha et beta. 5.0 est la meilleure version possible, et c’est grâce à vous tous. Ne changez rien.