首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 云计算 >

云计算集群环境的筹建

2012-10-07 
云计算集群环境的搭建前提条件:1.首先要使得要配成集群环境的几台机器安装jdk2.在每台机器上安装ssh3.在每

云计算集群环境的搭建

前提条件:

1.首先要使得要配成集群环境的几台机器安装jdk

2.在每台机器上安装ssh

3.在每台机器上安装hadoop

?

?

在这个基础上,再来配置各机器之间的分布实现。

首先来说明一下:Linux系统下jdk的安装吧!

?????????? 因为要配置成集群环境,所以每台机器的jdk软件包的版本必须一致,当然,hadoop的jar包的版本也必须一致,不然,会出现意想不到的错误,我们组在配置时就犯了这个错误,还必须注意:每台机器jdk和hadoop解压后的文件夹也必须放到统一的目录下:jdk解压后放在/usr/local/java,hadoop解压后是放在/usr/local/hadoop中。

?大致分为一下几个步骤:

?

1.从网站上下载:jdk软件包。我们组用的是:
云计算集群环境的筹建

?

?2在/usr/local下建立java目录。

?

3.将jdk软件包复制到java目录中。

?

4.给jdk文件赋予权限,可以使得当前用户操作。

?

5.解压jdk软件包,进行安装。

?

???? 在终端输入:sudo ./jdk-6u30-linux-i586.bin

6.配置环境变量。

?

? sudo gedit /etc/profile

在这个文件中输入以下内容:


云计算集群环境的筹建

7.重启计算机,查看jdk是否安装成功。

?

在终端输入: java -version
云计算集群环境的筹建
?出现如上图所示:就表示:jdk已经安装成功。

?

?

?安装ssh:

在终端输入:

sudo apt-get install ssh

sudo apt-get install rsync

ssh-keygen -t rsa -P ' ' -f ~/.ssh/id_rsa

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

然后验证是否安装成功:

ssh localhost

出现如下图所示:就表示安装成功。


云计算集群环境的筹建

?

?

安装hadoop:

1.将hadoop软件包复制到/usr/local中

?

2.解压该hadoop软件包到当前路径下:

sudo tar xzf hadoop-0.20.203.tar.gz

?

3.为了方便起见:将其重命名。

mv hadoop-0.20.203 hadoop

?

4.必须将该文件夹的权限赋给当前登录用户。

为了集群的方便管理,我们还可以建立一个hadoop组和hadoop用户(hadoop用户是在hadoop组下的)。

sudo addgroup hadoop(建立hadoop组)

sudo adduser -ingroup hadoop hadoop(创建hadoop用户,并将该用户归到hadoop组中)

给hadoop用户添加权限

sudo gedit /etc/sudoers

在该文件的root All=(All) All的下一行添加:

hadoop All=(All) All
以上表示:每台机器的准备工作已经做好。

?

?

再从这些机器中选取一台作为namenode节点.

1.必须使namenode能够无密码登录到其他的datanode节点。所以,要将namenode的公钥发送给其他datanode节点。在 namenode的终端输入:scp ~/.ssh/id_rsa.pub hadoop@机器名 ~/.ssh/authorized_keys

其原理就是:当namenode要无密码登录到其他datanode节点后,datanode就可以用namenode的公钥进行解密,从而之间可以进行通信。

2.配置hadoop环境

在集群中的每台机器的hostst文件将集群中所有机器的ip加入进来,由于ip太长,我们可以给ip做个映射,即:ip? 机器名

?在 namenode机器上的/usr/local/hadoop/conf的目录下新建masters和slaves文件。masters文件里将 secondarynode的机器名添加进去,masters文件里表明的是这个集群中谁作为备份节点。然后在slaves里面添加:所有 datanode的机器名。这个slaves和masters文件只需在namenode机器上创建。slaves文件里的内容代表:当namenode 启动时:可以自行也将其他datanode也启动。

然后配置:/usr/local/hadoop/conf/core-site.xml,将如下内容添加进去。


<configuration>
<property> ?
? <name>fs.default.name</name> ?
? <value>hdfs://master:9000</value>? ?
?</property> ?
</configuration>


然后在配置:/usr/local/hadoop/conf/hdfs-site.xml,将一下内容添加进去。


<configuration>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/datalog1,/usr/local/hadoop/datalog2</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/data1,/usr/local/hadoop/data2</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>


在配置:/usr/local/hadoop/conf/mapred-site.xml,将以下内容添加进去。


<configuration> ?
???? <property>? ?
????? <name>mapred.job.tracker</name> ?
????? <value>master:9001</value>? ?
???? </property> ?
??? </configuration>

?
然后,再将namenode的这个三个配置文件全部复制到其他datanode上去。
这样,集群环境就已经配置成功!
启动namenode节点。
在namenode结点的终端输入:sudo bin/hadoop namenode -format
?????????????????????? bin/start-all.sh
停止hadoop进程。
? bin/stop-all.sh
查看集群中有几个datanode,
bin/dfsadmin -report

?

?

感悟:由于这个集群环境是过年之前配置的,当时没有写文档,而且配置过程中遇到过很多问题,没有记录,导致现在重新回想这个过程,感觉很吃力。虽然集群配置环境只有这么几个步骤,但是,每一步配置的时候,会遇到各种问题。所以,各位在配置这个环境时,如遇到问题,请及时记录,以便以后好好研究。

?

?

?

?

热点排行