Docker容器中运行flume及启动不输出运行日志问题

 更新时间:2018年03月30日 14:16:50   作者:redstarofsleep  
这篇文章主要介绍了 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及启动不输出运行日志问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Docker安装mysql并解决中文乱码问题

    Docker安装mysql并解决中文乱码问题

    本文主要介绍了Docker安装mysql并解决中文乱码问题本人亲自测试,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • docker发布sunnyNgrok实现内外网穿透的方法(容器内执行命令)

    docker发布sunnyNgrok实现内外网穿透的方法(容器内执行命令)

    这篇文章主要介绍了docker上发布 sunnyNgrok 实现内外网穿透,容器内执行命令,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Docker网络原理及自定义网络详细解析

    Docker网络原理及自定义网络详细解析

    一般使用自定义网络,自定义网络使用network创建,创建时可以指定子网网段及网关等信息,在创建并启动容器时指定使用的网络,今天通过本文给大家介绍Docker网络原理及自定义网络的相关知识,感兴趣的朋友一起看看吧
    2021-05-05
  • Docker镜像的导入导出代码实例

    Docker镜像的导入导出代码实例

    这篇文章主要介绍了Docker镜像的导入导出代码实例,本文实例讲解的很透彻很明了,有需要的同学可以参考下
    2021-03-03
  • CentOS7 阿里云的yum源使用详解

    CentOS7 阿里云的yum源使用详解

    这篇文章主要介绍了CentOS7 阿里云的yum源使用详解的相关资料,这里对备份yum源,添加EPEL源,和缓存清理,进行了介绍,需要的朋友可以参考下
    2016-11-11
  • 详解六种减小Docker镜像大小的方法

    详解六种减小Docker镜像大小的方法

    这篇文章主要介绍了详解六种减小Docker镜像大小的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Docker如何使用link建立容器之间的连接

    Docker如何使用link建立容器之间的连接

    本篇文章主要介绍了Docker如何使用link建立容器之间的连接,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • docker 部署hbase并且java Api连接的操作过程

    docker 部署hbase并且java Api连接的操作过程

    这篇文章主要介绍了docker 部署hbase并且java Api连接的操作过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • 基于Docker搭建iServer集群

    基于Docker搭建iServer集群

    Docker扩展了LXC,提供了更高级别的API,并简化了应用的打包和部署,为终端用户创建彼此独立的私有环境,可有效节约开发者和系统管理员的环境部署时间。这篇文章主要介绍了基于Docker搭建iServer集群,需要的朋友可以参考下
    2022-04-04
  • Docker安装Redis最新图文教程(非常全)

    Docker安装Redis最新图文教程(非常全)

    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value的NoSQL数据库,这篇文章主要给大家介绍了关于Docker安装Redis的相关资料,需要的朋友可以参考下
    2023-11-11

最新评论