Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to solve the problem of running flume in Docker container and starting without outputting running log

2025-02-23 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/01 Report--

Editor to share with you how to solve the problem of running flume and not outputting the running log in the Docker container. I believe most people don't know much about it, so share this article for your reference. I hope you will get a lot after reading this article. Let's learn about it together.

The flume configuration file is as follows:

# Name the components on this agent app1.sources = R1 app1.sinks = K1 app1.channels = C1 # Describe/configure the source app1.sources.r1.type = avro app1.sources.r1.bind = 0.0.0.0 app1.sources.r1.port = 44444 # Describe the sink # a1.sinks.k1.type = logger app1.sinks.k1.type = file_roll app1.sinks.k1.sink.directory = / var/log/my/app1 app1.sinks.k1.sink.rollInterval=86400 app1.sinks.k1.sink BatchSize = 100app1.sinks.k1.sink.serializer=text app1.sinks.k1.sink.serializer.appendNewline = false # Use a channel which buffers events in memory app1.channels.c1.type = memory app1.channels.c1.capacity = 1000 app1.channels.c1.transactionCapacity = 100000000 app1.channels.c1.byteCapacity = 100000000 app1.channels.c1.byteCapacityBufferPercentage = 10 # Bind the source and sink to the channel app1.sources.r1.channels = C1 app1.sinks.k1.channel = C1 # Name the components on this agent app2.sources = R2 app2.sinks = K2 app2.channels = c2 # Describe/configure the source app2.sources.r2.type = avro app2.sources.r2.bind = 0.0.0.0 app2.sources.r2.port = 44445 # Describe the sink # a1.sinks.k1.type = logger app2.sinks.k2.type = file_roll app2.sinks.k2.sink.directory = / var/log/my/app2 app2.sinks.k2.sink.rollInterval=86400 app2.sinks.k2.sink.batchSize=100 app2.sinks.k2.sink.serializer=text app2.sinks. K2.sink.serializer.appendNewline = false # Use a channel which buffers events in memory app2.channels.c2.type = memory app2.channels.c2.capacity = 1000 app2.channels.c2.transactionCapacity = 100000000 app2.channels.c2.byteCapacity = 100000000 app2.channels.c2.byteCapacityBufferPercentage = 10 # Bind the source and sink to the channel app2.sources.r2.channels = c2 app2.sinks.k2.channel = c2

Dockerfile is as follows:

FROM ubuntu:16.04 MAINTAINER XXX "XXX@XXXXX.com" RUN apt-get update ADD jdk-8u77-linux-x64.tar.gz / usr/local/java RUN cp / etc/profile / etc/profile.bak ENV JAVA_HOME/ usr/local/java/jdk1.8.0_77 ENV PATH $JAVA_HOME/bin:$PATH ENV CLASSPATH.: $JAVA_HOME/lib ADD apache-flume-1.7.0-bin.tar.gz / usr/local/flume RUN apt-get install-y tzdata RUN ln-sf / usr/share/zoneinfo/Asia/Shanghai / etc/localtime RUN echo "Asia/Shanghai" > / etc/timezone RUN dpkg-reconfigure-f noninteractive tzdata ENV LANG C.UTF-8 WORKDIR / var/log RUN mkdir my WORKDIR / var/log/my RUN mkdir app1 RUN mkdir app2 EXPOSE 44444 EXPOSE 44445 ENTRYPOINT (/ usr/local/flume/apache-flume-1.7.0-bin/bin/flume-ng agent-- conf / usr/local/flume/apache-flume-1.7.0-bin/conf-conf-file / usr/local/flume/apache-flume-1.7.0-bin/conf/flume-conf.properties-- name app1 &) & & (/ usr/local/flume/apache-flume-1.7.0-bin/bin/flume-ng agent-- conf/ usr/local/flume/apache-flume-1.7.0-bin/conf-conf-file / usr/local/flume/apache-flume-1.7.0-bin/conf/flume-conf.properties-- name app2 &) & & / bin/bash

Let's take a look at the fact that flume startup does not output the run log.

problem

A problem I encountered before is a small problem. Flume uses commands.

. / flume-ng agent-c / opt/apps/flume/conf-f / opt/apps/flume/conf/syslog_tcp.conf-n A1-Dflume.root.logger=INFO,console

At startup, the log4j used by flume does not work and does not output logs to the log file.

Solve

Remove at startup

-Dflume.root.logger=INFO,console

This order will be fine. The log4j of flume will work properly. It's kind of a pit.

Adding this command will output the running log on the console.

The above is all the contents of this article entitled "how to solve the problem of running flume in Docker container and starting not to output run log". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report