2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Le contenu de la tâche consiste à installer et configurer Flume, ainsi qu'à tester et collecter des données de streaming.
Flume est souvent utilisé comme outil de collecte de données en temps réel. Les données collectées peuvent être stockées dans HDFS ou dans une file d'attente de messages comme Kafka.
Les étapes d'installation spécifiques sont les suivantes :
1. Décompressez le package compressé Flume
2. Configurer les variables d'environnement de Flume
3. Modifiez le fichier de configuration Flume. Le fichier de configuration Flume est stocké dans conf dans le répertoire d'installation de Flume.
4. Obtenez les données collectées par Flume via une connexion à distance
5. Stockez les données collectées par Flume dans HDFS
Vous pouvez trouver le package d'installation dans le répertoire /opt/software/, décompresser le package d'installation et copier le package d'installation dans le répertoire /opt/app.
Exécuter sur master1 :
[root@master1 ~]# cd /opt/software/
[root@master1 software]# tar -xzf apache-flume-1.9.0-bin.tar.gz -C /opt/app/
Modifiez le fichier /etc/profile et déclarez le chemin d'accueil de Flume et ajoutez le chemin bin au chemin :
export FLUME_HOME=/opt/app/apache-flume-1.9.0-bin
export PATH=$PATH:$FLUME_HOME/bin
Chargez le fichier de configuration /etc/profile et confirmez qu'il prend effet
[root@master1 ~]# source /etc/profile
[root@master1 ~]# echo $FLUME_HOME
Copiez et renommez flume-env.sh.template en flume-env.sh sous $FLUME_HOME/conf, et modifiez le fichier de configuration conf/flume-env.sh
[root@master1 ~]# cd $FLUME_HOME/conf
[root@master1 conf]# cp flume-env.sh.template flume-env.sh
[root@master1 conf]# vi flume-env.sh
Ajoutez le contenu suivant à la fin du fichier de configuration :
JAVA_HOME=/opt/app/jdk1.8.0_181
JAVA_OPTS="-Xms100m -Xmx200m -Dcom.sun.management.jmxremote"
Modifier le fichier de configuration flume-conf
Modifiez le fichier flume-conf.properties.template dans le répertoire $FLUME_HOME/conf, copiez-le et renommez-le en flume-conf.properties
[root@master1 ~]# cd $FLUME_HOME/conf
[root@master1 conf]# cp flume-conf.properties.template flume-conf.properties
[root@master1 conf]# vi flume-conf.properties
Modifiez le contenu du fichier de configuration flume-conf comme suit :
# The configuration file needs to define the sources, the channels and the sinks.
# Sources, channels and sinks are defined per agent, in this case called 'a1'
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# For each one of the sources, the type is defined
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
#The channel can be defined as follows.
a1.sources.r1.channels = c1
# Each sink's type must be defined
a1.sinks.k1.type = logger
#Specify the channel the sink should use
a1.sinks.k1.channel = c1
# Each channel's type is defined.
a1.channels.c1.type = memory
# Other config values specific to each type of channel(sink or source)
# can be defined as well
# In this case, it specifies the capacity of the memory channel
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
Exécuter dans le répertoire d'installation de Flume
[root@master1 conf]# cd $FLUME_HOME
[root@master1 apache-flume-1.9.0-bin]# flume-ng agent -c ./conf/ -f ./conf/flume-conf.properties -n a1 -Dflume.root.logger=INFO,console
Ouvrez un autre terminal et entrez la commande suivante :
[root@master1 ~]# telnet localhost 44444
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Saisissez ce qui suit dans le terminal :
Hello