Índice
1. Descompacte o pacote de instalação
Implantação de duas configurações
(3) Criar arquivo de configuração
(5) arquivos de monitoramento de calha
1. Descompacte o pacote de instalação
Os recursos do disco de rede são fornecidos aqui
Link: https://pan.baidu.com/s/1Z0aItCHMybYpXkt3_RUaVw?pwd=s6pg Código de extração: s6pg
O pacote de instalação aqui é colocado na pasta /opt/install
Descompacte no diretório /opt/soft
tar -zxf /opt/install/apache-flume-1.9.0-bin.tar.gz -C /opt/soft
Renomeie a pasta extraída
cd /opt/soft
mv apache-flume-1.9.0-bin/ flume190
Implantação de duas configurações
(1) Modificar configuração
Exclua guava-11.0.2.jar na pasta lib para ser compatível com Hadoop 3.1.3
cd ../lib
rm -rf ./guava-11.0.2.jar
cp /opt/soft/hadoop313/share/hadoop/common/lib/guava-27.0-jre.jar ./
Entre no diretório /opt/soft/flume190/conf/
cd flume190/conf/
Flume-env.sh.template é copiado para flume-env.sh
cp flume-env.sh.template ./flume-env.sh
Modifique este arquivo
vim flume-env.sh
Linha 22: Modifique o caminho do jdk para o seu próprio
22 export JAVA_HOME=/opt/soft/jdk180
25 linhas de memória jdk para serem maiores
25 export JAVA_OPTS="-Xms2000m -Xmx2000m -Dcom.sun.management.jmxremote"
(2) Baixar ferramentas
yum install -y net-tools
Instale o netcat
yum install -y nc
Instalar serviço Telnet
yum install -y telnet-server
Instalar cliente telnet
yum install -y telnet.*
Testar telnet
Abra duas janelas como cliente e servidor respectivamente
cliente
telnet localhost 7777
Terminal de serviço
nc -lk 7777
Depois que o cliente discar e inserir a instrução, o servidor poderá receber
Depois que o servidor desligar, o cliente também desligará.
Verifique se a porta 7777 está ocupada
netstat -lnp | grep 7777
(3) Criar arquivo de configuração
Crie a pasta myconf2
mkdir myconf2
Criar arquivo conf
vim ./netcat-logger.conf
a1.sources=r1
a1.channels=c1
a1.sinks=k1
a1.sources.r1.type=netcat
a1.sources.r1.bind=localhost
a1.sources.r1.port=7777
a1.channels.c1.type=memory
a1.sinks.k1.type=logger
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1
(4) Comece o teste de audição
O caminho executado neste momento é /opt/soft/flume190. Como alguns caminhos de parâmetros deste comando são caminhos relativos, ele deve ser executado no caminho atual.
./bin/flume-ng agent --name a1 --conf ./conf/ --conf-file ./conf/myconf2/netcat-logger.conf -Dflume.root.logger=INFO,console
Neste momento, disque o conteúdo no cliente novamente e você o verá no console.
A primeira maneira de escrever:
[atguigu@hadoop102 flume]$ bin/flume-ng agent --conf conf/ --name a1 --conf-file job/flume-netcat-logger.conf -Dflume.root.logger=INFO,console
A segunda maneira de escrever:
[atguigu@hadoop102 flume]$ bin/flume-ng agent -c conf/ -n a1 -f job/flume-netcat-logger.conf -Dflume.root.logger=INFO,console
Descrição do parâmetro:
--conf/-c: Indica que o arquivo de configuração está armazenado no diretório conf/
--name/-n: Nomeie o agente como a1
--conf-file/-f: O arquivo de configuração lido pelo flume desta vez é o arquivo flume-telnet.conf na pasta de trabalho.
-Dflume.root.logger=INFO,console: -D significa modificar dinamicamente o valor do atributo do parâmetro flume.root.logger quando o flume está em execução e definir o nível de impressão do log do console para o nível INFO. Os níveis de log incluem: log, info, warning, error.
(5) arquivos de monitoramento de calha
Edite um novo arquivo de configuração na pasta myconf
vim ./flumelogger.econf
a2.sources=r1
a2.channels=c1
a2.sinks=k1
a2.sources.r1.type=exec
a2.sources.r1.command=tail -f /opt/kb23/flumefile.log
a2.channels.c1.type = memory
a2.channels.c1.capacity = 1000
a2.channels.c1.transactionCapacity = 100
a2.sinks.k1.type = logger
a2.sources.r1.channels = c1
a2.sinks.k1.channel = c1
Crie um arquivo monitorado
O que tenho aqui é /opt/kb23/flumefile.log
O significado deste comando é que enquanto algo for adicionado a este arquivo, ele será monitorado pelo flume.
correr
./bin/flume-ng agent --name a2 --conf ./conf/ --conf-file ./conf/myconf2/filelogger.conf -Dflume.root.logger=INFO,console
Escreva algo no teste flumefile.log (outra janela)
echo "hello dio" >> /opt/kb23/flumefile.log
Se for detectado, foi bem-sucedido.