又几个月没写过文章了,今天随便写一写吧。
由于实际需要需要研读HDFS的源码,最好的方法就是加一些日志看NameNode是怎么运行的,又经常在外面,所以就需要在公网上搭一个分布式的Hadoop(只有HDFS)集群,有两个DataNode节点即可。但实际情况是我有一个阿里云服务器,有一个腾讯云服务器。联想到Hadoop可以跨机架,跨机房进行搭建,想了想从原理上来讲的话,这样应该也是可行的,于是抱着试一试的心态开始搭建跨云服务器(机房)的Hadoop集群。
我的阿里云服务器的公网IP为a11.b11.c11.d11,内网IP为a12.b12.c12.d12;腾讯云的服务器的公网IP为a21.b21.c21.d21,内网IP为a22.b22.c22.d22。
以阿里云的服务器为主,跑一个NameNode和一个DataNode,腾讯云服务器跑一个DataNode(个人腾讯云服务器跑了太多服务了,且配置等方面也不太够)。
下面开始。
首先,安装并配置Java环境,这就不多说了,apt-get或者yum安装一下,然后改一下环境变量即可。我安装的是Java7,因为我用的Hadoop的版本是hadoop2.6.0-cdh5.10.0,听说Java8会有问题,但我没有实际试过;
然后,编辑/etc/hosts文件,将本系统的别名编辑上去,在阿里云服务器上编辑如下: