Hadoop绑定多网卡问题

Hadoop多网卡绑定

  • Hadoop多网卡绑定
    • 网络环境介绍
    • iptables介绍
    • 详细操作配置
    • 参考文章链接

Hadoop默认配置NameNode 运行 HDFS 协议的端口8020绑定的主机接口domain段均为0.0.0.0,表示可通过任一块网卡访问该端口。对于双网卡服务器(一个内网,一个外网),这就意味着公网上所有的用户均可访问Hadoop配置的HDFS,这样存在一个极大的安全问题。这样,我们就修改了配置domain端替换成内网IP,这就意味着只有内网的网卡可访问HDFS。安全问题是解决了,但有一个问题:Hadoop集群是租用的阿里云服务器,和我们公司的机器不在一个局域网内,也没有VPN连接,造成本地开发MapReduce的时候无法进行本地进行测试。下面就该问题进行概述解决。

网络环境介绍

   5台阿里云ECS服务器,每台服务器都有两块网卡,安装NameNode节点的服务器为master,其网卡信息配置为:eth0为内网卡(10.10.12.9),eth1为外网卡(80.24.158.23)。HDFS服务端口为8020,使用命令:
#netstat -nltp | grep 8020
tcp     0      0 10.10.12.9:8020       0.0.0.0:*          LISTEN      5494/java 
   这里绑定的是内网卡的IP地址,我们要通过外网卡去访问该端口。这里使用iptables进行相关配置转发到该内网地址端口上。下面介绍一下iptables的使用和原理。

iptables介绍

  • Netfilter与Iptables

  • iptables四表五链

  • iptables数据流向
    Hadoop绑定多网卡问题_第1张图片

详细操作配置

  • 配置允许路由转发
#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 # 默认值为0,修改为1,表示允许转发
#sysctl -p
  • 关联包通过配置
#iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
  • 转发路由配置
#iptables -t nat -A PREROUTING -d 80.24.158.23 -p tcp --dport 8020 -j DNAT --to-destination 10.10.12.9:8020
  • 查看配置
#iptables -t nat --list -n

参考文章链接

  • http://coolnull.com/3322.html
  • https://my.oschina.net/javagg/blog/3239
  • http://www.cnblogs.com/zejin2008/p/5919550.html

你可能感兴趣的:(Linux,大数据计算)