您好,欢迎访问一九零五行业门户网

Hadoop自学笔记(五)配置分布式Hadoop环境

上一课讲了如何在一台机器上建立hadoop环境,我们只配置了一个nhname node, 这个name node里面包含了我们所有hadoop的东西,包括name node, secondary name node, job tracker, task tracker,这一课讲解如何把上述配置放到不同机器上,从而构建一个分布式的
上一课讲了如何在一台机器上建立hadoop环境,我们只配置了一个nhname node, 这个name node里面包含了我们所有hadoop的东西,包括name node, secondary name node, job tracker, task tracker,这一课讲解如何把上述配置放到不同机器上,从而构建一个分布式的hadoop配置。
1. hadoop分布式安装概览
a) 2-10个nodes:name node, job tracker, secondary name node都可以放在一台机器上,所有的data node和task tracker放在其他机器上
b) 10-40个nodes: 可以把secondary name node分开来
c) 100+ nodes: 所有的node和trackers都分开放,并且添加rack awareness支持,同时需要各类优化设置。
本课的流程:
配置好ssh到所有的机器上,使其可以免输入密码连接(如同上一课所述)
配置好masters和slaves
配置好所有的*-site文件
学习使用命令来启动,控制和关闭hadoop(常用脚本说明如下图)。
2. 配置hadoop到2-10个节点上
这个图很帅,我们在hn client机器上来控制所有的hadoop机器,每个机器给一个窗口(下图已经通过ssh链接到每台机器了,链接方式见上一课)。
第一步:取消所有机器上面的ssh密码访问
ssh-copy-id -i $home/.ssh/id-rsa.pub nuggetuser@hndata1
把这个文件拷贝到所有的hndata和secondary name node上面。这样就可以无密码登陆了。
第二步:配置master和slaves
所有的配置文件都在/usr/local/hadoop/conf文件夹下面
配置好masters来指向secondary name node, 然后配置slaves文件指向所有的hndata node
master文件默认的是localhost
用任何编辑器打开masters文件,删除localhost, 输入hn2ndname (就是你secondary name node 的名称)
同样,编辑slaves文件,把所有的hndata node名称输入
第三步:配置所有的data node,让它们指向name node,所有的task tracker指向job tracker
通过core-site.xml配置前者,通过mapred-site.xml配置后者
在hndata node配置core-site.xml如下(因为我们是直接把上次的机器配置拷贝进来的,所以可以发现这个文件已经配置过了,如下:)
配置mapred-site.xml如下:
上面的配置应该已经是这样了,不过最好还是检查好每一个data node中的配置是不是这样
第四步:重新格式化name node
hadoop namenode -format
第五步:配置完成了,可以试着看看能否启动
start-dfs.sh 这个命令启动所有的name nodes和data nodes,可以使用jps命令来查看是否成功启动了。
start-mapred.sh 这个命令启动所有的job trackers和task trackers, 同样使用jps来检测是否启动了,如果没有成功,可以去看看logs文件
3. 启动和关闭hadoop各部分的命令
如果要删除一个node,可以建立一个excludes文件,在里面输入你不想要的node名称,比如hndata3.
然后配置hn name node中core-site.xml如下(在最后添加一个property)
同样可以建立一个includes文件来指定包含哪些节点
配置完成后,启用配置:
hadoop dfsadmin -refreshnodes
我们可以在hnname:50070上面看到被排除的node
运行rebalancer命令
start-balancer.sh
关闭job tracker, task tracker:
stop-mapred.sh
关闭name node, data nodes:
stop-dfs.sh
如果要同时启动hnname node, data node, job tracker, task tracker,则直接输入:
start-all.sh
其它类似信息

推荐信息