CESI: Intro Big Data, biblio + environnement démo Hadoop

This commit is contained in:
wpetit 2018-08-24 17:16:57 +02:00
parent 37fccd7d8c
commit a29c349d75
9 changed files with 250 additions and 5 deletions

View File

@ -9,18 +9,124 @@ William Petit - S.C.O.P. Cadoles
---
<!-- page_number: true -->
## À la recherche d'une définition ?
---
## Vocabulaire
---
## Historique
### Qu'est ce qu'une "donnée" ?
> Une donnée est une description élémentaire dune réalité. Cest par exemple une observation ou une mesure. [...]
>
> Elle est dépourvue de tout raisonnement, supposition, constatation, probabilité.
>
> -- [Wikipédia](https://fr.wikipedia.org/wiki/Donn%C3%A9e)
**Exemples**
- Température = 25°C
- Total de personnes dans la salle = 10
---
## Facettes
### Qu'est ce qu'une "information" ?
> Une information est une interprétation contextualisée d'une donnée ou d'un ensemble de données. Elle est porteuse de "sens".
**Exemple**
- Température = 25°C -> Il fait chaud
- Total de personnes dans la salle = 10 -> C'est un petit groupe
---
## Contexte et définitions
---
### Historique
- Première mention du terme en 1997
- Issue des réflexions liées à l'explosion de la génération et l'usage des données
- Une définition aux contours flous
---
### 3 caractéristiques de la problématique
---
### Volume
<p style="text-align:center">
<img style="width:80%" src="img/The-total-amount-of-data-generated-on-earth-exceeded-one-zettabyte-in-2010It-is.png">
</p>
[Zaslavsky, Arkady & Perera, Charith & Georgakopoulos, Dimitrios. (2012). Sensing as a Service and Big Data. CoRR, abs/1301.0159.](https://www.researchgate.net/publication/234017925_Sensing_as_a_Service_and_Big_Data)
---
### Vitesse
---
### Variété
---
## Aperçu technique des solutions
---
### Stockage des données
---
### Présentation d'Apache Hadoop et HDFS
---
### Traitement des données
---
#### Le modèle "MapReduce"
---
### Présentation d'Apache Spark et Apache Storm
---
## Bases de données "NoSQL"
---
### Base de donnée orientée clé/valeur
---
### Base de données orientée document
---
### Base de données orientée colonne
---
### Base de données orientée graphe
---
#### Exemple avec le projet Cayley
---
## Exploitation des données et cadre légal
---
### Qu'est ce qu'une données à caractère personnel ?
---
### Le RGPD

View File

@ -3,7 +3,7 @@
- [Wikipédia - MapReduce](https://fr.wikipedia.org/wiki/MapReduce)
- [Wikipédia - Big Data](https://fr.wikipedia.org/wiki/Big_data)
- [Les 3V du Big Data](https://www.journaldunet.com/solutions/expert/51696/les-3-v-du-big-data---volume--vitesse-et-variete.shtml)
- [Bases de données orientées colonnes](http://www.timestored.com/time-series-data/what-is-a-column-oriented-database)
- [Apache Hadoop](https://hadoop.apache.org/)
- [Apache Storm](https://storm.apache.org/)
- [Apache Spark](https://spark.apache.org/)

View File

@ -0,0 +1,12 @@
# Hadoop - Docker
Une instance de démonstration Hadop/Yarn sous forme d'environnement Docker-Compose.
## Démarrage
```bash
docker-compose up
```
- Interface Hadoop: http://localhost:8088/
- Interface HDFS: http://localhost:9870/

View File

@ -0,0 +1,41 @@
FROM ubuntu:bionic
ARG DEBIAN_FRONTEND=noninteractive
ARG HADOOP_VERSION=3.1.1
RUN apt-get update -y &&\
apt-get install -y ssh rsync openjdk-8-jdk-headless supervisor
RUN wget -O- http://apache.mediamirrors.org/hadoop/common/hadoop-$HADOOP_VERSION/hadoop-$HADOOP_VERSION.tar.gz > hadoop-$HADOOP_VERSION.tar.gz &&\
tar -xzf hadoop-$HADOOP_VERSION.tar.gz &&\
rm -f hadoop-$HADOOP_VERSION.tar.gz &&\
mkdir -p /opt &&\
mv hadoop-$HADOOP_VERSION /opt/hadoop
WORKDIR /opt/hadoop
ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
COPY ./conf/core-site.xml etc/hadoop/core-site.xml
COPY ./conf/hdfs-site.xml etc/hadoop/hdfs-site.xml
RUN mkdir -p /var/log/hadoop &&\
mkdir -p /run/sshd
RUN echo "export JAVA_HOME=$JAVA_HOME" >> etc/hadoop/hadoop-env.sh && \
echo "export HDFS_DATANODE_USER=root" >> etc/hadoop/hadoop-env.sh && \
echo "export HDFS_NAMENODE_USER=root" >> etc/hadoop/hadoop-env.sh && \
echo "export HDFS_SECONDARYNAMENODE_USER=root" >> etc/hadoop/hadoop-env.sh && \
echo "export YARN_RESOURCEMANAGER_USER=root" >> etc/hadoop/yarn-env.sh && \
echo "export YARN_NODEMANAGER_USER=root" >> etc/hadoop/yarn-env.sh && \
echo "PATH=$PATH:$HADOOP_HOME/bin" >> ~/.bashrc
RUN ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa &&\
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys &&\
chmod 0600 ~/.ssh/authorized_keys
COPY ./conf/supervisor.ini /etc/supervisor.d/hadoop.ini
EXPOSE 9870 8088
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor.d/hadoop.ini"]

View File

@ -0,0 +1,6 @@
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

View File

@ -0,0 +1,6 @@
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

View File

@ -0,0 +1,66 @@
[supervisord]
nodaemon=true
[program:sshd]
command = /usr/sbin/sshd -o PermitRootLogin=yes -D
directory = /
user = root
autostart = true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
priority = 0
[program:namenode-format]
command = bin/hdfs namenode -format
directory = /opt/hadoop
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
autostart = true
priority = 10
[program:namenode]
command = bin/hdfs --config etc/hadoop namenode
directory = /opt/hadoop
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
autostart = true
priority = 20
[program:datanode]
command = bin/hdfs --config etc/hadoop datanode
directory = /opt/hadoop
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
user = root
autostart = true
priority = 30
[program:resourcemanager]
command = bin/yarn --config etc/hadoop resourcemanager
directory = /opt/hadoop
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
autostart = true
priority = 40
[program:nodemanager]
command = bin/yarn --config etc/hadoop nodemanager
directory = /opt/hadoop
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
autostart = true
priority = 40

View File

@ -0,0 +1,8 @@
version: "2.2"
services:
hadoop:
build:
context: containers/hadoop
ports:
- 8088:8088
- 9870:9870