通过公网IP访问云上的Hadoop集群

来源:互联网 发布:网络大电影名词解释 编辑:程序博客网 时间:2024/04/27 11:07

背景:从公司内部网络中的Hadoop集群访问部署在亚马逊云的Hadoop集群

公司内部网络访问亚马逊云上的Hadoop集群

1. IP、域名设置

1.1 给云上每个实例设置一个内网IP(如上图10.0.0.5)
1.2 给云上每个实例绑定一个Elastic IP(弹性IP,如上图X.X.X.1),并且与内网IP一一对应
1.3 给云上每个实例配置一个域名(如上图A001),并且与内网IP一一对应
1.4 给公司内部网络每台机器(实例)配置一个域名(同1.3的域名如A001),并且与Elastic IP一一对应

2. 公司内部网络Hadoop集群配置

2.1 此时公司内部网络中的Hadoop集群相对于云上的Hadoop集群为客户端,需要做如下配置:在hdfs-site.xml中添加dfs.client.use.datanode.hostname属性,表示通过域名访问
<property>        <name>dfs.client.use.datanode.hostname</name>        <value>true</value></property>

3. 云上Hadoop集群配置【建议】

可以考虑将云上服务器端的Hadoop集群配置文件hdfs-site.xml,增加dfs.datanode.
use.datanode.hostname属性,表示datanode之间的通信也通过域名方式。

<property>        <name>dfs.datanode.use.datanode.hostname</name>        <value>true</value></property>

这样能够使得更换内网IP变得十分简单、方便,而且可以让特定datanode间的数据交换变得更容易。但与此同时也存在一个副作用,当DNS解析失败时会导致整个Hadoop不能正常工作,所以要保证DNS的可靠。
总结:将默认的通过IP访问,改为通过域名方式访问。
https://rainerpeter.wordpress.com/2014/02/12/connect-to-hdfs-running-in-ec2-using-public-ip-addresses/

0 0
原创粉丝点击