Ceci est mon fichier de configuration ci-dessous, il a été travaillé avant mais soudainement plus tard en donnant une erreur. Actully ce que je suis en train de faire est de déplacer tous les journaux du local à HDFS les journaux devraient déplacés en un seul fichier à HDFS pas comme pièces:Le script Flume donne Avertissement: Aucun répertoire de configuration défini! Utilisez --conf <dir> pour remplacer
#create source, channels, and sink
agent1.sources=S1
agent1.sinks=H1
agent1.channels=C1
#bind the source and sink to the channel
agent1.sources.S1.channels=C1
agent1.sinks.H1.channel=C1
#Specify the source type and directory
agent1.sources.S1.type=spooldir
agent1.sources.S1.spoolDir=/tmp/spooldir
#Specify the Sink type, directory, and parameters
agent1.sinks.H1.type=HDFS
agent1.sinks.H1.hdfs.path=/user/hive/warehouse
agent1.sinks.H1.hdfs.filePrefix=events
agent1.sinks.H1.hdfs.fileSuffix=.log
agent1.sinks.H1.hdfs.inUsePrefix=processing
A1.sinks.H1.hdfs.fileType=DataStream
#Specify the channeltyoe (Memory vs File)
agent1.channels.C1.type=file
je lance mon agent de ce script:
flume-ng agent --conf-file /usr/local/flume/conf/spoolingToHDFS.conf --name agent1
je reçois cet avertissement:
Warning: No configuration directory set! Use --conf <dir> to override.
également
16/10/14 16:22:37 WARN conf.FlumeConfiguration: Agent configuration for 'A1' does not contain any channels. Marking it as invalid.
16/10/14 16:22:37 WARN conf.FlumeConfiguration: Agent configuration invalid for agent 'A1'. It will be removed.
puis juste renommage Création et fermeture même journal à HDFS pour toujours comme ceci:
16/10/14 16:22:41 INFO node.Application: Starting Sink H1
16/10/14 16:22:41 INFO node.Application: Starting Source S1
16/10/14 16:22:41 INFO source.SpoolDirectorySource: SpoolDirectorySource source starting with directory: /tmp/spooldir
16/10/14 16:22:41 INFO instrumentation.MonitoredCounterGroup: Monitored counter group for type: SINK, name: H1: Successfully registered new MBean.
16/10/14 16:22:41 INFO instrumentation.MonitoredCounterGroup: Component type: SINK, name: H1 started
16/10/14 16:22:41 INFO instrumentation.MonitoredCounterGroup: Monitored counter group for type: SOURCE, name: S1: Successfully registered new MBean.
16/10/14 16:22:41 INFO instrumentation.MonitoredCounterGroup: Component type: SOURCE, name: S1 started
16/10/14 16:22:41 INFO hdfs.HDFSSequenceFile: writeFormat = Writable, UseRawLocalFileSystem = false
16/10/14 16:22:42 INFO hdfs.BucketWriter: Creating /user/hive/warehouse/processingevents.1476476561961.log.tmp
16/10/14 16:22:44 INFO hdfs.BucketWriter: Closing /user/hive/warehouse/processingevents.1476476561961.log.tmp
16/10/14 16:22:44 INFO hdfs.BucketWriter: Renaming /user/hive/warehouse/processingevents.1476476561961.log.tmp to /user/hive/warehouse/events.1476476561961.log
16/10/14 16:22:44 INFO hdfs.BucketWriter: Creating /user/hive/warehouse/processingevents.1476476561962.log.tmp
16/10/14 16:22:44 INFO hdfs.BucketWriter: Closing /user/hive/warehouse/processingevents.1476476561962.log.tmp
16/10/14 16:22:44 INFO hdfs.BucketWriter: Renaming /user/hive/warehouse/processingevents.1476476561962.log.tmp to /user/hive/warehouse/events.1476476561962.log
16/10/14 16:22:44 INFO hdfs.BucketWriter: Creating /user/hive/warehouse/processingevents.1476476561963.log.tmp
16/10/14 16:22:44 INFO hdfs.BucketWriter: Closing /user/hive/warehouse/processingevents.1476476561963.log.tmp
16/10/14 16:22:44 INFO hdfs.BucketWriter: Renaming /user/hive/warehouse/processingevents.1476476561963.log.tmp to /user/hive/warehouse/events.1476476561963.log
16/10/14 16:22:44 INFO hdfs.BucketWriter: Creating /user/hive/warehouse/processingevents.1476476561964.log.tmp
16/10/14 16:22:44 INFO hdfs.BucketWriter: Closing /user/hive/warehouse/processingevents.1476476561964.log.tmp
16/10/14 16:22:44 INFO hdfs.BucketWriter: Renaming /user/hive/warehouse/processingevents.1476476561964.log.tmp to /user/hive/warehouse/events.1476476561964.log
16/10/14 16:22:44 INFO hdfs.BucketWriter: Creating /user/hive/warehouse/processingevents.1476476561965.log.tmp
16/10/14 16:22:44 INFO hdfs.BucketWriter: Closing /user/hive/warehouse/processingevents.1476476561965.log.tmp
:
:
:
Pourquoi flume conserve l'écriture même dossier pour jamais HDFS, comment puis-je déplacer un journal du local à HDFS sans les casser en pièces parce que ma taille de bûche habituellement entre 50 kb à 300 kb.
avertissement Mises à jour:
16/10/18 10:10:05 INFO tools.DirectMemoryUtils: Unable to get maxDirectMemory from VM: NoSuchMethodException: sun.misc.VM.maxDirectMemory(null)
16/10/18 10:10:05 WARN file.ReplayHandler: Ignoring /home/USER/.flume/file-channel/data/log-18 due to EOF
java.io.EOFException
at java.io.RandomAccessFile.readInt(RandomAccessFile.java:827)
at org.apache.flume.channel.file.LogFileFactory.getSequentialReader(LogFileFactory.java:169)
at org.apache.flume.channel.file.ReplayHandler.replayLog(ReplayHandler.java:264)
at org.apache.flume.channel.file.Log.doReplay(Log.java:529)
at org.apache.flume.channel.file.Log.replay(Log.java:455)
at org.apache.flume.channel.file.FileChannel.start(FileChannel.java:295)
at org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:251)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Merci pour la réponse @ Chris, je l'ai fait ce que vous suggérez et corriger la faute de frappe. Cependant, j'ai toujours le même problème en générant des logs sur hdfs même si le répertoire local de spooling est vide !! et autre avertissement que j'ai affronté s'il vous plaît voir les mises à jour ci-dessus. – Alsphere
Vous ne savez pas où vous êtes actuellement bloqué - en utilisant BlobDeserializer, vous devriez obtenir un seul fichier poussé dans Flume en tant qu'événement unique. Que voulez-vous dire par 'le répertoire local de spooling est vide !! '- le spooldir que vous avez configuré devrait renommer les fichiers complétés comme .COMPLETED, pas les supprimer ainsi je suspecte que vous ayez un autre processus supprimant ces fichiers –
Je voulais dire spooldir n'a aucun dossier. mais je reçois toujours des logs aléatoires pour hdfs. Ce problème se produit après avoir installé Hive. Q: Est-ce que Flume 1.6 fonctionne avec Hive 2.0? ou cela n'a pas d'importance? Merci – Alsphere