如何修改Storm UI的上下文路径?配置storm.yaml未生效求助
解决Storm UI修改上下文路径的可行方案
我之前帮不少开发者解决过这个问题,Storm自带的yaml配置有时候确实不那么靠谱,给你几个实测有效的方案,按需选择就行:
方案1:修改Jetty webapps目录结构(通用稳定,适用于大多数版本)
Storm UI底层基于Jetty运行,直接调整Jetty的web应用目录就能改上下文:
- 找到Storm安装目录下的
storm-ui/webapps文件夹 - 将原本的
ROOT文件夹重命名为storm-ui - 重启Storm UI服务(如果是集群,所有运行UI的节点都要做这个操作)
- 之后就能通过
http://<storm-host>:<storm-port>/storm-ui访问了
方案2:尝试Storm内置的Jetty上下文配置(部分版本支持)
有些Storm版本支持通过storm.yaml直接配置上下文路径,你可以试试添加以下配置:
ui.webapp.context.path: "/storm-ui" ui.webapp.extras: []
- 保存配置后重启Storm UI服务,测试访问路径是否生效
- 如果这个配置没起作用,说明你的Storm版本不支持该参数,直接换其他方案即可
方案3:反向代理映射路径(最灵活,适合生产环境)
如果以上方法都不行,用反向代理(比如Nginx)做路径映射是最稳妥的方式:
- 配置Nginx的转发规则,示例如下:
server { listen 80; server_name <your-host-or-domain>; location /storm-ui/ { proxy_pass http://<storm-host>:<storm-port>/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
- 重启Nginx服务后,就能通过
http://<your-host-or-domain>/storm-ui访问Storm UI了 - 这种方式不需要修改Storm的任何配置,还能顺便实现负载均衡、SSL加密等功能,非常适合生产集群
注意:不管用哪种方案,修改后一定要重启Storm UI服务,否则配置不会生效。如果是用systemd管理的服务,可执行
systemctl restart storm-ui命令重启。
内容的提问来源于stack exchange,提问作者Raj
相关产品推荐
相关产品推荐

