首页 \ 问答 \ 弹性风暴拓扑/ Storm-Hadoop共存(Elastic Storm Topology / Storm-Hadoop Coexisting)

弹性风暴拓扑/ Storm-Hadoop共存(Elastic Storm Topology / Storm-Hadoop Coexisting)

我们正在评估追求风暴部署,但我有点担心。 我们目前运行Hadoop MapReduce,并希望将我们的一些处理从MapReduce转换到Storm流程。 请注意,这是一些,但不是全部。 我们仍然会有一些MapReduce功能。

我发现了Mesos,它可能(可能)允许我们在同一硬件上维护Storm和Hadoop部署,但还有其他一些问题:

  • 我认为理想的情况是能够任意地“借用”Storm和Hadoop之间的插槽。 恩。 两者都会根据需要使用相同的资源。 不幸的是,这是一个固定的部署,而不是像EC2那样的“基于云”。

  • 我想避免Storm环境中的瓶颈。 理想的情况是根据需求“旋转”(或反转)更多的Bolts实例。 这是可能的/现实的吗?

  • “重新启动”拓扑结构似乎是一个相当昂贵的操作,我不确定是否真的是一种选择。 理想情况下,我希望它尽可能无缝。

我们是否正确地处理了这个问题? 从本质上讲,Storm拓扑将“馈送”MapReduce批处理作业。 我们的一些处理可以以流媒体的方式进行处理,并且会比Storm拓扑好得多,而其中一些需要批处理。

任何一般的反馈,即使它没有解决我的具体问题,都会受到欢迎。 在这一点上,这更像是一个探索阶段,而我可能完全以错误的方式接近了这一点。


We are evaluating pursuing Storm for a deployment, but I am a little concerned. We currently run Hadoop MapReduce, and would want to transition some of our processing from MapReduce to Storm processes. Note that that is some, but not all. We would still have some MapReduce functionality.

I had found Mesos, which could (potentially) allow for us to maintain a Storm and Hadoop deployment on the same hardware, but had a few other issues:

  • I envision the ideal situation as being able to "borrow" slots between Storm and Hadoop arbitrarily. ex. both would use the same resources as needed. Unfortunately this is a fixed deployment, and isn't "cloud based" like EC2 or the such.

  • I want to avoid bottlenecks in our Storm environment. An ideal case would be to "spin up" (or the inverse) more instances of Bolts as demand requires. Is this possible / realistic?

  • "Restarting" a topology seems like a fairly expensive operation, and I'm not sure is really an option. Ideally, I would want it to be as seamless as possible.

Are we approaching this problem correctly? Essentially, a Storm topology would "feed" a MapReduce batch job. Some of our processing can be processed in a streaming fashion, and would be much better as a Storm topology, while some of it requires batch processing.

Any general feedback, even if it doesn't address my specific questions, would be welcome. This is more of an exploratory phase at this point, and I might be totally approaching this the wrong way.


原文:https://stackoverflow.com/questions/14132871
更新时间:2022-09-16 20:09

最满意答案

可能是你应该在重定向时使用querystring变量。

if($_POST['Action'] == "DELETE") {
    $file_to_delete = $_POST['CodeList'];
    if(unlink($directory.'/'.$file_to_delete)) {
        header('Location: http:/mysite.com/evo/codesaveindex.php?deleted=1&file='.$file_to_delete);
    } else {
        header('Location: http:/mysite.com/evo/codesaveindex.php?deleted=0&              file='.$file_to_delete);
    }
}

在codesaveindex.php中:

if(isset($_GET['deleted'])&& $_GET['deleted']==1) {
    echo $file_to_delete." deleted.";
} elseif(isset($_GET['deleted'])&& $_GET['deleted']==0) {
    echo "Error deleting file ".$file_to_delete; 
}

may be you should use querystring variable while redirecting.

if($_POST['Action'] == "DELETE") {
    $file_to_delete = $_POST['CodeList'];
    if(unlink($directory.'/'.$file_to_delete)) {
        header('Location: http:/mysite.com/evo/codesaveindex.php?deleted=1&file='.$file_to_delete);
    } else {
        header('Location: http:/mysite.com/evo/codesaveindex.php?deleted=0&              file='.$file_to_delete);
    }
}

In codesaveindex.php:

if(isset($_GET['deleted'])&& $_GET['deleted']==1) {
    echo $file_to_delete." deleted.";
} elseif(isset($_GET['deleted'])&& $_GET['deleted']==0) {
    echo "Error deleting file ".$file_to_delete; 
}

相关问答

更多
  • 可能是你应该在重定向时使用querystring变量。 if($_POST['Action'] == "DELETE") { $file_to_delete = $_POST['CodeList']; if(unlink($directory.'/'.$file_to_delete)) { header('Location: http:/mysite.com/evo/codesaveindex.php?deleted=1&file='.$file_to_delete); ...
  • 你的问题是对标题的调用; 删除位置和之间的空格: header("Location: $insertGoTo"); 或者你的代码风格: header(sprintf("Location: %s", $insertGoTo)); Your problem is with the call to header; Remove the space between Location and : header("Location: $insertGoTo"); OR in your code style: he ...
  • 发送电子邮件后,请通过将网址更改为您的主页添加以下行。 header('Location: http://www.example.com/home'); 有时它会在重定向中返回错误,所以你可以在php中使用javascript,如下所示 echo ""; 希望这会帮助你。 After sending email do a ...
  • 问题是因为标头必须在JS /纯文本/类似启动之前发送(重定向功能是标头)。 我的解决方案是使用Javascript重定向而不是PHP。 Ok. So having looked around, it seems that jQuery mobile was the issue. Adding data-ajax="false" to my seems to have fixed the redirect issue
  • 使用jQuery: $('select').change(function () { $(this).closest('form').attr('action', 'pages/' + $('option:selected', this).val()); }); 使用PHP(简短版本 - 请注意,您应删除name =“pages /”上的尾部斜杠) header('Location: /pages/' + $_POST['pages']); GOT IT! And I don't need a ...
  • 如果您不需要在客户端上看到instance_id,则可以创建某种重定向页面,该页面从数据库中检索instance_id。 此页面可能与目标页面相同。
    Instructions
  • if($_GET['var1'] == "valueyouwant" || $_GET['var1'] == "another_acceptable_value"){ header("Location: redirect_to_me.php"); } else { header("Location: redirect_to_another_page.php"); } exit(); 或者有点重构: $redirect_page = "redirect_to_another_page.php"; ...
  • 看起来您正在解析header_contact.php HTML。 您无法在重定向之前解析HTML内容。 尝试切换包含的php文件。 It looks like you are parsing HTML in your header_contact.php. You cannot parse HTML content before a redirect. Try s ...
  • 第一个依赖于您在查询字符串中设置next值,并将重定向到该URL(如果提供)(或默认情况下,否则)。 第二个将重定向到浏览器从当前页面进入的页面。 既不可信任,因为两者都可以由用户更改。 如果您只想重定向到您自己的应用程序中的页面,则需要验证目标是相对URL还是域名,端口和方案是相同的。 The first relies on you setting a next value in the query string, and will redirect to that url if supplied (or ...
  • 问题是你在调用header()之前输出数据,它不会像这样工作。 将所有PHP放在表单上方。 The problem is you're outputting data before calling the header(), it won't work like this. Put all the PHP above the form.

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。