如何解决Docker容器中运行flume及启动不输出运行日志的问题
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,小编给大家分享一下如何解决Docker容器中运行flume及启动不输出运行日志的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解
千家信息网最后更新 2026年10月31日如何解决Docker容器中运行flume及启动不输出运行日志的问题
小编给大家分享一下如何解决Docker容器中运行flume及启动不输出运行日志的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
flume配置文件如下:
# 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=100 app1.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 = 100 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 = 100 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如下:
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
下面看下flume 启动不输出运行日志
问题
以前碰到的一个问题,算是一个小问题,flume 用命令
./flume-ng agent -c /opt/apps/flume/conf -f /opt/apps/flume/conf/syslog_tcp.conf -n a1 -Dflume.root.logger=INFO,console
启动的时候,flume使用的log4j不起效,不会输出日志到日志文件。
解决
在启动时去掉
-Dflume.root.logger=INFO,console
这个命令就好了。flume的log4j就正常工作了。也算是一个坑。
加上这个命令会将运行的日志在控制台输出。
以上是"如何解决Docker容器中运行flume及启动不输出运行日志的问题"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
日志
运行
问题
输出
命令
篇文章
容器
内容
文件
不怎么
大部分
控制台
时候
更多
知识
行业
资讯
资讯频道
频道
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技园
圆梦互联网科技
互联网科技社
深圳科技互联网
互联网金融 金融科技
紫鲸互联网科技
互联网与未来科技
朗涯互联网科技
小马过河互联网科技
云电互联网科技
科技创新互联网企业
互联网养老 桔豆科技
中国最先进互联网科技公司
互联网和高科技公司
玖二柒互联网科技公司待遇
互联网和黑科技的看法
国大互联网教育科技有限公司薪资
工业互联网科技创业
互联网科技手机排行榜
恒生互联网科技趋势
互联网科技公司起名
蓝思科技飞鸽互联网
A股互联网金融科技公司
互联网公司 科技公司
为想互联网科技
中正互联网科技招聘
2021世界互联网领先科技成果发布
昆明中奇联合互联网科技
福仕德教育科技互联网
悟空问答互联网科技