Hadoop启动脚本与配置详解[转载]

+ 下载和安装
设置环境变量 $HADOOP_INSTALL 作为Hadoop的安装目录。
各个版本的hadoop都是安装在$HADOOP_INSTALL这个目录下。
然后在$HADOOP_INSTALL创建一个软连接hadoop连接到指定版本的hadoop。这样运行hadoop的所有工具都是在$HADOOP_INSTALL/hadoop/bin下,所有的配置文件都是放置在$HADOOP_INSTALL/hadoop/conf下。

+ 启动脚本
$HADOOP_INSTALL/hadoop/bin目录下包含运行Hadoop DFS 和 Map/Reduce守护的脚本:
* start-all.sh 启动所有的Hadoop守护。包括namenode, datanode, jobtracker, tasktrack
* stop-all.sh 停止所有的Hadoop。
* start-mapred.sh 启动Map/Reduce守护。包括Jobtracker和Tasktrack。
* stop-mapred.sh 停止Map/Reduce守护
* start-dfs.sh 启动Hadoop DFS守护.Namenode和Datanode
* stop-dfs.sh 停止DFS守护

+ 配置文件
$HADOOP_INSTALL/hadoop/conf 目录下包含Hadoop的配置文件.
* hadoop-env.sh 包含hadoop使用的环境变量集.设置这些变量可以影响Hadoop守护进程的行为。
* slaves 这个文件列出slave守护所在的主机(datanode和tasktracker),一行一个。缺省情况下,只包含一个条目”localhost”
* hadoop-default.xml 这个文件包含一些一般性的缺省设置.关系hadoop守护和map/reduce jobs,不要修改这个文件。
* mapred-default.xml 这个文件包含站点特定的设置,关系Map/Reduce守护和jobs.缺省情况下这个文件是空的。在这个文件中设置的属性将会覆盖hadoop-default.xml中的Map/Reduce设置,用这个文件来整理你的站点的map/reduce的行为。
* hadoop-site.xml 这个文件包含关系到所有hadoop守护和Map/Reduce jobs的特定设置。缺省情况下,这个文件是空的.这个文件中的设置将会覆盖hadoop-default.xml和mapred-default.xml中的设置。这个文件包含的设置关系到Hadoop安装过程中的所有服务器和客户端,对于实例讲,就是namnode和jobtracker的位置。

+ 在单一节点上设置Hadoop
一个HDFS实例(包含一个namenode和一个单一的datanode)和
一个Map/Reduce集群(包含一个jobtracker和单一的tasktracker)
下面的“基本配置”的过程仅适用于大型集群。
+ 基本配置
下面的配置一些是必需,一些是推荐。
* hadoop环境设置
确保在hadoop-env.sh中设置JAVA_HOME变量,指向想要使用的java安装目录。可以根据你的需要在hadoop-env.sh中设置其他的环境变量。HADOOP_HOME变量是根据启动脚本自动推断的.
*Jobtracker和Namenode的设置
指出在哪里运行你的namenode和jobtracker。
fs.default.name // 设置namenodes(host:port)
mapred.job.tracker // 设置jobtrackers(host:port)
这些设置在hadoop-site.xml文件中,你可能需要设置下面的端口:
dfs.datannode.port
dfs.info.port
mapred.job.tracker.info.port
mapred.task.tracker.output.port
mapred.task.tracker.report.port
* 数据的路径设置
指出数据的走向。
包括namenode将namespace checkpoint和编辑记录存储在哪里,datanode将在哪里存储文件系统块,Map/Reduce中间输出的存储位置和HDFS的临时存储。这些路径的缺省值是指到/tmp下的各个位置。这些设置必须都是在文件hadoop-site.xml文件中。hadoop-site.xml中的这些设置是很重要的,否则它们会被Map/Reduce jobs的客户配置所覆盖。给下面的变量设定相应的值:
dfs.name.dir
dfs.data.dir
dfs.client.buffer.dir
mapred.local.dir
+ 格式化namenode
开始安装Hadoop的第一步就是格式化Hadoop文件系统,在集群的本地文件系统上实现。 不要格式化一个正在运行的Hadoop文件系统,这会引起所有的数据都会被擦除。要格式化文件系统(初始化dfs.name.dir变量指定的目录),执行下面的命令:% $HADOOP_INSTALL/hadoop/bin/hadoop namenode -format

+ 启动一个单节点集群
运行命令:
% $HADOOP_INSTALL/hadoop/bin/start-all.sh
将会在你的机器上启动一个Namenode,Datanode,Jobtracker和一个Tasktracker。
+ 在安装中分离配置
在上面的例子中,Hadoop集群用到的配置文件都在Hadoop安装过程中列出。在升级到新的版本时,这将时非常麻烦的,因为所有的自定义配置必须重新创建。从安装中分离配置时可以的。要做到这样,选择一个放置Hadoop配置文件的目录(如:/foo/bar/hadoop-config),拷贝hadoop-site.xml, slaves和Hadoop-env.sh到这个目录。你可以设置环境变量HADOOP_CONFIG_DIR指到这个目录,或者将其以选项的形式传递一个Hadoop脚本 –config .在这里例子中,集群将以以下的命令启动和停止:
% $HADOOP_INSTALL/hadoop/bin/start-all.sh –config /foo/bar/hadoop-config
% $HADOOP_INSTALL/hadoop/bin/stop-all.sh –config /foo/bar/hadoop-config(文章来源 www.iocblog.net)
传递一个脚本的配置目录的路径必须是绝对路径。

+ 启动一个大型集群
* 确保集群内所有的节点上相同路径的Hadoop包都是可访问的。如果你在安装时使用分开配置,确保配置目录也是可访问。
* 集群中的slaves文件必须是一行表示一个节点
* 然后按照上面的“基本配置”这一段来进行
* 格式化Namenode
* 在要运行Namenode的节点上执行
% $HADOOP_INSTALL/hadoop/bin/start-dfs.sh
这将会启动HDFS(Namnode和Datanode)。Namenode就是你执行这条命令的机器,Datanode在上面所提到的slaves文件列出。
* 在要运行Jobtracker的机器上执行
% $HADOOP_INSTALL/hadoop/bin/start-mapred.sh
这将启动Map/Reduce集群(Jobtracker和Tasktracker)。Jobtracker在你执行这条命令的机器上执行,而Tasktracker在slaves文件中列出的机器上运行。
* 上面两个命令同样可以带一个 –config选项执行。

+ 停止集群
分别在Jobtracker和Namenode 上执行
% $HADOOP_INSTALL/hadoop/bin/stop-mapred.sh
% $HADOOP_INSTALL/hadoop/bin/stop-dfs.sh
这些命令同样接受–config选项。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值