请跟我走,从零开始搭建hadoop2.5.0环境。
总览
第一步:搭建三台能不用密码shh的虚拟机。
第二步,装jdk,解压hadoop文件,配置环境变量和xml文件。
第三步,复制克隆两个slave机器。调试各类信息,
启动hadoop。
第一步:
先下载WMware,我下载的是:VMware-workstation-full-9.0.2-1031769
先总的感性看下整个界面。
然后下载centOS。我下载的是:CentOS-6.4-i386-bin-DVD1
两个软件见上。
下面开始安装centos。
先安装一个,另两个通过复制拷贝即可。
用vmware里的下面这个功能,一直下一步点击过去即可。
接下来,就是要配置三台可以互相不用密码可以ssh的centos。坑就来了。大家认真看。
先进入虚拟机的设置界面,将网络连接改为桥接(默认是NAT的):
然后,设置本机的IP地址:
三台机器的IP规划是:
192.168.65.130 # secondaryNameNode
192.168.65.136 #datanode
192.168.65.137 #datanode
下面就重点讲怎么配置第一台机器的IP为192.168.65.130:
在Terminal中root用户下输入setup命令:进入界面:
按下移键走到网络设置栏,进去设置Device configaration:
其中名称和设备请默认不要更改:
配置好后保存退出:
这个设置面板对应的是配置文件:
[root@centos1 network-scripts]# cat/etc/sysconfig/network-scripts/ifcfg-eth2
配置好后请配置下面文件:
[root@localhost ~]# vi /etc/sysconfig/network
HOSTNAME=centos1
[root@localhost ~]#
vi /etc/hosts
192.168.65.130 centos1
192.168.65.136 centos2
192.168.65.137 centos3
然后,先将NetworkManager停掉,因为它跟network冲突:
[root@centos1 network-scripts]# service NetworkManager stop
然后,重启网络服务:
跟上图一样了,就表示一台机器更改本机IP地址OK了。接下来配置不需要验密就能SSH登陆。
生成签名文件
[root@centos1 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
[root@centos1 ~]#cat ~/.ssh/id_dsa.pub>> ~/.ssh/authorized_keys
完成后可以使用 ssh centos1
验证一下。接着将公匙传输到 Slave1 节点:
scp ~/.ssh/id_rsa.pub hadoop@centos2:/home/hadoop/
[root@centos1 ~]# service iptables stop
测试本地SSH无密码登录 [root@centos1 ~]# ssh centos1 由于等会会复制2个系统副本,因此scp拷贝签名的工作不需要了。
注意:service iptables stop 为关闭防火墙,每次启动要执行。也可以用这个命令永久关闭防火墙:
chkconfig --level 35 iptables off
第一步先告一段落。
第二步,装jdk,解压hadoop文件,配置环境变量和xml文件。
Jdk安装我下载的是jdk-8u20-linux-i586.rpm。Hadoop安装我下载的是:hadoop-2.5.0.tar。
将两个文件拖进虚拟机中。在/home/hadoop/Desktop/下找到两个文件。
在该目录下执行:
rpm -i jdk-8u20-linux-i586.rpm
由于我不用密码登陆设的是root用户。所以将hadoop文件包mv到/root下。
然后解压即可:
tar -zvxf hadoop-2.5.0.tar。
接下来配置环境变量:
[root@centos1 Desktop]# vi /etc/profile
前面的不用管,在最后补上这些东西,见下面的截图:
让配置生效:
[root@centos1 ~]# source /etc/profile
第二配置文件:
[root@centos1 Desktop]# vi ~/.bashrc
添加以下内容。Java路径请按命令
java 查看自己的安装目录。
接下来配置Hadoop的配置文件。共三个。路径和三个文件名都用红框标出。
三个文件的配置:
修改yarn-site.xml
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.19.234</value>
</property>
</configuration>
whucs@slave1:~/hadoop-2.6.4/etc/hadoop$
接下来做以下复制:
cp -rf /root/hadoop-2.5.0/etc/hadoop/ /root/hadoop-2.5.0/conf
好了。第二步大功告成。
第三步,复制克隆两个slave机器。调试各类信息,
启动hadoop。
将刚才配置好的机器power off。然后将对应的文件夹拷贝两份:
打开另外两台刚拷贝的虚拟机。弹出的对话框点选I copied it。
然后对另两台机器分别按上面类似的配置本机IP。
配好后达到这个效果:
[root@centos1 hadoop-2.5.0]# ssh centos1
Last login: Tue Sep 2 02:39:13 2014 from centos1
[root@centos1 ~]#
[root@centos1 hadoop-2.5.0]# ssh centos2
Last login: Tue Sep 2 02:39:43 2014 from centos2
[root@centos1 ~]#
[root@centos1 hadoop-2.5.0]# ssh centos3
Last login: Tue Sep 2 02:40:13 2014 from centos3
[root@centos1 ~]#
即可以任意SSH不需要验密。
修改/etc/hadoop/hadoop-env.sh中设JAVA_HOME。
应当使用绝对路径。
export JAVA_HOME=$JAVA_HOME //错误,不能这么改
export JAVA_HOME=/usr/java/jdk1.6.0_45 //正确,应该这么改
接下来启动hadoop:
[root@centos1 sbin]# pwd
/root/hadoop-2.5.0/sbin
[root@centos1 sbin]# ./start-all.sh
达到以下结果即可:
天助自助者,我分享知识,自助助人,收获欢乐。希望能帮到有缘人。
写博客好累,写好后发布更累。图文并茂比较清楚,但是发布图片可麻烦了。