我在使用 Flume 内存 channel 时遇到问题。我运行了一个 Flume 代理,它淹没了内存 channel 并且日志开始溢出“ channel 已满,现在无法写入数据。源将在 250 毫秒后重试”
到目前为止一切顺利。我停止代理,编辑 flume.conf 以增加容量并重试。问题是 Flume 在启动时已经溢出了相同的消息:
`16/05/14 00:21:48 INFO node.Application: Starting new configuration:
{ sourceRunners:{s1=EventDrivenSourceRunner: { source:Spool
Directory source s1: { spoolDir: /home/vagrant/logs } }}
sinkRunners:{kafka-avro-sink2=SinkRunner: {
policy:org.apache.flume.sink.DefaultSinkProcessor@63203b59
counterGroup:{ name:null counters:{} } }, kafka-avro-
sink1=SinkRunner: {
policy:org.apache.flume.sink.DefaultSinkProcessor@591882e6
counterGroup:{ name:null counters:{} } }} channels:
{mem1=org.apache.flume.channel.MemoryChannel{name: mem1}} }
16/05/14 00:21:48 INFO node.Application: Starting Channel mem1
16/05/14 00:21:48 INFO instrumentation.MonitoredCounterGroup:
Monitored counter group for type: CHANNEL, name: mem1: Successfully
registered new MBean.
16/05/14 00:21:48 INFO instrumentation.MonitoredCounterGroup:
Component type: CHANNEL, name: mem1 started
16/05/14 00:21:48 INFO node.Application: Starting Sink kafka-avro-
sink2
16/05/14 00:21:48 INFO node.Application: Starting Sink kafka-avro-sink1
16/05/14 00:21:48 INFO node.Application: Starting Source s1
16/05/14 00:21:48 INFO source.SpoolDirectorySource:
SpoolDirectorySource source starting with directory:
/home/vagrant/logs
16/05/14 00:21:48 INFO instrumentation.MonitoredCounterGroup:
Monitored counter group for type: SOURCE, name: s1: Successfully
registered new MBean.
16/05/14 00:21:48 INFO instrumentation.MonitoredCounterGroup:
Component type: SOURCE, name: s1 started
16/05/14 00:21:49 WARN source.SpoolDirectorySource: The channel is
full, and cannot write data now. The source will try again after
250 milliseconds
16/05/14 00:21:49 INFO avro.ReliableSpoolingFileEventReader: Last
read was never committed - resetting mark position.
16/05/14 00:21:49 WARN source.SpoolDirectorySource: The channel is
full, and cannot write data now. The source will try again after
500 milliseconds`
所以当我启动代理时 channel 已经满了。如何手动重置或清除它?
我已经为类似的问题搜索了几个小时,但没有成功。一个有点恼人的问题是 https://flume.apache.org/文本如此之多,以至于几乎所有与水槽相关的东西都被谷歌索引了。因此,例如搜索“水槽 channel 总是满的”总是会给出 https://flume.apache.org/作为第一名的结果。
最佳答案
您似乎无法为您的 channel 分配足够的内存。当您的传入事件速率高于内存 channel 的可用内存时。
尝试使用如下示例: xmx 是示例选项,您可以逐渐增加并根据并行运行的代理数量查看内存分配的最佳值。
例如:
flume-ng agent -n $agentnumber -c ../../config/conf/ -f ../../config/conf/youragentconf.conf -Xmx3g
此外,您还需要检查代理配置文件中的其他配置参数,引用this Memory channel from Flume Guide .
关于hadoop - Flume 内存 channel 在启动时已满,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37238284/
作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
ruby如何管理内存。例如:如果我们在执行过程中采用C程序,则以下是内存模型。类似于这个ruby如何处理内存。C:__________________|||stack|||------------------||||------------------|||||Heap|||||__________________|||data|__________________|text|__________________Ruby:? 最佳答案 Ruby中没有“内存”这样的东西。Class#allocate分配一个对象并返回该对象。这就是程序
一、引擎主循环UE版本:4.27一、引擎主循环的位置:Launch.cpp:GuardedMain函数二、、GuardedMain函数执行逻辑:1、EnginePreInit:加载大多数模块int32ErrorLevel=EnginePreInit(CmdLine);PreInit模块加载顺序:模块加载过程:(1)注册模块中定义的UObject,同时为每个类构造一个类默认对象(CDO,记录类的默认状态,作为模板用于子类实例创建)(2)调用模块的StartUpModule方法2、FEngineLoop::Init()1、检查Engine的配置文件找出使用了哪一个GameEngine类(UGame
1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模
你好,我无法成功如何在散列中删除key后释放内存。当我从哈希中删除键时,内存不会释放,也不会在手动调用GC.start后释放。当从Hash中删除键并且这些对象在某处泄漏时,这是预期的行为还是GC不释放内存?如何在Ruby中删除Hash中的键并在内存中取消分配它?例子:irb(main):001:0>`ps-orss=-p#{Process.pid}`.to_i=>4748irb(main):002:0>a={}=>{}irb(main):003:0>1000000.times{|i|a[i]="test#{i}"}=>1000000irb(main):004:0>`ps-orss=-p
这会导致Ruby出现内存问题吗?我知道如果大小超过10KB,Open-URI会写入TempFile。但是HTTParty会在写入TempFile之前尝试将整个PDF保存到内存吗?src=Tempfile.new("file.pdf")src.binmodesrc.writeHTTParty.get("large_file.pdf").parsed_response 最佳答案 您可以使用Net::HTTP。参见thedocumentation(特别是标题为“流媒体响应机构”的部分)。这是文档中的示例:uri=URI('http://e
我想用Capistrano启动sidekiq。下面是代码namespace:sidekiqdotask:startdorun"cd#{current_path}&&bundleexecsidekiq-c10-eproduction-Llog/sidekiq.log&"pcapture("psaux|grepsidekiq|awk'{print$2}'|sed-n1p").strip!endend它执行成功但sidekiq仍然没有在服务器上启动。输出:$capsidekiq:starttriggeringloadcallbacks*2014-06-0315:03:01executing`
我有一个正在升级到Rails3的Rails2.3.5应用程序。我做了所有我需要做的升级以及当我使用启动Rails服务器时要做的事情railsserver它给了我这个PleaseswitchtoRuby1.9'sstandardCSVlibrary.It'sFasterCSVplussupportforRuby1.9'sm17nencodingengine.我正在使用ruby-1.9.2-p0并安装了fastercsv(1.5.3)gem。在puts语句的帮助下,我能够追踪到错误发生的位置。我发现执行在这一行停止了Bundler.require(:default,Rails.env)if
电脑启动出现显示器黑屏是一个相当常见的问题。如果您遇到了这个问题,不要惊慌,因为它有很多可能的原因,可以采取一些简单的措施来解决它。在本文中,小编将介绍下面4种常见的电脑启动后显示器黑屏的原因,排查这些原因,快速解决! 演示机型:联想Ideapad700-15ISK-ISE系统版本:Windows10一、显示器问题如果出现电脑启动后显示器黑屏的情况。那么首先您需要检查一下显示器是否正常工作。您可以通过更换另一个显示器或将当前显示器连接到另一台计算机来检查显示器是否存在问题。如果问题仍然存在,那么您可以排除显示器故障的可能性。 二、显卡问题如果您的电脑配备了独立显卡,那么显卡故障也可能是导致电脑