微软官方MSDN原版Win10系统下载

现在位置: 首页  > 系统教程  > Linux教程

Linux中如何屏蔽storm ui的kill功能

时间:2024-11-23 14:35:05   

大家好,今天Win10系统之家小编给大家分享「Linux中如何屏蔽storm ui的kill功能」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!

人体是如何运作的?系列软件最新版本下载

  Linux系统中storm的ui有kill topology功能如果没有屏蔽的话,就会导致storm的topology很容易被人kill掉,如果你的topology出现被人kill的情况,多半是ui地址被人知道了,为了系统的安全,有必要将storm ui的kill功能进行屏蔽,一起来了解下吧。

  有两种方法:

  1.前端增加nginx,做location

  分析ui页面,对应kill的button,html中的action为:

  代码如下:

  《input enabled=“” onclick=“confirmAction(‘xxxxxxxxxx’, ‘xxxxxxxx’, ‘kill’, true, 30)” type=“button” value=“Kill”》

  调用了js的confirmAction方法,这个方法存在于storm-core/src/ui/public/js/script.js 中,方法的定义如下:

  代码如下:

  function confirmAction(id, name, action, wait, defaultWait) {var opts = {type:‘POST’,url:‘/topology/’ + id + ‘/’ + action};

  if (wait) {

  var waitSecs = prompt(‘Do you really want to ’ + action + ‘ topology “’ + name + ‘”? ’ +‘If yes, please, specify wait time in seconds:’,defaultWait);if (waitSecs != null && waitSecs != “” && ensureInt(waitSecs)) {opts.url += ‘/’ + waitSecs;} else {return false;}

  } else if (!confirm(‘Do you really want to ’ + action + ‘ topology “’ + name + ‘”?’)) {return false;}

  $(“input[type=button]”).attr(“disabled”, “disabled”);$.ajax(opts).always(function () {window.location.reload();}).fail(function () {alert(“Error while communicating with Nimbus.”)});return false;}

  以看到方法主要分为两步,生成post请求的url,格式为‘/topology/’ + id + ‘/’ + action + ‘/’ + waitSecs,这里action为kill,waitSecs为触发kill时手动填入的时间,比如这里的30s,最终的url格式如下:

  代码如下:

  /topology/xxxxx/kill/xxxx

  第二步就是根据这个设置触发一个ajax请求,这里我们只需要关心第一步即可,设置nginx如下:

  代码如下:

  upstream storm {

  server 127.0.0.1:8888 weight=3 max_fails=3 fail_timeout=5s;}

  server {

  server_name storm.xxx.com;

  listen 80;

  proxy_set_header Host $host;

  proxy_read_timeout 3600;

  proxy_set_header X-Forwarded-For $remote_addr;access_log /var/log/nginx/storm.access.log main;error_log /var/log/nginx/storm.error.log debug;location ~* /topology/(.*)/kill/(.*) {return 403;}

  location / {

  proxy_pass http://storm;

  }

  }

  这样,就可以屏蔽掉前端的kill功能了。

  注意一个细节,storm ui的默认端口时8080,这个端口和nm冲突(见bug https://github.com/yahoo/storm-yarn/issues/25),设置storm.yaml ui.port: 8888,并重启ui即可。

  2.更改代码,去掉action相关的button

  代码如下:

  storm-core/src/ui/public/topology.html

  去除掉下面的部分:

  代码如下:

  《div id=“topology-actions”》

  《h2 class=“js-only”》Topology actions《/h2》

  《p id=“topology-actions” class=“js-only”》

  《/p》

  《/div》

  第二种方法需要重新编译,还没有做测试。。

  以上就是linux系统中屏蔽storm ui的kill功能的方法介绍了,本文一共介绍了两种方法,因为第二种方法还没测试,所以你可以使用第一种方法进行屏蔽。

以上就是关于「Linux中如何屏蔽storm ui的kill功能」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~

Win10系统之家wWw.gHoSt580.net*文章,不得自行转载,违者必追究!

上一篇:返回列表 下一篇:返回列表

相关文章

  • Linux中如何屏蔽storm ui的kill功能

    Linux中如何屏蔽storm ui的kill功能


      Linux系统中storm的ui有killtopology功能如果没有屏蔽的话,就会导致storm的topology很容易被人kill掉,如果你的topology出现被人kill的情况,多半是ui地址被人知道了,为了系统的安全,有必要将stormui的kill功能进行屏蔽,一起来了解下吧。
      有两种方法:
      1.前端增加nginx,做location
      ...
  • Linux系统中不同情况的重启命令如何使用

    Linux系统中不同情况的重启命令如何使用


      在进行Linux系统操作的时候,如果出现更换硬件、更改系统配置及死机等情况时,就需要对电脑进行重启,而不同的情形重启的方式也不同,即使用的命令不同,下面小编就给大家介绍下Linux下不同情形的重启方法。
      不同于桌面系统,作为服务器,我们较少对Linux系统进行系统重启,但在以下情形出现时,我们会对机器进行重启:
      更换硬件
      更改系统配置
      ...
  • Linux中如何让普通用户使用小于1024的端口

    Linux中如何让普通用户使用小于1024的端口


      在Linux系统中,一般情况下,小于1024的端口是不对没有root的Linux普通用户开放的。但是还是有一些技巧能够让没有root的用户使用小于1024的端口的。本文就来介绍一下Linux中如何让普通用户使用1024以下端口。
      方法一:SetUID
      给用户的应用程序在执行位设置用户ID能够使程序可以以root权限来运行,这个方法让程序能够像在root下运行一...
  • 初学者如何快速学习Linux下的find命令

    初学者如何快速学习Linux下的find命令


      单纯的了解Linuxfind命令是不够的,我们还要知道怎么使用它,下面小编从find的例子中给大家介绍下find的用法,希望对初学者能有所帮助。
      让我们先从一个简单例子开始。
      $find/-nametest
      。/backup/modules/field/modules/test
      $
      “查找根目录下名称为’test’的文件”,...