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”命令就看不到Hadoop的5个进程了。
注意关闭顺序为: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.启动失败怎么办
启动之前要检查:
配置文件是否正确
IP和Hostname是否绑定
是否已经格式化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服务器
原文地址:http://blog.csdn.net/shuaihj/article/details/41677359