转载请标明出处:http://blackwing.iteye.com/blog/1949154
不少公司为了安全,hadoop、hbase集群都是不对外开放,只有一台入口机对外,那么当要查看hadoop、hbase集群机器状态等信息时,就没办法了。
而要实现内网机器给外网访问,要解决的问题是:
1.hadoop、hbase页面上的url替换成外网能访问的url
2.通过有限的端口、外网ip对外提供整集群访问
强大的nginx正好能解决这个问题。而nginx要替换返回的页面内容,虽然它自己有模块可以实现,但据了解只能替换一次,而网上比较常用的是第三方的替换模块nginx_substitutions_filter,其主页:
http://code.google.com/p/substitutions4nginx/
整个实现步骤为:
1. 下载nginx_substitutions_filter并解压:
根据官方的建议:
git clone git://github.com/yaoweibin/ngx_http_substitutions_filter_module.git
2. 下载nginx稳定版并解压:
wget http://nginx.org/download/nginx-1.4.2.tar.gz
3. 编译安装
根据自己需要选择要适应的模块,并且指定substitutions4nginx模块的路径
./configure --prefix=/usr/local/nginx --pid-path=/usr/local/nginx.pid --with-http_dav_module --with-http_flv_module --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-debug --add-module=/home/hadoop/nginx/third-party-md/ngx_http_substitutions_filter_module/
make
make install
4. 配置nginx.conf
#替换hbase
server {
listen 8000;
location / {
proxy_pass http://master;
subs_filter_types text/html text/css text/xml;
subs_filter hd1:60030 192.168.1.25:8000/hd11;
subs_filter hd2:60030 192.168.1.25:8000/hd22;
}
location /hd11/ {
proxy_pass http://192.168.1.25:60030/rs-status;
}
location /hd22/ {
proxy_pass http://192.168.1.30:60030/rs-status;
}
}
#替换hadoop jt
server {
listen 8001;
location / {
proxy_pass http://master2;
subs_filter_types text/html text/css text/xml;
subs_filter hd1:50060 192.168.1.25:8001/hd11;
subs_filter hd2:50060 192.168.1.25:8001/hd22;
}
location /hd11/ {
proxy_pass http://192.168.1.25:50060/tasktracker.jsp;
}
location /hd22/ {
proxy_pass http://192.168.1.30:50060/tasktracker.jsp;
}
}
#替换hadoop nn
server {
listen 8002;
location / {
proxy_pass http://master3;
subs_filter_types text/html text/css text/xml;
subs_filter hd1:50075 192.168.1.25:8002/hd11;
subs_filter hd2:50075 192.168.1.25:8002/hd22;
}
location /hd11/ {
proxy_pass http://192.168.1.25:50075/;
}
location /hd22/ {
proxy_pass http://192.168.1.30:50075/;
}
}
upstream master {
server 192.168.1.30:60010;
}
upstream master2 {
server 192.168.1.25:50030;
}
upstream master3 {
server 192.168.1.25:50070;
}
重启ng服务让配置生效。
这样就可以通过统一ng入口访问内网集群了,后面如果有需要添加的修改nginx.conf就行。
分享到:
相关推荐
【Windows环境下配置Nginx实现负载均衡集群】 在IT领域,负载均衡是一种常见的技术,用于在多台服务器间分配网络流量,以提高系统的可用性和响应速度。通常,Linux是实现负载均衡的主流平台,但Windows环境下的配置...
基于muduo库实现的集群聊天服务器,通过mysql存储数据,通过nginx实现tcp负载均衡,通过redis实现集群内服务器间的消息订阅发布。 基于muduo库实现的集群聊天服务器,通过mysql存储数据,通过nginx实现tcp负载均衡,...
"guides:apache nginx django uwsgi hadoop hbase openstack linux 命令等实用指南" 提及了多个关键组件,让我们逐一深入探讨它们的核心知识点。 1. **Apache**: Apache HTTP Server是最广泛使用的Web服务器软件,...
内网安装Nginx(离线)是一种常见的情况,特别是在企业环境中,由于安全...通过以上步骤,你可以在内网环境下成功地安装和配置Nginx,实现离线安装和集群部署。这种方法对于保障内网环境的安全性和高效运营至关重要。
在集群环境中,Nginx能够通过反向代理将请求分发到多个后端服务器,实现负载均衡,提高系统整体处理能力。同时,Nginx还支持HTTP、HTTPS、SMTP、POP3和IMAP等协议,使得其应用范围非常广泛。 Lua是一种轻量级的、...
总之,通过Nginx实现Tomcat和WebLogic集群的负载均衡,不仅可以提高系统的可用性和响应速度,还能有效应对高并发访问。结合合理的故障处理机制和性能调优策略,可以构建出稳定且高效的Web服务架构。
最近有个需求是需要用nginx播放服务器的视频,考虑安全问题,需要在nginx加个lua去取redis的token进行验证,刚开始访问测试环境单机还挺好用,可是要访问生产的是集群环境,找了多了资料趟了数不尽的坑,最终形成这...
通过以上步骤,我们可以构建一个基于Tomcat、Nginx和Redis的高性能、负载均衡的Web集群,确保用户在不同服务器间的会话一致性,同时提高了系统的稳定性和可扩展性。在实际操作中,还需要根据具体业务需求和资源情况...
内网nginx正向代理外网,并实现高德地图:web资源服务器A,搭建nginx转发服务,和webJsAPI的字符替换,涉及两个包nginx-1.22.1.tar.gz、ngx_http_substitutions_filter_module-master.zip代理服务器B,搭建nginx外网...
Nginx+RTMP推拉流集群方案是一种流行的视频直播技术架构,它通过结合Nginx Web服务器和RTMP(Real Time Messaging Protocol)流媒体传输协议来实现网络视频直播的推送和接收功能。RTMP协议由Adobe公司开发,主要用于...
Nginx 是一种轻量级的 Web 服务器,可以与 Keepalived 配合使用来实现高可用集群。Nginx 的主要功能包括: * 反向代理 * 负载均衡 * 缓存 * URL 重写 Tomcat 简介 Tomcat 是一种 Java Web 应用服务器,可以与 ...
在Linux环境中,特别是CentOS 7这样的服务器操作系统中,Nginx被广泛用作Web服务器和反向代理,用于实现高可用性和负载均衡。本文将详细介绍如何在Linux上搭建Nginx集群,以及如何进行详细配置,以实现负载均衡功能...
【内网Nginx全套安装环境详解】 在搭建内网Nginx服务器的过程中,我们需要确保系统环境具备必要的组件,以确保Nginx能够稳定、高效地运行。本篇将详细介绍如何在内网环境中安装和配置Nginx,以及涉及到的关键知识点...
**Nginx安装与使用** Nginx是一款高性能的HTTP和反向代理...通过以上步骤,你可以成功地在Nginx上部署WebSocket服务,并实现集群和断线重连功能。确保在实际操作时根据自己的服务器环境和应用需求进行适当的调整。
- 启动Nginx和Resin服务器,通过访问Nginx的公共IP或域名测试集群功能。 - 监控与优化:使用工具如Nginx的access.log和error.log,以及Resin的日志监控集群状态。根据性能指标调整Nginx和Resin的配置,如超时时间...
Nginx+Tomcat+Memcached集群Session共享实例,Nginx 1.81 + tomcat1 + tomcat2 + Memcached 完整可运行 访问根目录下 test.jsp 可看效果
标题 "Nginx+Tomcat+Memcached集群Session共享" 描述了在分布式环境中如何通过Nginx反向代理服务器、Tomcat应用服务器集群以及Memcached缓存系统来实现Session的共享。这是一个常见的高可用性和负载均衡解决方案。...
在构建高性能、高可用性的Web服务时,"Nginx+Redis+Tomcat 集群部署"是一种常见的架构模式。这种模式结合了Nginx的反向代理和负载均衡能力,Redis的数据缓存功能,以及Tomcat的Java应用服务器性能,能够有效提升系统...
总的来说,Nginx的Web服务器集群负载均衡功能为企业级应用提供了强大的支持,它不仅能有效应对高并发访问,还能通过反向代理隐藏内部结构,提升安全性,同时通过灵活的配置和负载均衡策略,实现了系统的高效运行和...