我有很多运行网络测试的文本报告和日志文件。我想将这些报告和日志存储在一个数据存储中,在那里我可以解析它们并根据解析的数据运行报告。我还希望这个系统是可扩展的,无论是它接受的报告和日志的类型,还是它可以用于的数据和查询/报告的数量。
一位同事建议Hadoop可以满足这一需求,我所在组织的另一个团队表示,他们将Cassandra用于类似的项目(但有更多的数据,其中大部分是机器生成的)。我一直在阅读关于Hadoop and Cassandra的文章,我真的不确定使用这样的东西是不是有点过分,也不确定为每种日志/报告类型使用自定义解析器的关系数据库是否更合理。
根据我对Hadoop的理解,无论如何我都
是否可以覆盖每个作业的log4j属性?
我有一个多步程序(一个管道)来运行一些hadoop作业。
但在此之前和之后还会执行其他一些步骤。
如果我使用java命令(java -jar my_program.jar)运行我的程序,那么它运行正常,但我得到警告:
Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
如果我使用hadoop命令(hadoop jar my_program.jar)运行我的程序,那么将加载默认的hadoop log4j.p
因此,基本上,我有不同平台上的应用程序将日志数据发送到我的服务器。它是一个节点服务器,本质上接受日志条目的有效负载,并将它们保存到各自的日志文件中(作为写流缓冲区,所以速度很快),并在填充时创建一个新的日志文件。
我存储日志的方式实质上是每个“端点”只有一个文件,每个日志文件都由与度量相对应的空格分隔的值组成。例如,player事件日志结构可能如下所示:
timestamp user mediatype event
然后日志条目将如下所示
1433421453 bob iPhone play
基于阅读文档,我认为这种格式对Hadoop这样的东西是好的。我认为这样做的方式是将这些日志存储在服务器
我对Hadoop集群datanode故障转移有一些疑问:
1: What happen the link is down between the namenode and a datanode
(or between 2 datanodes) when the hadoop cluster is processing some data?
Does Hadoop cluster have any OOTB to recover this problem?
2: What happen one datanode is down when the hadoop cluster is