你如何调试 accumulo 迭代器和过滤器?
How do you debug accumulo iterators and filters?
我正在使用日志记录进行调试,但它的效率极低。还有哪些其他方法?
不幸的是,日志记录往往是您最好的选择。使用传统调试器进行调试相当困难,尤其是在生产环境中,因为迭代器的分布式特性。对于产品级调试,最好的办法是将一些脚本放在一起,将所有日志提取到一个地方,以便您可以有效地分析它们。在开发模式下,您可以在 local/single/standalone 模式下设置 Hadoop 集群,这样可以更轻松地找出迭代器的位置 运行,以便您可以将调试器附加到 运行 进程.
这个问题不是针对 Accumulo 的,但可能会给您一些进行日志调试的想法
Consolidate MapReduce logs
Accumulo 有两个调试版本,您可以在本地 运行 帮助开发或在单元测试中使用。
MockAccumulo - 一个轻量级的内存版本。我相信这可能会很快从代码库中删除,以支持 Mini Accumulo Cluster。
Mini Accumulo Cluster - 这比 MockAccumulo 更能代表 Accumulo,它实际上 运行s Zookeeper 和 运行s 与普通 Accumulo 集群 运行 相同的代码.
我以前经常使用 MockAccumulo 来帮助迭代器开发并至少启用某些类型的单元测试,我发现它非常有用。
迭代器测试工具可能对您有所帮助。
https://github.com/apache/accumulo/tree/1.8/iterator-test-harness
我正在使用日志记录进行调试,但它的效率极低。还有哪些其他方法?
不幸的是,日志记录往往是您最好的选择。使用传统调试器进行调试相当困难,尤其是在生产环境中,因为迭代器的分布式特性。对于产品级调试,最好的办法是将一些脚本放在一起,将所有日志提取到一个地方,以便您可以有效地分析它们。在开发模式下,您可以在 local/single/standalone 模式下设置 Hadoop 集群,这样可以更轻松地找出迭代器的位置 运行,以便您可以将调试器附加到 运行 进程.
这个问题不是针对 Accumulo 的,但可能会给您一些进行日志调试的想法
Consolidate MapReduce logs
Accumulo 有两个调试版本,您可以在本地 运行 帮助开发或在单元测试中使用。
MockAccumulo - 一个轻量级的内存版本。我相信这可能会很快从代码库中删除,以支持 Mini Accumulo Cluster。
Mini Accumulo Cluster - 这比 MockAccumulo 更能代表 Accumulo,它实际上 运行s Zookeeper 和 运行s 与普通 Accumulo 集群 运行 相同的代码.
我以前经常使用 MockAccumulo 来帮助迭代器开发并至少启用某些类型的单元测试,我发现它非常有用。
迭代器测试工具可能对您有所帮助。
https://github.com/apache/accumulo/tree/1.8/iterator-test-harness