hadoop集群部署之双虚拟机版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、采用一台机器开两个虚拟机的方式构成两台电脑的环境,用root登录。
分别查看其IP地址:输入# ifconfig,可得主机IP:192.168.1.99;分机为:192.168.1.100。
2、在两台机器上的/etc/hosts均添加相应的主机名和IP地址:
这里主机名命名为shenghao,分机名命名为slave:
保存后重启网络:
3、两台机器上均创立hadoop用户(注意是用root登陆)
# useradd hadoop
# passwd hadoop
输入111111做为密码
登录hadoop用户:
注意,登录用户名为hadoop,而不是自己命名的shenghao。
4、ssh的配置
进入centos的“系统→管理→服务器设置→服务,查看sshd服务是否运行。
在所有的机器上生成密码对:
# ssh-keygen -t rsa
这时hadoop目录下生成一个.ssh的文件夹,
可以通过# ls .ssh/来查看里面产生的私钥和公钥:id_rsa和id_rsa.pub。
更改.ssh的读写权限:
# chmod 755 .ssh
在namenode上(即主机上)
进入.ssh,将id_rsa.pub直接复制为authorized_keys(namenode的公钥):
# cp id_rsa.pub authorized_keys
更改authorized_keys的读写权限:
# chmod 644 authorized_keys 【这个不必须,但保险起见,推荐使用】
然后上传到datanode上(即分机上):
# scp authorized_keys hadoop@slave:/home/hadoop/.ssh
# cd .. 退出.ssh文件夹
这样shenghao就可以免密码登录slave了:
然后输入exit就可以退出去。
然后在datanode上(即分机上):
将datanode上之前产生的公钥id_rsa.pub复制到namenode上的.ssh目录中,并重命名为slave.id_rsa.pub,这是为了区分从各个datanode上传过来的公钥,这里就一个datanode,简单标记下就可。
# scp -r id_rsa.pub hadoop@shenghao:/home/hadoop/.ssh/slave.id_rsa.pub
复制完毕,此时,由于namenode中已经存在authorized_keys文件,所以这里是追加,不是复制。在namenode上执行以下命令,将每个datanode的公钥信息追加:
# cat slave.id_rsa.pub >> authorized_keys
这样,namenode和datanode之间便可以相互ssh上并不需要密码:
然后输入exit就可以退出去。
5、hadoop的集群部署
配置hadoop前一定要配置JDK,请参考相关资料,这里就不赘述了。
将下载好的hadoop-0.19.0.tar.gz文件上传到namenode的/home/hadoop/hadoopinstall
解压文件:
# tar zxvf hadoop-0.19.0.tar.gz
在/erc/profile的最后添加hadoop的路径:
# set hadoop path
export HADOOP_HOME=/home/hadoop/hadoopinstall/hadoop-0.20.2
export PATH=$HADOOP_HOME/bin:$PATH
之后配置hadoop/conf中的4个文件:
(1)
*******配置core-site.xml********
(注意,请先在hadoopinstall目录下建立tmp文件夹)
(2)
************配置mapred-site.xml**************
(3)
************配置hdfd-site.xml***************
(replication 是数据副本数量,默认为3,datanode 少于3台就会报错)
(4)配置masters,加入shenghao 192.168.1.99 (建议同时去掉localhost)
(5)配置slaves,加入slave 192.168.1.98 (建议同上)
6、将namenode的hadoop复制到datanode之上,可以用上面所述的传送指令的方法打包传送,也可以通过VMtools的文件夹共享功能复制过去。