部署Hadoop时的注意事项(基础篇)
2010-02-13 07:16
260 查看
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议
进行许可。
最近云计算在中国极为火爆,但看了云计算的那些云山雾罩的概念后,实在让人望而却步。还好不是所有的东西都摸不着头脑,Hadoop就是实实在在的技术之一。不才最近仔细品读了Hadoop的基础资料,特别是如何部署Hadoop的相关技术文档,发现其中有许多不为人注意的东西,在此整理一下。
关于如何部署Hadoop,网上可以搜到很多文章,在这里不打算凑这个热闹。
Hadoop
开发者入门专刊(pdf)
是目前比较权威的文档;
有什么与Hadoop相关的技术问题也可以到专业的Hadoop技术论坛
上去讨论。
Hadoop
集群的组成成份
Hadoop的核心功能有两个:HDFS与MapReduce。与HDFS相关的服务有NameNode
、SecondaryNameNode
及DataNode
;与MapReduce
相关的服务有JobTracker
和TaskTracker
两种。
Hadoop集群中有两种角色:master与slave,master又分为主master与次master。其中:
主
master同时提供NameNode
、SecondaryNameNode
及JobTracker
三种服务;
次master只提供SecondaryNameNode
服务;
所有slave可以提供DateNode
或TaskTracker
两种服务。
Hadoop有三种集群方式可以选择:
Local (Standalone)
Mode(无集群模式)
Pseudo-Distributed
Mode(单机集群模式)
Fully-Distributed
Mode(多机集群模式)
一个Hadoop集群由多台电脑组成,每台电脑可作为一种或多种角色存在。
当使用Pseudo-Distributed
Mode创建Hadoop集群时,一台电脑同时完成主master和slave两种角色的任务。在Fully-Distributed
Mode下,如果只有一台电脑作为master,则此电脑完成主master的任务;如果有多台电脑作为master存在,则第一台电脑完成主master的任务,其它电脑完成次master的任务。
无密码SSH
登录
启动Hadoop的方式是在主master上调用下面的命令:$HADOOP_HOME
/bin/start-all.sh
此调用过程中,Hadoop依次启动以下服务:
在主master上启动NameNode
服
务;
在主master上启动SecondaryNameNode
服
务;
在次master上启动SecondaryNameNode
服
务;
在所有slave上启动DataNode
服务;
在主master上
启动JobTracker
服务;
在所有slave上的TaskTracker
服务。
在此需要注意以下几点:
启动NameNode
与JobTracker
服务不需要SSH授权;
需要通过SSH登录之后才能启动SecondaryNameNode
、DataNode
以及TaskTracker
服
务,因此:
因为需要启动SencondaryNameNode
服务,所以要为主master提供SSH授权;
因为需要启动SencoddaryNameNode
服务,所以要为所有的次master提供SSH授权;
因为需要启动DataNode
和TaskTracker
服务,所以要为所有的slave提供SSH授权。
总而言之,要为Hadoop集群中的所有计算机提供SSH授权。
为什么要提供无密码SSH登录方式呢?为的是图省事儿。试想在启动
Hadoop集群过程中,要手动输入每一台电脑的SSH密码将是一件多么烦人的事!SSH授权的方法在这里不做详细的描述。无密码SSH登录技术也是相对成熟的技术。但有一个环节需要注意,那就是文件的访问权限问题。表现为:
Linux系统中$HOME目录下的.ssh目录为用户所有,权限必须为700(只有用户自己可以全权访问);
.ssh目录下的授权文件“authorized_keys”为用户所有,权限必须为644。
关闭防火墙
部署Hadoop集群时,master与slave的防火墙均要关闭。关闭防火墙的根本目的也是为了图省事儿,因为在使用HDFS与MapReduce时,Hadoop会打开许多监听端口。它们
分别是:
与HDFS有关的地址及端口属性
fs.default.name位
置:conf/core-site.xml
必须项:是
常用值:hdfs://
[域名或IP地
址]
:9000
说明:NameNode
主服务器的地址
必须在所有master及slave上的conf/core-site.xml中设置此项。并且因为Hadoop架构是主master模式,所以在一个集群中的所有master及slave上设置的fs.default.name值应该是唯一一个NameNode
主服务器的地址。
dfs.datanode.address
位
置:conf/hdfs-site.xml
必须项:否
默认值:0.0.0.0:50010
说明:DataNode
服务的地址
dfs.datanode.ipc.address
位
置:conf/hdfs-site.xml
必须项:否
默认值:0.0.0.0:50020
说明:DataNode
IPC服务的地址
dfs.http.address
位
置:conf/hdfs-site.xml
必须项:否
默认值:0.0.0.0:50070
说明:NameNode
HTTP状态监视地址
dfs.secondary.http.address
位
置:conf/hdfs-site.xml
必须项:否
默认值:0.0.0.0:50090
说明:SecondaryNameNode
HTTP状态监视地址
dfs.datanode.http.address
位
置:conf/hdfs-site.xml
必须项:否
默认值:0.0.0.0:50075
说明:DataNode
HTTP状态监视地址
与MapReduce
有关的地址及端口属性
mapred.job.tracker位
置:conf/mapred-site.xml
必须项:是
常用值:[域名或IP地址]
:9001
说
明:JobTracker
主服务器地址及端口
必须在所有master及slave上的conf/mapred-site.xml中设置此项。并且因为Hadoop架构是主master模式,所以在一个集群中的所有master及slave上设置的mapred.job.tracker的值应该是唯一一个JobTracker
主服务器的地址。
mapred.task.tracker.report.address
位
置:conf/mapred-site.xml
必须项:否
默认值:127.0.0.1:0
说明:提交报告用TaskTracker
服务地址
mapred.job.tracker.http.address
位
置:conf/mapred-site.xml
必须项:否
默认值:0.0.0.0:50030
说明:JobTracker
HTTP状态监视地址
mapred.task.tracker.http.address
位
置:conf/mapred-site.xml
必须项:否
默认值:0.0.0.0:50060
说明:TaskTracker
HTTP状态监视地址
相关文章推荐
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- hadoop伪分布式集群部署注意事项
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- Easy hadoop 向导伪分布式部署注意事项
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- CentOS 6.2部署Hadoop的注意事项<转>
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- 生产环境上的HADOOP安装部署注意事项(HDP版)
- 生产环境上的HADOOP安装部署注意事项(HDP版)