基本的软硬件配置:
x86台式机,window7 64位系统vb虚拟机(x86的台式机至少是4G内存,才能开3台虚机)centos6.4操作系统hadoop-1.1.2.tar.gz
jdk-6u24-linux-i586.binWinScp 远程文件传输工具,很好用。可以用于windows和虚拟机Linux之间文件相互拷贝。
一、root下的配置
a) 修改主机名:vi /etc/sysconfig/network
Master,slave1,slave2
b) 解析Ip: vi /etc/hosts
192.168.8.100 master
192.168.8.101 slave1
192.168.8.102 slave2
c) 调试网络:
采用网桥连接网络,配置网络。
修改后记得调用 service network restart
确保三台虚拟机能够相互ping通。
d) 关闭防火墙
查看:service iptables status
关闭:service iptables stop
查看防火墙有无自启动:
Chkconfig –-list | grepiptables
关闭自启动:
Chkconfig iptables off
二、yao用户下的配置
a) 创建用户yao,设置密码,进入用户
useradd yao
passwd 123456
b) master创建公私秘钥
ssh-keygen –t rsa
1) 将 id_rsa.pub 复制给 authorized_keys
Cp id_rsa.pub authorized_keys
2) 将 master 中的 authorized_keys 复制给 slave1 的 /home 下
scp id_rsa.pub root@192.168.8.101:/home
3) 将 master 拷贝过来的 authorized_keys 复制到 slave1 本身所创的 authorized_keys 下,同理 slave2 的也是。最后达到任一个 authorized_keys 中都包含所有机组的公钥。
4)将hadoop拷贝复制到对应的机子中/home/yao/Documents/
在root下配置环境变量:vi /etc/profile
export HADOOP_HOME=/home/yao/Documents/hadoop
export HADOOP_HOME_WARN_SUPPRESS=1
export PATH=.:$PATH:$HADOOP_HOME
注:su + 用户名实现切换用户。
5)安装jdk,解压时需要授权;
Chmod u+x jdk。。。
解压。
配置环境变量:vi /etc/profile
6)修改/hadoop/conf下的配置文件
修改core-site.xml
修改hdfs-site.xml
修改mapred-site.xml
7)修改hadoop/conf/hadoop-evn.xml文件,这里指定jdk的路径。
export JAVA_HOME=/usr/local/jdk
8)修改/hadoop/conf/masters 和slaves,对应协商虚拟机的名称,让hadoop知道主机和datanode;
Masters: Master
Slavers: Slave1 Slave2
三、拷贝hadoop
上述master中的hadoop配置基本完成了,由于namenode节点上的hadoop配置是相同的,所以现在将master上的hadoop分别拷贝到slave1和slave2上。
命令:
Scp -r ./hadoop yao@slave1:/home/yao/
Scp -r ./hadoop yao@slave2:/home/yao/
拷贝完成后,在master机器上hadoop目录下执行:
格式化:Bin/hadoop namenode -format
下一步,执行启动:
Bin/start-all.sh
在slave1中,输入jps:
类似的在slave2中,输入jps,也能得到同样的结果:
总结:
配置这种全分布式的hadoop集群,分为几个步骤:
1)配置Hosts文件
2)建立Hadoop运行账号
3)配置ssh免密码连入
4)下载并解压hadoop安装包
5)配置namenode,修改site文件
6)配置hadoop-env.sh
7)配置masters,和slaves文件
8)向个节点复制hadoop
9)格式化namenode
10)启动hadoop
11)用jps检验各后台进程是否成功启动
注:不能眼高手低,从装机开始,每一步都会遇到各种各样的问题需要解决。这是个熟悉指令和hadoop文件机制的过程。
伪分布式
伪分布式的搭建是非常简单的,因为它是单一的节点,上述步骤只需要:
1)建立Hadoop运行账号
2)配置ssh免密码连入(单一节点,只要将id_rsa.pub复制到authorized_keys中就能实现自身免密码)
3)下载并解压hadoop安装包
4)下载jdk,并解压安装
5)修改site文件
6)配置hadoop-env.sh
OK,基本上理解hadoop搭建的过程,伪分布和全分布都是很简单的。7)格式化namenode
8)启动hadoop
9)用jps检验各后台进程是否成功启动