- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hadoop安装环境及部署
Hadoop安装环境及部署
环境
主机环境fedora 10+vmware-server 2.0.1虚拟环境为centos 5.3,
先架设一台centos 5.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用户主目录下
#useradd hadoop
#passwd hadoop
安装基本环境
*--*我们需要确保每台机器的主机名和IP地址之间能正确解析,检测方法为ping主机名ping通了就说明配置正常
所以我们要修改/etc/hosts文件
#vi /etc/hosts
localhost.localdomain localhost
30 hadoop0.hadoop hadoop0
31 hadoop1.hadoop hadoop1
32 hadoop2.hadoop hadoop2
*--*我们还需要检查机器是否安装了ssh和rsync
#rpm -qa | grep ssh
openssh-4.3p2-29.el5
openssh-clients-4.3p2-29.el5
openssh-server-4.3p2-29.el5
#rpm -qa | grep rsync
rsync-2.6.8-3.1
没有安装的话运行#yum install openssh* rsync
确保openssh是开机启动的
检查是否开启# chkconfig --list | grep ssh
d
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
开启ssh#chkconfig sshd on
*--*安装sun jdk-1.6.0_13
安装jdk#chmod u+x jdk-6u13-linux-i586-rpm.bin ; ./jdk-6u13-linux-i586-rpm.bin
配置java环境
$vi /home/hadoop/.bashrc
在 .bashrc文件中加入:
export JAVA_HOME=/usr/java/default
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
注:以上操作要在三太机器上都要做的
*--*SSH设置(这个配置可能在我的环境和真实的环境下有点不同我会分来讲下,先真实的三台机器的环境,我现在的环境比较容易配置)
在Hadoop启动以后,Namenode是通过SSH(Secure Shell)来启动和停止各个节点上的各种守护进程的,这就需要在节点之间执行指令的时候是不需要输入密码的方式,故我们需要配置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 -t rsa
这 个命令将为hadoop0上
文档评论(0)