Condivisione della tecnologia

Elaborazione e analisi dei dati del servizio clienti di telecomunicazioni sulla base della piattaforma Hadoop ③ Sviluppo del progetto: creazione dell'ambiente di sviluppo big data Flume --- Attività 14: installazione e distribuzione di Flume

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

dettagli della missione

Il contenuto dell'attività è installare e configurare Flume, nonché testare e raccogliere dati di streaming.

Guida al compito

Flume viene spesso utilizzato come strumento per la raccolta di dati in tempo reale. I dati raccolti possono essere archiviati in HDFS o in una coda di messaggi come Kafka.

I passaggi specifici dell'installazione sono i seguenti:

1. Decomprimere il pacchetto compresso Flume

2. Configura le variabili d'ambiente di Flume

3. Modificare il file di configurazione di Flume. Il file di configurazione di Flume è archiviato in conf nella directory di installazione di Flume.

4. Ottenere i dati raccolti da Flume tramite login remoto

5. Archiviare i dati raccolti da Flume in HDFS

Raggiungimento della missione

1. Installare il canale artificiale

È possibile trovare il pacchetto di installazione nella directory /opt/software/, decomprimere il pacchetto di installazione e copiarlo nella directory /opt/app

Esegui su master1:

[root@master1 ~]# cd /opt/software/
[root@master1 software]# tar -xzf apache-flume-1.9.0-bin.tar.gz -C /opt/app/

2. Imposta le variabili di ambiente di Flume

Modifica il file /etc/profile e dichiara il percorso home di Flume e aggiungi il percorso bin al percorso:

export FLUME_HOME=/opt/app/apache-flume-1.9.0-bin
export PATH=$PATH:$FLUME_HOME/bin

Carica il file di configurazione /etc/profile e verifica che abbia effetto

[root@master1 ~]# source /etc/profile
[root@master1 ~]# echo $FLUME_HOME

3. Impostare il file di configurazione flume-env.sh

Copia e rinomina flume-env.sh.template in flume-env.sh in $FLUME_HOME/conf e modifica il file di configurazione 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

Aggiungi il seguente contenuto alla fine del file di configurazione:

JAVA_HOME=/opt/app/jdk1.8.0_181
JAVA_OPTS="-Xms100m -Xmx200m -Dcom.sun.management.jmxremote"

4. Verifica installazione (telnet)

Modifica il file di configurazione flume-conf

Modifica il file flume-conf.properties.template nella directory $FLUME_HOME/conf, copialo e rinominalo in 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

Modificare il contenuto del file di configurazione flume-conf come segue:

# 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

Esegui nella directory di installazione di 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

Apri un altro terminale e inserisci il seguente comando:

[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 '^]'.

Immettere quanto segue nel terminale:

Hello