预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Hadoop安装环境及部署 环境 主机环境fedora10+vmware-server2.0.1虚拟环境为centos5.3, 先架设一台centos5.3的hadoop的环境在最后把系统复制2份。 对于Hadoop来说,在HDFS看来,节点分为Namenode和Datanode,其中Namenode只有一个,Datanode可以是很多;在MapReduce看来,节点又分为Jobtracker和Tasktracker,其中Jobtracker只有一个,Tasktracker可以是很多。 我是将namenode和jobtracker部署在hadoop0上,hadoop1,hadoop2作为datanode和tasktracker。当然你也可以将namenode,datanode,jobtracker,tasktracker全部部署在一台机器上目录结构 由于Hadoop要求所有机器上hadoop的部署目录结构要相同,并且都有一个相同的用户名的帐户。 *--*新建一个用户hadoop以后架设hadoop全在hadoop用户主目录下 #useraddhadoop #passwdhadoop 安装基本环境 *--*我们需要确保每台机器的主机名和IP地址之间能正确解析,检测方法为ping主机名ping通了就说明配置正常 所以我们要修改/etc/hosts文件 #vi/etc/hosts 127.0.0.1 localhost.localdomainlocalhost 192.168.1.230hadoop0.hadoop hadoop0 192.168.1.231 hadoop1.hadoophadoop1 192.168.1.232 hadoop2.hadoophadoop2 *--*我们还需要检查机器是否安装了ssh和rsync #rpm-qa|grepssh openssh-4.3p2-29.el5 openssh-clients-4.3p2-29.el5 openssh-server-4.3p2-29.el5 #rpm-qa|greprsync rsync-2.6.8-3.1 没有安装的话运行#yuminstallopenssh*rsync 确保openssh是开机启动的 检查是否开启#chkconfig--list|grepssh d sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off 开启ssh#chkconfigsshdon *--*安装sunjdk-1.6.0_13 安装jdk#chmodu+xjdk-6u13-linux-i586-rpm.bin;./jdk-6u13-linux-i586-rpm.bin 配置java环境 $vi/home/hadoop/.bashrc 在.bashrc文件中加入: exportJAVA_HOME=/usr/java/default exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin 注:以上操作要在三太机器上都要做的 *--*SSH设置(这个配置可能在我的环境和真实的环境下有点不同我会分来讲下,先真实的三台机器的环境,我现在的环境比较容易配置) 在Hadoop启动以后,Namenode是通过SSH(SecureShell)来启动和停止各个节点上的各种守护进程的,这就需要在节点之间执行指令的时候是不需要输入密码的方式,故我们需要配置SSH使用无密码公钥认证的方式。 现在hadoop0是主节点,它需要主动发起SSH连接到hadoop1和hadoop2,对于SSH服务来说,hadoop0就是SSH客户端,而hadoop1、hadoop2则是SSH服务端,因此在hadoop1,hadoop2上需要确定sshd服务已经启动。简单的说,在hadoop0上需要生成一个密钥对,即一个私钥,一个公钥。将公钥拷贝到hadoop1,hadoop2上,这样,比如当hadoop0向hadoop1发起ssh连接的时候,hadoop1上就会生成一个随机数并用hadoop0的公钥对这个随机数进行加密,并发送给hadoop0;hadoop0收到这个加密的数以后用私钥进行解密,并将解密后的数发送回hadoop1,hadoop1确认解密的数无误后就允许hadoop0进行连接了。这就完成了一次公钥认证过程。 对于本文中的三台机器,首先在hadoop0上生成密钥对: $ssh-keygen-trsa 这个命令将为hadoop0上的用户hadoop生成其密钥对,询问其保存路径时直接回车采用默认路径,