hadoop集群环境搭建
一、安装环境配置
电脑型号 |
ASUS A40JP 笔记本 |
操作系统 |
Windows 7 旗舰版 64位 sp1 |
CPUT |
英特尔 Core i5 M 480 |
内存 |
金士顿 DDR3 1333MHZ 6G |
硬盘 |
希捷 500G |
虚拟机软件 |
Oracle VM VirtualBox 4.3 |
Master |
Centos6.5 Mem:1G Disk:20G hostname:hadoop1,ip:192.168.1.10 |
slave1 |
Centos6.5 Mem:1G Disk:20G hostname:hadoop2,ip:192.168.1.20 |
Slave2 |
Centos6.5 Mem:1G Disk:20G hostname:hadoop3,ip:192.168.1.30 |
Java |
jdk1.7.0_60 |
Hadoop |
hadoop-1.2.1 |
二、服务器基本配置(需要root账号操作)
1、配置IP:
[root@hadoop1 usr]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
另外两台的IP分别配置为 192.168.1.20 和 192.168.1.30
2、配置主机名:
[root@hadoop1 usr]# vim /etc/sysconfig/network
另外两台分别配置名字为:hadoop2 hadoop3
3.配置host文件
[root@hadoop1 usr]# vim /etc/hosts
其他两台配置一样。
4.重启虚拟机
[root@hadoop1 usr]# reboot
三、安装JDK
1、建立Hadoop账号并设置密码(三台操作一样,用root创建相同的账号)
[root@hadoop1 ~]# useradd hadoop
[root@hadoop1 ~]# passwd hadoop
2、用securityCRT连接到虚拟机终端,方便操作
3.下载安装JDK
[hadoop@hadoop1~]$wget http://download.oracle.com/otn-pub/java/jdk/7u60-b19/jdk-7u60-linux-i586.tar.gz
p:(1)如果提示ERROR: certificate common name “www.oracle.com†doesn’t match requested host name “edelivery.oracle.comâ€.
To connect to edelivery.oracle.com insecurely, use ‘--no-check-certificate’.
请在下载的时候选择同意按钮。
(2)如果提示Cannot write to “jdk-7u60-linux-i586.tar.gz.1†(Permission denied).,请切换root账号进行操作。
4、下载完成之后,移动jdk到usr路径下,并进行解压
[root@hadoop1 ~]# mv jdk-7u60-linux-i586.tar.gz /usr/
[root@hadoop1 ~]# cd /usr/
[root@hadoop1 usr]# tar -xzvf jdk-7u60-linux-i586.tar.gz
完成之后,效果如图。
然后运行scp命令,将jdk1.7.0_60复制到其他节点上
[root@hadoop1 usr]# scp -r jdk1.7.0_60/ root@hadoop2:/usr/jdk1.7.0_60/
提示输入hadoop2的root的账号密码,按要求正确输入即可。
四、配饰SSH免密码登陆(使用Hadoop账号操作)
1、生成密钥对。
[hadoop@hadoop1 ~]$ ssh-keygen -t rsa -f ~/.ssh/id_rsa
①:运行ssh-keygen命令,生成密钥对
②:输入空密码,切记这里不能输入任何字符
③:查看生成的密钥对
2、复制公钥名为authorized_keys
[hadoop@hadoop1 .ssh]$ cp id_rsa.pub authorized_keys
3.将3台虚拟的公钥放在同一个authorized_keys中,然后分别复制到另外两台虚拟机。
这里可以使用多种方式,可以再securityCRT中直接复制。
也可以用scp命令将三台机器的authorized_keys集中起来,使用
cat authorized_key2 >> cat authorized_key命令将2个key追加到其中的一个之中,然后用scp命令分别拷贝到其他的两台机器中。
4.然后用ssh hadoop1就能免密码登陆了。第一次可能需要输入yes,允许将密钥加入known_hosts信任的机器中。
至此,ssh免密码登陆就完成了。
五、安装Hadoop
1.下载Hadoop,下载地址http://www.eu.apache.org/dist/hadoop/common/hadoop-1.2.1/
[hadoop@hadoop1~]$wget http://www.eu.apache.org/dist/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz
解压:
[hadoop@hadoop1 ~]$ tar -xzvf hadoop-1.2.1.tar.gz
2.进入配置文件目录,修改环境变量
[hadoop@hadoop1 ~]$ cd hadoop-1.2.1/conf/
[hadoop@hadoop1 conf]$ vim hadoop-env.sh
修改JAVA_HOME
3.修改core-site.xml,并新建临时目录
[hadoop@hadoop1 conf]$ vim core-site.xml
新建临时文件夹:[hadoop@hadoop1 conf]$ mkdir -p /home/hadoop/hadoop/tmp
4.修改hdfs-site.xml
[hadoop@hadoop1 conf]$ vim hdfs-site.xml
有几个节点,value的值就是几。
5.修改mapred-site.xml
[hadoop@hadoop1 conf]$ vim mapred-site.xml
6.修改masters和slaves文件
7.向各个节点复制hadoop
[hadoop@hadoop1 ~]$ scp -r hadoop-1.2.1 hadoop@hadoop2:/home/hadoop/hadoop-1.2.1
[hadoop@hadoop1 ~]$ scp -r hadoop-1.2.1 hadoop@hadoop3:/home/hadoop/hadoop-1.2.1
8格式化namenode
[hadoop@hadoop1 ~]$ cd hadoop-1.2.1/bin/
[hadoop@hadoop1 bin]$ ./hadoop namenode -format
9、启动Hadoop
[hadoop@hadoop1 bin]$ ./start-all.sh
主节点
子节点
至此,Hadoop集群的运行环境就搭建完成了。