首页 > 代码库 > Hadoop大象之旅008-启动与关闭Hadoop

Hadoop大象之旅008-启动与关闭Hadoop

Hadoop大象之旅008-启动与关闭Hadoop

                                                        老帅

   Hadoop是一个运行在Linux文件系统上的分布式文件系统,在使用之前需要启动。

 

1.Hadoop的启动命令存储位置

参照前面章节中所述方法,使用SecureCRTPortable.exe登录CentOS;

使用命令cd/usr/local/hadoop”或者“cd $HADOOP_HOME进入到Hadoop根目录;

使用命令ll查看一下目录结构,如下图所示:


其中d开头的表示文件夹,-开头的表示文件

我们所使用的启动和关闭hadoop的命令都在bin目录下;

使用命令“cd $HADOOP_HOME/bin”进入到目录下;

使用命令ll查看一下目录结构,如下图所示:



2.格式化文件系统

hdfs是文件系统,所以在第一次使用之前需要进行格式化。

执行命令hadoopnamenode format


格式化成功后,如下图所示:


注意:

只在第一次启动的时候格式化,不要每次启动都格式化。

如果真的有必要再次格式化,请先把“hadoop.tmp.dir”目录下的文件全部删除。

读者可以自己观察目录“hadoop.tmp.dir”在格式化前后的变化情况。

格式化操作很少有出现失败的情况。如果真出现了,请检查配置是否正确。

 

3.启动Hadoop

格式化完成后,开始启动 hadoop 程序。

由于我们采用的是伪分布安装模式,一台机器中需要运行所有的hadoop 进程;

这里我们使用命令start-all.sh启动所有Hadoop进程,如下图所示:


注意启动顺序为:namenode->datanode->secondarynamenode->jobtracker->tasktracker

使用命令jps命令查看一下进程是否启动成功,如下图所示,能看到5个进程,就表示成功了:



4关闭Hadoop

关闭 hadoop 所有进程的命令是stop-all.sh,如下图所示:


执行完关闭命令后,使用“JPS”命令就看不到Hadoop5个进程了。

注意关闭顺序为:jobtracker->tasktracker–>namenode->datanode->secondarynamenode

 

5.单独启动进程

当然,也可以分别启动各个进程,而不是一起启动,具体命令在“$HADOOP_HOME/bin/”目录下,如下图所示:


执行命令 start-dfs.sh,是单独启动 hdfs,该命令适合于只执行hdfs存储不使用 MapReduce 做计算的场景,关闭的命令就是 stop-dfs.sh 了;

执行命令 start-mapred.sh,是单独启动 MapReduce 的两个进程,关闭的命令就是stop-mapred.sh 了;

当然,也可以先启动 MapReduce,再启动 HDFS,这说明,HDFS MapReduce的进程之间是互相独立的,没有依赖关系。

 

6.启动失败怎么办

启动之前要检查:

         配置文件是否正确

         IPHostname是否绑定

         是否已经格式化NameNode

         SSH的免密码登录设置是否成功

如果仍然启动失败了,可以到“$HADOOP_HOME/logs/”目录下查看错误日志(这个文件夹是Hadoop启动的时候,自动生成的)分析错误原因,如下图所示:


文件命名是有规律的,“hadoop-[当前用户名]-[节点名称]-[主机名].log”我们只查看log结尾的文件。

如果是namenode节点没有启动,查看hadoop-root-namenode-book0.log文件,以此类推。

 

7.使用浏览器方式访问Hadoop

使用Http://hadoop001:50070可以访问namenode服务器,如下图所示:

   

能访问,就说明Namenode是在线的;这也说明Namenode也是个Webserver服务器

使用Http://hadoop001:50030可以访问Jobtracker服务器,如下图所示

   

能访问,就说明Jobtracker是在线的;这也说明Jobtracker也是个Webserver服务器

 

Hadoop大象之旅008-启动与关闭Hadoop