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

WBOY
풀어 주다: 2016-06-07 15:55:58
원래의
1102명이 탐색했습니다.

上一课讲了如何在一台机器上建立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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿