Le Rayon UX

La radiographie du Web en temps presque réel / thème en chantier (je m'appelle Teuse)

Systèmes et réseaux

Déployer ElasticSearch sur plusieurs réseaux avec des restrictions et sans se prendre la tête

Une fois n’est pas coutume, un article vraiment technique, et sans troll. J’ai récemment du déployer un cluster ElasticSearch dans un environnement un peu particulier : chacune des machines était connectée à Internet, avec plusieurs interfaces réseau, et un certain nombre de contraintes et restrictions :

  • eth0 : IP externe écoutant sur Internet, avec des règles de Firewall pour bloquer les ports 9200 et 9300.
  • eth1 : IP RFC 1918.
  • lo:0 : IP RFC 1918, la même sur tous les noeuds pour de l’IPVS (load balancing et fail over).

Difficultés rencontrées

Les difficultés étaient principalement dues à ElasticSearch lui-même, pas vraiment fait pour tourner sur un tel setup.

  1. Par défaut, ElasticSearch écoute sur eth0 si l’interface existe et est activée. Couper l’interface, lancer ElasticSearch puis activer l’interface va juste tout foutre en l’air. Utiliser la configuration réseau par défaut et mettre des règles iptables aura un effet catastrophique.
  2. Vous ne pouvez pas dire à ElasticSearch d’écouter sur une liste d’interfaces ou d’IPs, c’est tout ou rien.

Configuration

Nous utilisons de l’unicast avec une liste de serveurs prédéfinie afin d’éviter à ElasticSearch de s’intéresser de près ou de loin à eth0. C’est moins bien en termes de dimensionnement, si quelqu’un a une meilleure solution, je suis évidemment preneur.

"discovery": {
  "zen": {
    "ping": {
      "multicast": {
        "enabled": false
      },
      "unicast": {
        "hosts": ["es1", "es2", "es3"]
      }
    }
  }
},

Nous indiquons ensuite à ElasticSearch d’utiliser eth1 comme adresse de publication dans le cluster, en IPv4 uniquement (ou avec de l’IPv6 si ça vous chante, mais je n’en avais pas besoin).

"network" : {
  "publish_host": "_eth1:ipv4_"
},

On fait pareil avec l’adresse de transport :

"transport" : {
  "host": "_eth1:ipv4_"
},

Ce setup permet à l’interface REST d’ElasticSearch d’être accessible de partout, tout en limitant les adresses de transport et de publication aux adresses souhaitées.

Published on 10/01/2012 at 20h33 under . Labels , , ,

Les noms de domaine en .42 bien partis pour gagner la palme d'or de la connerie 2010

Annoncée en grande pompes à la fin du mois de décembre, l’expérience .42 est une des plus belles conneries depuis l’invention du parcmètre. Je résume pour ceux qui auraient eu la chance de passer toutes les vacances de Noël en hibernation : de grands noms du logiciel libre français ont eu l’excellente idée de lancer un nouveau TLD réservé aux contenus libres et non commerciaux, le .42, afin de créer un espace de liberté au sein du Web mercantile. Tout le monde a trouvé merveilleux ce qui est une bêtise monumentale et accessoirement une des plus belles preuves de fermeture d’esprit que j’aie vue depuis bien longtemps.

Published on 27/12/2010 at 08h05 under .

13 applications Mac OS X indispensables à vous offrir pour Noël

Noël approche, les vacances sont là – au moins ici. C’est pour moi l’occasion de publier des articles un peu plus légers que d’habitude, et pour vous l’occasion de gâter un peu ce Mac qui vous sert fidèlement tout au long de l’année. Nouveaux arrivants sous l’OS à la pomme, c’est l’occasion de découvrir des applications gratuites et payantes qui vous permettront de tirer profit de votre système au maximum. Bien qu’utilisant un maximum d’applications Web plus pratiques pour passer de mon Mac Mini à mon MacBook Pro et vice versa, certaines applications natives me sont toujours indispensables. Présentées par ordre alphabétique, la très grande majorité sont spécifiques à Mac OS X, mais d’autres existent également sur d’autres systèmes d’exploitation moins intéressants©.

Published on 21/12/2010 at 03h16 under .

Installer Ruby on Rails 3 sans peine et sans dangers sous Mac OS X

Avec la sortie de la bêta de Ruby on Rails 3.0, il est temps de commencer à porter doucement vos applications vers cette nouvelle version majeure de votre framework web favori. Parce que Ruby on Rails 3.0 ne supporte plus les versions de Ruby antérieures à la 1.8.7, l’installer risque fort de casser votre environnement de développement habituel.
Avec ce didacticiel, je vous propose d’installer Ruby, Rails et leurs dépendances parallèlement à votre environnement de développement habituel afin de ne courir aucun risque. Notez que s’il a été écrit spécifiquement pour Mac OS X, il est à priori également valable sous la majorité des UNIX.

Published on 06/02/2010 at 13h32 under . Labels , , , , , , ,

Le bug de l'an 2010 de Spamassassin : tous vos mails sont maintenant du spam

Via Olivier, je viens de découvrir que Spamassassin, l’outil anti spam open source le plus populaire au monde, considérait tous les mails envoyés en 2010 comme étant plus que probablement du spam. Spamassassin leur rajoute systématiquement 3.2 points, la limite basse pour qu’un mail soit considéré comme spam étant à 5.

Published on 01/01/2010 at 15h22 under . Labels , , , , ,

Comment eBay a dimensionné un site d'e-commerce à l'échelle de la planète

Randy Shoup, architecte chez eBay a récemment publié eBay’s Challenges and Lessons from Growing an eCommerce Platform to Planet Scale (Les défis relevés et leçons retenues par eBay dans la création d’un site d’e-commerce à l’échelle planétaire) dont je vous recommande chaudement la lecture. Il s’agit d’une présentation, chiffres à l’appui, des méthodes mises en places par eBay pour supporter une impressionnante architecture devant supporter aussi bien le trafic quotidien du site que tout l’historique de ses données.

Published on 28/11/2009 at 19h44 under . Labels , ,

Un script de backup pour votre serveur

J’ai enfin mis en place sur mon serveur un script de sauvegarde correct. Il exporte les bases de données dans des fichiers séparés et datés, avant de les envoyer sur rsync.net, un service de sauvegardes externalisé utilisant rsync, scp ou sftp au choix. C’est cette première solution que j’ai choisie.

Published on 21/07/2009 at 09h44 under . Labels , ,

Utiliser Hotmail en POP3 depuis votre iPhone, Mac OS X et Linux

La grande nouvelle du jour, laquelle fera, n’en doutons pas, la une de tous les quotidiens de France et de Navarre, c’est l’adoption du protocole POP3 par Hotmail, le service de messagerie bien connu de Microsoft. Les utilisateurs d’Hotmail souhaitant utiliser un autre client qu’Outlook Express pourront désormais relever leur courrier électronique Hotmail directement depuis leur iPhone, Mail.app sous Mac OS X et même Linux.

Published on 14/01/2009 at 12h04 under . Labels , , , , ,

L'upgrade d'iPhone au firmware 2.0 avec jailbreak et desimlockage pour les nuls

Si comme moi vous possédez un iPhone première génération jailbreaké et désimlocké, que ce soit parce que vous ne pouviez pas attendre la sortie officielle ou pour profiter des applications tierces, peut-être êtes-vous frustré de ne pouvoir profiter des nouveautés de l’OS fourni avec l’iPhone 3G. Qu’à cela ne tienne, la dev team a travaillé pour vous et a sorti hier le Pwnage tool, qui permet de s’attaquer aux iPhones et iPhone 3G – malheureusement sans desimlockage – mais également aux iPod Touch.

Finie la ligne de commande et les manipulations compliquées, cette fois tout se fait nativement en graphique et en quelques étapes.

Published on 21/07/2008 at 12h10 under . Labels , , , , ,

Sortie de mod_rails 2.0.2 qui corrige une importante fuite de mémoire

Pas de repos pour les braves en ce 14 juillet – normal il est hollandais, il n’en a donc pas grand chose à faire – puisque Hongli Lai vient d’annoncer la sortie de Passenger mod_rails 2.0.2, qui corrige un certain nombre de bugs critiques. Passenger est un module Apache qui rend le déploiement d’une application Ruby on Rails, mais pas seulement, aussi simple qu’un site en PHP, retirant la principale épine du pied de mon framework web favori.

Cette nouvelle version de Passgenger corrige en particulier une importante fuite de mémoire qui survenait chaque fois qu’un client web quittait le ApplicationPoolServerExecutable. Celle-ci, après avoir mis le serveur à genoux et rendu le site indisponible pendant un week-end entier m’avait finalement forcé à downgrader en 1.0.5 nettement plus stable.

Et comme une bonne nouvelle n’arrive jamais seule, cette version arrive avec un paquet Ubuntu tout chaud.

Published on 14/07/2008 at 13h07 under . Labels , , , , , , , , ,