Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • R RIE-2017-ProjetTutore-G1
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 12
    • Issues 12
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Due to inactivity, this project is scheduled to be deleted on 2035-04-24. Why is this scheduled?

  • Lionel Ferrafiat
  • RIE-2017-ProjetTutore-G1
  • Wiki
  • page2 serveur message setup

page2 serveur message setup · Changes

Page history
Mettre à jour page2 serveur message setup authored Sep 28, 2018 by Romain Benit's avatar Romain Benit
Hide whitespace changes
Inline Side-by-side
page2-serveur-message-setup.md
View page @ faf4f6fe
...@@ -2,42 +2,48 @@ Page Wiki sur le serveur de message ...@@ -2,42 +2,48 @@ Page Wiki sur le serveur de message
Installation de Apache KAFKA sur notre serveur virtuel: Installation de Apache KAFKA sur notre serveur virtuel:
$ yum install wget `yum install wget`
Then, `wget http://apache.crihan.fr/dist/kafka/0.10.2.1/kafka_2.10-0.10.2.1.tgz`
1. wget http://apache.crihan.fr/dist/kafka/0.10.2.1/kafka_2.10-0.10.2.1.tgz
2. tar xzf kafka_2.10-0.10.2.1.tgz `tar xzf kafka_2.10-0.10.2.1.tgz`
3. cd kafka_2.10-0.10.2.1/
`cd kafka_2.10-0.10.2.1/`
Maintenant que nous avons installé le package kafka, qui va gérer la file de messages, nous devons installer un zookeeper. Celui-ci est en charge de réaliser la synchronisation des différents éléments d'un cluster.
Maintenant qu'on a installé le package kafka (qui va gérer la file de message), on doit installer un zookeeper. Il est en charge de réaliser la synchronisation des différents éléments d'un cluster.
Zookeeper fonctionne sur la base de JAVA, il faut au préalable vérifier que ce dernier est fonctionnel sur notre serveur: Zookeeper fonctionne sur la base de JAVA, il faut au préalable vérifier que ce dernier est fonctionnel sur notre serveur:
$ yum install java-1.8.0-openjdk-devel `yum install java-1.8.0-openjdk-devel`
La version kafka téléchargée auparavant contient les binaires de Apache Zookeeper. La version kafka téléchargée auparavant contient les binaires de Apache Zookeeper.
On peut vérifier sa configuration dans le dossier suivant : On peut vérifier sa configuration dans le dossier suivant :
$ config/zookeeper.properties `config/zookeeper.properties`
Il ne nous reste plus qu'à le lancer: Il ne nous reste plus qu'à le lancer:
$ ./bin/zookeeper-server-start.sh ./config/zookeeper.properties `./bin/zookeeper-server-start.sh ./config/zookeeper.properties`
Zookeeper est un serveur avec lequel on peut communiquer sur le port 2181. On peut donc vérifier que Zookeeper a été correctement lancé avec un petit appel telnet: Zookeeper est un serveur avec lequel on peut communiquer sur le port 2181. On peut donc vérifier que Zookeeper a été correctement lancé avec un petit appel telnet:
$ telnet localhost 2181 `telnet localhost 2181
Trying 127.0.0.1... Trying 127.0.0.1...
Connected to localhost
Maintenant que le Zookeeper est lancé, on peut lancer le service kafka: Connected to localhost`
$ ./bin/kafka-server-start.sh ./config/server.properties Maintenant que le Zookeeper est lancé, nous pouvons lancer le service kafka:
`./bin/kafka-server-start.sh ./config/server.properties`
Pareil que Zookeeper, on peut vérifier au préalable le fichier de configuration de Kafka. On sait qu'il écoute sur le port 9092: Pareil que Zookeeper, on peut vérifier au préalable le fichier de configuration de Kafka. On sait qu'il écoute sur le port 9092:
$ telnet localhost 9092 `telnet localhost 9092
Trying 127.0.0.1... Trying 127.0.0.1...
Connected to localhost
Connected to localhost`
==> Nous voilà avec un Zookeeper et un broker Kafka, qui représent un cluster Kafka minimal ==> Nous voilà avec un Zookeeper et un broker Kafka, qui représent un cluster Kafka minimal
...@@ -45,33 +51,34 @@ Connected to localhost ...@@ -45,33 +51,34 @@ Connected to localhost
Dans Kafka, un message est appelé "Record"; les records sont regroupés par "Topic" ou sujet. Dans Kafka, un message est appelé "Record"; les records sont regroupés par "Topic" ou sujet.
On va tout d'abord créé par exemple un topic "test" grâce à un script disponible: On va tout d'abord créé par exemple un topic "test" grâce à un script disponible:
$ ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test `./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test`
Je peux vérifier que le topic est bien créé par une commande "./bin/kafka-topics.sh --list --zookeeper localhost 2181" et on obtient l'affichage suivant: Je peux vérifier que le topic est bien créé par une commande "./bin/kafka-topics.sh --list --zookeeper localhost 2181" et on obtient l'affichage suivant:
$ ./bin/kafka-topics.sh --list --zookeeper localhost 2181 `./bin/kafka-topics.sh --list --zookeeper localhost 2181`
test test
Ou même afficher les détails du topic: Ou même afficher les détails du topic:
$ ./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test `./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test`
Dans Kafka, les messages sont produits par des producers (ou producteurs) et consommés par des consumers (ou consommateurs). On peut "écrire" et "lire" des records (donc message) de la manière suivante: Dans Kafka, les messages sont produits par des producers (ou producteurs) et consommés par des consumers (ou consommateurs). On peut "écrire" et "lire" des records (donc message) de la manière suivante:
Sur le producer: Sur le producer:
A savoir => Chaque ligne que l'on écrit après cette commande sera considérée comme un message A savoir => Chaque ligne que l'on écrit après cette commande sera considérée comme un message
$ ./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test `./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
Bonjour comment allez-vous?
Bonjour comment allez-vous?`
Sur le consumer: Sur le consumer:
$ ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test `./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test`
A savoir: si on lancer le consumer avant le producer, on verra les messages envoyés par ce dernier en temps réel (avec légère latence). Sinon, tous les messages envoyés avant l'exécution de la commande "consumer" seront mis en buffer. A savoir: si on lancer le consumer avant le producer, on verra les messages envoyés par ce dernier en temps réel (avec légère latence). Sinon, tous les messages envoyés avant l'exécution de la commande "consumer" seront mis en buffer.
Pour contrer ça et lire d'un coup tous les messages envoyés par le producer, on peut rajouter l'option "--from-beginning" à la fin de la commande originale: Pour contrer ça et lire d'un coup tous les messages envoyés par le producer, on peut rajouter l'option "--from-beginning" à la fin de la commande originale:
$ ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning `./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning`
Clone repository
  • Aide pour Soutenance
  • Home
  • page1 serveur web setup
  • page2 1 serveur message php
  • page2 serveur message setup
  • page3 1 blockchain centos
  • page3 blockchain setup
  • page4 serveur vm setup
  • page5 docs techniques divers
  • page6 1 securisation tls ssl
  • page6 2 Securisation En tête Serveur (Server Header)
  • page6 3 securisation Apache2
  • page6 serveur site web
  • page7 utilisation de git
  • page8 realisation des tests