Hadoop完全分布式模式的安装和配置

一,配置Host文件
配置不同节点对应的ip
在生产环境下,成百上千的机器,不可能一个一个的去修改host文件,解决的方法是通过DNS服务器,
在Linux中通过安装bind来实现DNS服务器,安装好之后,在/etc/resolv.conf中添加nameserver 来指定DNS服务器的地址,
最后,通过nslookup来检测DNS服务器是否安装成功。

二,建立Hadoop运行帐号
每一个节点新建一个账号

三,配置ssh免密码连入
1,ssh-keygen -t rsa,在master节点的user目录下生成公钥与密钥,将公钥拷贝至slave节点user/.ssh目录下,重命名为authorized_keys,同样的操作在slave节点下也执行一次,这样就实现了master与slave互连免密码。
2,第一步只能保证master与slave互连免密码连入,但是后面启动hadoop时需要节点自己本身互连,所以还需要将每个节点.ssh下的id_rsa.pub拷贝至当前目录下的authorized_keys,这样,hadoop集群中有几个节点,authorized_keys中就有几个id_rsa.pub内容,所有节点都一样。
在生产环境中,需运用到NFS,如果hadoop用户的home目录在NFS文件系统中,则密钥可以通过键入以下指令在整个集群共享:%cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

四,下载并解压hadoop安装包
下载稳定版(1.1.2)

五,配置namenode,修改site文件
1,core-site.xml
指定namenode节点,以及hadoop临时目录(这个配置很重要,否则,hadoop默认将临时文件放到系统的临时文件/tmp下,当服务器重启,hadoop集群就全没了)

2,hdfs.site.xml
指定复制因子,有几个数据节点,就设置几
设置dfs.blocksize,默认64M
指定namenode,以及secdonaryNamenode获取元数据的位置

3,mapred-site.xml
设置jobtracker所在节点

六,配置hadoop-env.sh
主要配置JAVA_HOME、HADOOP_CLASSPATH等

七,配置master和slave文件
分别指定mater与slave的节点
master指定namenode、secondnameNode、jobtracker节点地址
slave指定dataNode、tasktracker
master、slave不需要在每个节点都指定,在nameNode节点上指定就可以了。当你往集群中增删节点,只需要改变nameNode上的master、slave即可

八,向各节点复制配置好的hadoop
无论是哪个节点,hadoop的配置都是一样的

九,启动Hadoop前应关闭防火墙
1,永久生效,重启后不会复原(相应地,配置重启生效)
chkconfig iptables on/off
2,即时生效,重启后复原(配置立马生效)
server iptables start/stop

十,格式化namenode
bin/hadoop namenode -format

十一,启动hadoop
bin/start-all.sh

十二,用jps检验各后台进程是否成功启动
master应该有NameNode、SecondaryNameNode、JobTracker这3个进程
slave应该有DataNode、TaskTracker这2个进程

你可能感兴趣的:(Hadoop完全分布式模式的安装和配置)