写篇博文记录下我搭建hadoop-2.6.5,中间遇到一些坑,不过最后能看到namenode和nodemanager都能出来也算成功了。
由于每个人的操作系统,安装版本不一致,所以也不用像机器人一样照搬,按照我所说的步骤思想去做就行了,有些地方也需要灵活变通。
一、安装的步骤如下
1.给每台机器设置主机名,然后配置主机名和IP的映射关系(主机名类似域名)
2.安装ssh,设置免密码登录
3.安装JDK
4.安装hadoop-2.6.5
5.修改hadoop-env.sh,yarn-env.sh的JDK路径,以及core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml的配置文件
二、实验环境
1.宿主机器:HP elitebook 820 G3, 256G固态硬盘,双核四线程2.3Ghz的intel core i5处理器,8G内存,windows 7sp1操作系统
2.使用vmware workstation 版本10.0.2 build-1744117,虚拟化三个虚拟机,采用CentOS-6.5-x86_64 操作系统,虚拟机网络使用NAT网络模式(自动虚拟化DHCP服务器,自动分配IP,而且也虚拟化出NAT服务器,能直接脸上外网),都为1g内存,20G硬盘。
三台虚拟机分别是
192.168.172.128 master
192.168.172.129 worker1
192.168.172.130 worker2
其中master作为namenode,secondary namenod,resource manager。workerX作为dataNode,NodeManager。
三、具体安装
1.给每台机器设置主机名,然后配置主机名和IP的映射关系(主机名类似域名)
首先设置主机名,以master为例
针对worker1和worker2分别设置为worker1和worker2。
在master为例,设置主机名和IP的映射关系
使用vim /etc/hosts命令
worker1和worker2也设置如图所示。
可以使用ping命令来测试是否通
2.安装ssh,设置免密码登录
hadoop工作时,各节点要相互通讯,正常情况下linux之间通讯要提供用户名、密码(目的是保证通讯安全),如果需要人工干预输入密码,显然不方便,做这一步的目的,是让各节点能自动通过安全认证,不影响正常通讯。1 先在master上,生成公钥、私钥对cd (进入个人主目录,默认为/root)
ssh-keygen -t rsa -P '' (注