运行 用于生产的本地模式 Hadoop

Running Hadoop in Local Mode for Production

我已经在 Hadoop 上工作了一段时间,我们都知道我们使用本地模式来构建我们的 scripts/jobs 并在本地测试它们。 但是如果我们有一个场景,因为我们的一些客户有小数据集,一些客户有大数据集,我们不想写两份业务逻辑代码——一份用于本地 运行 模式,一份用于分布式模式运行,那怎么办。

生产部署的一种方法是将 Hadoop Jobs/Pig/MR 作业的本地模式 运行 提供给数据集较小的客户,并为数据集较大的客户提供分布式设置模式集。

我的问题是: 在生产中提供本地模式 Hadoop 设置(因为数据量不是很大),这是个好主意吗?!

如果生产中的小数据集选择伪分布式模式,我需要考虑一下每种方法(本地模式和伪分布式模式)所面临的局限性,以及是否存在任何风险为生产部署相同的东西。如果有人遇到这样的设计挑战,请提供帮助。

多多指教..

谢谢

我们以伪分布式模式甚至本地模式发布我们的一些产品版本,以防磁盘速度极慢且缺少 CPU 资源。这些配置通常安装在虚拟机上,因此我们向客户推荐的是计划的 VM 备份。这在一定程度上可以恢复。

重要的是告知客户性能和可靠性的固有权衡,同时鼓励他们将当前配置视为未来可扩展性的正确架构,如果他们对功能和整体结果感到满意的话在较小的范围内。

我们的客户 运行 处于伪分布式模式,在 2 年期间发生了 1 次计划外停机事件 - 这是硬件级别的断电。由于非正常关机导致一些数据丢失,但范围有限。

我们为这些安装所做的一件事是安排 HBase 中的自动主要压缩,该压缩由 cron 每天在非高峰时段触发。