Compartilhamento de tecnologia

Processamento e análise de dados de atendimento ao cliente de telecomunicações com base na plataforma Hadoop ③ Desenvolvimento do projeto: Construir ambiente de desenvolvimento de big data do Flume --- Tarefa 14: Instalação e implantação do Flume

2024-07-08

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

detalhes da missão

O conteúdo da tarefa é instalar e configurar o Flume e testar e coletar dados de streaming.

Orientação de tarefa

O Flume é frequentemente usado como uma ferramenta para coleta de dados em tempo real. Os dados coletados podem ser armazenados no HDFS ou em uma fila de mensagens como o Kafka.

As etapas específicas de instalação são as seguintes:

1. Descompacte o pacote compactado do Flume

2. Configure as variáveis ​​de ambiente do Flume

3. Modifique o arquivo de configuração do Flume O arquivo de configuração do Flume está armazenado em conf no diretório de instalação do Flume.

4. Obtenha os dados coletados pelo Flume através de login remoto

5. Armazene os dados coletados pelo Flume no HDFS

Realização da missão

1. Instale o Flume

Você pode encontrar o pacote de instalação no diretório /opt/software/, descompactar o pacote de instalação e copiar o pacote de instalação para o diretório /opt/app

Execute no master1:

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

2. Defina as variáveis ​​de ambiente do Flume

Edite o arquivo /etc/profile e declare o caminho inicial do Flume e adicione o caminho bin ao caminho:

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

Carregue o arquivo de configuração /etc/profile e confirme se ele entra em vigor

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

3. Defina o arquivo de configuração flume-env.sh

Copie e renomeie flume-env.sh.template para flume-env.sh em $FLUME_HOME/conf e modifique o arquivo de configuração 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

Anexe o seguinte conteúdo no final do arquivo de configuração:

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

4. Verifique a instalação (telnet)

Modifique o arquivo de configuração flume-conf

Modifique o arquivo flume-conf.properties.template no diretório $FLUME_HOME/conf, copie e renomeie-o para 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

Modifique o conteúdo do arquivo de configuração flume-conf da seguinte forma:

# 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

Execute no diretório de instalação do 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

Abra outro terminal e digite o seguinte 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 '^]'.

Digite o seguinte no terminal:

Hello