草庐IT

hadoop - Lily Hbase Indexers 无故退出

coder 2024-01-08 原文

我正在运行 Cloudera/Solr 集群,并尝试使用 hbase-solr (Lily) 索引器将 Hbase 的 NRT 索引编入 Solr。批处理模式索引工作正常。

但是,在我开始以恒定流加载数据后,Lily 索引器开始一个接一个地死掉。他们不会打印出向我跳出的特定错误消息,但都以相同的方式结束:

2014-09-10 16:04:56,770 INFO org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: Process identifier=ip-172-31-1-204.ap-southeast-2.compute.internal,44013,1410329096767 connecting to ZooKeeper ensemble=ip-172-31-1-205.ap-southeast-2.compute.internal:2181,ip-172-31-1-206.ap-southeast-2.compute.internal:2181,ip-172-31-1-204.ap-southeast-2.compute.internal:2181
2014-09-10 16:04:56,771 INFO org.apache.zookeeper.ClientCnxn: Opening socket connection to server ip-172-31-1-206.ap-southeast-2.compute.internal/172.31.1.206:2181. Will not attempt to authenticate using SASL (unknown error)
2014-09-10 16:04:56,772 INFO org.apache.hadoop.ipc.RpcServer: RpcServer.listener,port=44013: starting
2014-09-10 16:04:56,771 INFO org.apache.hadoop.ipc.RpcServer: RpcServer.responder: starting
2014-09-10 16:04:56,773 INFO org.apache.zookeeper.ClientCnxn: Socket connection established to ip-172-31-1-206.ap-southeast-2.compute.internal/172.31.1.206:2181, initiating session
2014-09-10 16:04:56,775 INFO com.ngdata.hbaseindexer.supervisor.IndexerSupervisor: Started indexer for indexFeature
2014-09-10 16:04:56,776 INFO org.apache.zookeeper.ClientCnxn: Session establishment complete on server ip-172-31-1-206.ap-southeast-2.compute.internal/172.31.1.206:2181, sessionid = 0x1485c7ff13602fd, negotiated timeout = 60000
2014-09-10 16:04:56,813 INFO org.kitesdk.morphline.api.MorphlineContext: Importing commands
2014-09-10 16:04:57,287 INFO org.kitesdk.morphline.api.MorphlineContext: Done importing commands
2014-09-10 16:04:57,289 INFO org.apache.solr.client.solrj.impl.HttpClientUtil: Creating new http client, config:
2014-09-10 16:04:57,297 INFO org.apache.hadoop.ipc.RpcServer: regionserver/ip-172-31-1-204.ap-southeast-2.compute.internal/172.31.1.204:0: started 10 reader(s).
2014-09-10 16:04:57,299 INFO org.apache.zookeeper.ZooKeeper: Initiating client connection, connectString=ip-172-31-1-205.ap-southeast-2.compute.internal:2181,ip-172-31-1-206.ap-southeast-2.compute.internal:2181,ip-172-31-1-204.ap-southeast-2.compute.internal:2181 sessionTimeout=60000 watcher=ip-172-31-1-204.ap-southeast-2.compute.internal,44713,1410329097297, quorum=ip-172-31-1-205.ap-southeast-2.compute.internal:2181,ip-172-31-1-206.ap-southeast-2.compute.internal:2181,ip-172-31-1-204.ap-southeast-2.compute.internal:2181, baseZNode=/hbase
2014-09-10 16:04:57,301 INFO org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: Process identifier=ip-172-31-1-204.ap-southeast-2.compute.internal,44713,1410329097297 connecting to ZooKeeper ensemble=ip-172-31-1-205.ap-southeast-2.compute.internal:2181,ip-172-31-1-206.ap-southeast-2.compute.internal:2181,ip-172-31-1-204.ap-southeast-2.compute.internal:2181
2014-09-10 16:04:57,302 INFO org.apache.zookeeper.ClientCnxn: Opening socket connection to server ip-172-31-1-204.ap-southeast-2.compute.internal/172.31.1.204:2181. Will not attempt to authenticate using SASL (unknown error)
2014-09-10 16:04:57,303 INFO org.apache.hadoop.ipc.RpcServer: RpcServer.responder: starting
2014-09-10 16:04:57,303 INFO org.apache.zookeeper.ClientCnxn: Socket connection established to ip-172-31-1-204.ap-southeast-2.compute.internal/172.31.1.204:2181, initiating session
2014-09-10 16:04:57,304 INFO org.apache.hadoop.ipc.RpcServer: RpcServer.listener,port=44713: starting
2014-09-10 16:04:57,306 INFO com.ngdata.hbaseindexer.supervisor.IndexerSupervisor: Started indexer for indexSeenBlock
2014-09-10 16:04:57,307 INFO org.apache.zookeeper.ClientCnxn: Session establishment complete on server ip-172-31-1-204.ap-southeast-2.compute.internal/172.31.1.204:2181, sessionid = 0x3485c7fee8f0374, negotiated timeout = 60000
2014-09-10 16:04:57,349 INFO org.mortbay.log: Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
2014-09-10 16:04:57,536 INFO org.mortbay.log: jetty-6.1.26.cloudera.2
2014-09-10 16:04:58,663 INFO org.mortbay.log: Started SelectChannelConnector@0.0.0.0:11060
2014-09-10 16:05:01,591 INFO org.kitesdk.morphline.api.MorphlineContext: Importing commands
2014-09-10 16:05:01,597 INFO org.kitesdk.morphline.api.MorphlineContext: Importing commands
2014-09-10 16:05:01,641 INFO org.kitesdk.morphline.api.MorphlineContext: Importing commands
2014-09-10 16:05:01,650 INFO org.kitesdk.morphline.api.MorphlineContext: Importing commands
2014-09-10 16:05:01,688 INFO org.kitesdk.morphline.api.MorphlineContext: Importing commands
2014-09-10 16:05:01,726 INFO org.kitesdk.morphline.api.MorphlineContext: Importing commands
2014-09-10 16:05:01,732 INFO org.kitesdk.morphline.api.MorphlineContext: Importing commands
2014-09-10 16:05:01,740 INFO org.kitesdk.morphline.api.MorphlineContext: Importing commands
2014-09-10 16:05:01,752 INFO org.kitesdk.morphline.api.MorphlineContext: Importing commands

Cloudera 管理器除了说进程已经退出外,也没有提供任何有用的信息。有些记录确实在 Solr 索引中得到更新,表明索引器至少在一段时间内正常工作。

我在 RHEL6.5 和 JDK7 上运行最新的 CDH 5.1。

最佳答案

如果您正在使用 WAL,即在您的 hbase 客户端程序(例如 mapreduce)中写入头日志选项为 FALSE(出于性能原因)。它不会写入 HLOG。

NRT 适用于 WAL/HLOG。

Batch Index 工作正常,因为它不适用于 WAL

关于hadoop - Lily Hbase Indexers 无故退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25758565/

有关hadoop - Lily Hbase Indexers 无故退出的更多相关文章

  1. hadoop安装之保姆级教程(二)之YARN的配置 - 2

    1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模

  2. ruby - 在 ruby​​ 中生成一个进程,捕获 stdout,stderr,获取退出状态 - 2

    我想从ruby​​rake脚本运行一个可执行文件,比如foo.exe我希望将foo.exe的STDOUT和STDERR输出直接写入我正在运行rake任务的控制台.当进程完成时,我想将退出代码捕获到一个变量中。我如何实现这一目标?我一直在玩backticks、process.spawn、system但我无法获得我想要的所有行为,只有部分更新:我在Windows上,在标准命令提示符下,而不是cygwin 最佳答案 system获取您想要的STDOUT行为。它还返回true作为零退出代码,这可能很有用。$?填充了有关最后一次system调

  3. ruby - Puma 服务器无故死机 - 2

    我正在运行Puma2.8.2服务器来stub我的一些后端服务。有时Puma服务器会无缘无故地死掉。error.log中没有错误,下面是access.log的摘录:10.210.140.21--[15/Oct/201409:28:22]"GET/statusHTTP/1.1"200-0.0030-Gracefullystopping,waitingforrequeststofinish-Goodbye!===pumastartup:2014-10-1509:28:24+0100===10.210.140.21--[15/Oct/201409:28:24]"GET/statusHTTP/1

  4. ruby-on-rails - 如何在不退出 IRB session 的情况下退出调试器? - 2

    这是一个长期存在的挫败感来源,但也许我遗漏了什么。如果我正在调试,并且我想退出调试器并返回到IRB或Rails控制台,“退出”将不起作用,因为它将退出IRB。“完成”似乎也与继续具有相同的效果。使用“删除”删除断点然后尝试“继续”或“完成”不起作用。有什么想法吗? 最佳答案 至少在byebug中,你可以这样做:evalreturn它具有计算当前函数的return语句的净效果。这有时会奏效,具体取决于调用堆栈的外观。现在虽然这不会删除当前断点....如果您只是想收回控制权,在大多数情况下这会做到这一点,具体取决于您的代码结构。在您的代

  5. ruby - Thin::Server#daemonize 立即退出 - 2

    我试图制作一个可执行文件,它通过Thin作为守护进程启动Sinatra应用程序。我正在使用此代码通过Sinatra应用程序调用Thin:#!/usr/bin/envrubyrequire'thin'require'app.rb'server=::Thin::Server.new('127.0.0.1',9999,App)server.log_file='tmp/thin.log'server.pid_file='tmp/thin.pid'server.daemonize这是我执行脚本时得到的日志输出:>>WritingPIDtotmp/thin.pid>>Exiting!服务器正常启动

  6. ruby - 当 shelled-out 命令返回非零退出代码时,如何让 Ruby 脚本失败? - 2

    在Ruby脚本中,有variousways调用系统命令/命令行反引号:`commandarg1arg2`分隔形式,例如%x(commandarg1arg2)(可用其他分隔符)Kernel#system方法:system('commandarg1arg2')Kernel#exec方法:exec('commandarg1arg2')如果我希望Ruby脚本在调用的命令失败时失败(有异常)(具有非零退出代码),我可以检查特殊变量中的退出代码$?对于前两个变体:`commandarg1arg2`failunless$?==0或%x,commandarg1arg2,failunless$?==0如

  7. 大数据之Hadoop数据仓库Hive - 2

    目录:一、简介二、HQL的执行流程三、索引四、索引案例五、Hive常用DDL操作六、Hive常用DML操作七、查询结果插入到表八、更新和删除操作九、查询结果写出到文件系统十、HiveCLI和Beeline命令行的基本使用十一、Hive配置一、简介Hive是一个构建在Hadoop之上的数据仓库,它可以将结构化的数据文件映射成表,并提供类SQL查询功能,用于查询的SQL语句会被转化为MapReduce作业,然后提交到Hadoop上运行。特点:简单、容易上手(提供了类似sql的查询语言hql),使得精通sql但是不了解Java编程的人也能很好地进行大数据分析;灵活性高,可以自定义用户函数(UDF)和

  8. ruby - 为什么退出 Ruby 线程会杀死我的整个程序? - 2

    我有这段代码:puts"Start"loopdoThread.startdoputs"Hellofromthread"exitendtext=getsputs"#{text}"endputs"Done"我希望看到“Start”后跟“Hellofromthread”,然后我可以输入会得到回显的输入。相反,我得到“Start”和“Hellofromthread”,然后程序退出。来自关于exit的文档:Terminatesthrandschedulesanotherthreadtoberun.Ifthisthreadisalreadymarkedtobekilled,exitreturnst

  9. ruby-on-rails - 在不使用 `at_exit` 的情况下,如何确保操作在 Rails 退出之前运行? - 2

    我有一个操作需要在我的Rails应用程序终止之前在我的Rails应用程序中执行。我可以在Rails中为此使用一个钩子(Hook)吗?我猜类似于at_exit的东西。 最佳答案 Ruby本身支持两个钩子(Hook),BEGIN和END,它们在脚本开始时运行,并在解释器停止运行时运行。有关详细信息,请参阅“WhatdoesRuby'sBEGINdo?”。BEGIN文档说:Designates,viacodeblock,codetobeexecutedunconditionallybeforesequentialexecutionofth

  10. ruby - 如果超过 5 秒,如何退出使用 Ruby 运行的进程? - 2

    我正在用Ruby实现一个检查系统。它运行具有不同测试的可执行文件。如果解决方案不正确,则可能需要很长时间才能完成某些严格的测试。这就是为什么我想将执行时间限制为5秒。我正在使用system()函数来运行可执行文件:system("./solution");.NET有一个很棒的WaitForExit()方法,那么Ruby呢?有没有办法将外部进程的执行时间限制为5秒?谢谢 最佳答案 您可以使用标准超时库,如下所示:require'timeout'Timeout::timeout(5){system("./solution")}这样您就不

随机推荐