14
Dans un précédent post, nous avions vu les grands concepts d’Hadoop (cf. http://www.opensides.fr/2011/03/10/hadoop-en-moins-de-5-minutes). Aujourd’hui nous allons consacrer 5 nouvelles minutes avec Hadoop pour passer à la pratique.
Les objectifs:
Monter un environnement opérationnel en moins de 2 minutes
Tour d’horizon de Cloudera en 1 minute
Tester quelques commandes HDFS en 1 minute
Tester un Map Reduce en 1 minute
Monter un [...]
10
Dans ce tutorial, nous allons découvrir Hadoop au travers de son système de fichiers distribués et son mécanisme de Map/Reduce.
Objectifs
Comprendre les grands concepts de Hadoop
Comprendre le HDFS et le mécanisme de Map/Reduce
2 minutes 30 pour comprendre les grands concepts
Hadoop est un projet Open Source écrit en java, distribué par la fondation Apache. Ce [...]
20
Dans cet article nous allons faire la connaissance rapide des serveurs web asynchrones. Le but de ce post est de vous faire découvrir cette nouvelle génération de serveur en montrant comment installer et configurer de façon basique celui qui me semble le plus aboutit et le plus performant. Nous verrons plus tard tirer profit de [...]
02
Tout le monde connaît Memcached ? Non ?
Memcached est un cache Open Source distribué et non répliqué. Cela veut dire que que nous pouvons utiliser plusieurs instances de Memcached mais que chaque instance est autonome. Si l’une d’elle tombe, ses données seront donc perdues (pas de réplication entre instance).
Pour aller plus loin, je vous conseille [...]
03
Dans cet article nous allons voir comment apporter très facilement une solution de haute disponibilité à une application avec HAProxy.
Quelques définitions
Haute disponibilité (cf. wikipedia)
La haute disponibilité est un terme souvent utilisé en informatique, à propos d’architecture de système ou d’un service pour désigner le fait que cette architecture ou ce service a un taux de [...]
23
La théorie
Parlons un peu de SEDA…
Bon encore un vague acronyme…Ça veut dire quoi au fait ? Staged Event Driven Architecture.
OK, encore un nouveau paradigme dans la mouvance DDD, TDD, MDA … ? Ben pas vraiment nouveau en fait, ça fait 10 ans que ça existe et c’est Matt Welsh qui lance le mouvement dans la [...]
25
Introduction
Une architecture SOA a pour principe d’exposer un ensemble de services à destination des utilisateurs. Ces services peuvent éventuellement être relayés par ces mêmes utilisateurs qui peuvent les décorer de nouvelles fonctionnalités. Un des facteurs critique de ce genre d’architecture est la «scalabilité». C’est à dire que le système doit pouvoir répondre linéairement à une [...]
01
Quelques clics sur Wordpress et hop un nouveau blog voit le jour.
Maintenant il va falloir alimenter le nouveau venu avec quelques articles.
L’objectif sera de présenter quelques tutoriauxs, et de faire part de réflexions autour de l’actualité Java EE.
A bientôt !
01
Rendez-vous sur le site du paris JUG pour vous inscrire: http://www.parisjug.org/xwiki/bin/view/Meeting/20090210
05
1/ Verify CPU, I/O overconsumption, and memory leak:
CPU: Check processor load servers with top
I/O: Check I/O with Visual VM
Memory: Check GC activity of differents JVM with Visual VM, JConsole, heap dump, MAT
-> These 3 points are used to identify programming errors leading to excessive consumption of CPU and I / O, the infinite loop and memory-leaks.
2/ Check [...]
05
1/ JVM instrumentation(add JVM option)
-Xdump:java+heap+system+snap:events=user,request=exclusive+prepwalk
2/ Find java process (PID)
ps aux | grep java
or
ps auxwww | grep java
or
jps -v | grep -iv jps
3/ Trigger heap dump in hprof format
jmap -dump:format=b,file=dump.hprof <PID>
4/ Analyze dump with MAT
(cf. download Eclipse Memory Analyzer http://www.eclipse.org/mat/downloads.php)
File->Open Heap Dump …
5/ Analyze dump with jhat
>launch jhat on heap dump:
jhat dump.hprof
>go to http://localhost:7000/
08
What is a memory leak ?
A « memory leak » (cf. http://en.wikipedia.org/wiki/Memory_leak) is a situation when program is unable to release memory it has acquired. It happens when objects are hard referenced by other objects so that JVM can’t release them.
Example
public class MemoryLab {
//a collection (a business cache for example)
static HashSet<Integer> aCache = new HashSet<Integer>();
public static [...]
12
Le principe de l’architecture REST repose sur l’utilisation du protocole http en tirant partie de son enveloppe et de ses en-tête sans ajout de surcouche. Ce paradigme d’architecture se veut parfaitement stateless et laisse donc le soin au client de gérer les sessions (cf. http://fr.wikipedia.org/wiki/Representational_State_Transfer)
Dans cet article nous présupposons que ce type architecture est en [...]
20
La Java Virtual Machine (abrégé JVM, en français machine virtuelle Java), bien connu des développeurs Java, permet d’interpréter et d’exécuter le bytecode. L’intérêt de la JVM est de permettre la portabilité des langages qu’elle supporte, c’est à dire qu’elle permet leur fonctionnement sur n’importe quelle plateforme.
Comment elle fonctionne précisément ?
Les différentes zones mémoires
Voici l’aperçu d’un [...]
21
The Java Virtual Machine (JVM Short, French JVM), well known to Java developers, can interpret and execute the bytecode. The interest of the JVM is to enable the portability of languages it supports, ie, it allows them to operate on any platform.
How it works exactly?
The different memory areas
Here is an overview of JVMs (Sun HotSpot):
We [...]
27
The Thread Dump is a photograph taken at T time of all threads acyivity in the application server. They are displayed one after the other as a stack trace. This photograph of the JVM state allow us to analyze the deadlock between threads.
1/ Find java process (PID)
ps aux | grep java
or
ps auxwww | grep java
or
jps -v [...]
26
Dans un post précédent, nous avons vu le fonctionnement de la JVM (cf. http://www.opensides.fr/?p=271). Aujourd’hui nous allons voir à quoi sert la zone PermGen et surtout comment éviter les erreurs de type PermGen OutOfMemory..
C’est quoi la PermGen ?
La PermGen est un segment de mémoire dans laquelle sont stockés le bytecode et les type primitifs lors [...]
21
Software development is based on resources. This may be of different nature (processor, memory, I / o). One of the challenges of software development is to understand the management of these resources to optimize the performance of our applications.
Here is a small synthetical post on hardware resources of a system microprocessor.
* The processor (CPU) is [...]