关于Hadoop中5个主要的守护进程的作用

2019-03-28 14:09|来源: 网络

一般如果正常启动Hadoop,我们可以在master上通过jps命令看到以下5个daemons:

[root@master ~]# jps
19803 SecondaryNameNode
19994 TaskTracker
31144 Jps
19571 NameNode
19672 DataNode
19887 JobTracker

下面依次介绍这些进程:

1. NameNode

它是Hadoop 中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问。

参考资料:

http://www.linuxidc.com/Linux/2012-01/51614.htm

2. SecondaryNameNode

它不是 namenode 的冗余守护进程,而是提供周期检查点和清理任务。

出于对可扩展性和容错性等考虑,我们一般将SecondaryNameNode运行在一台非NameNode的机器上

参考资料:

http://www.linuxidc.com/Linux/2012-01/51628.htm
http://www.linuxidc.com/Linux/2012-01/51622.htm

3. DataNode

它负责管理连接到节点的存储(一个集群中可以有多个节点)。每个存储数据的节点运行一个 datanode 守护进程。

4. JobTrackerTaskTracker

JobTracker负责调度 DataNode上的工作。每个 DataNode有一个TaskTracker,它们执行实际工作。

JobTrackerTaskTracker采用主-从形式,JobTrackerDataNode分发工作,而 TaskTracker执行任务。

JobTracker还检查请求的工作,如果一个 DataNode由于某种原因失败,JobTracker会重新调度以前的任务。

相关问答

更多
  • 守护进程(daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,并不会接受电脑用户的直接操控。此类程序会被以进程的形式初始化。守护进程程序的名称通常以字母“d”结尾:例如,syslogd就是指管理系统日志的守护进程。 通常,守护进程没有任何存在的父进程(即PPID=1),且在UNIX系统进程层级中直接位于init之下。守护进程程序通常通过如下方法使自己成为守护进程:对一个子进程调用fork,然后使其父进程立即终止,使得这个子进程能在init下运行。这种方法通常被称为“脱壳”。 系统通常在启 ...
  • 是保护自己的进程,以免其他程序误操作关闭此进程
  • 在 /usr/local/hadoop/ 下面启动,找到是/opt/Hadoop/下面的hadoop安装包,是不是HADOOP_HOME环境变量配置的有问题。 可以到海牛部落交流,那里有好多学习hadoop的朋友
  • bg7.png 相信下面概念你已经知道了:jms即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。它可以在两个应用程序之间异步通信,也就是说,如果你做一个监控系统,那么你想通过监控系统获取hadoop的运行信息。前提是hadoop需要有借口提供这些信息才可以。也就是你说的Hadoop Metrics收集机制。你可以把二者结合起来,只要hadoop的metrics提供 ...
  • 守护进程就是隐藏后台运行的进程 一般看不见 管理守护进程就是 用某个工具或命令管理它们 kill掉或其他
  • 正如@fge所建议的那样,我用独立的Java程序测试了这一点,其主要方法如下 public static void main(String[] args){ long mem = Runtime.getRuntime().maxMemory(); System.out.println("Max mem="+mem/(1024*1024) + "m"); } 并用多个-Xmx选项启动它,它似乎正在拾取最后一个 。 例如 java -Xmx100m -Xmx20m -Xmx400 ...
  • 我已经通过从hadoop-env中删除“export HADOOP_CLASSPATH = /path-to-hbase/hbase classpath ”解决了这个问题。 如果有人知道我做错了什么,我真的很感激知道这一点。 谢谢。 I've solved this problem by removing "export HADOOP_CLASSPATH=/path-to-hbase/hbase classpath" from hadoop-env. If anyone knows what I did w ...
  • 更改for条件以匹配Hadoop守护程序的路径: #!/bin/bash for service in /etc/init.d/hadoop-hdfs-* /etc/init.d/hadoop-0.20-mapreduce-* do sudo $service start done Change the for condition to match the path of your Hadoop daemons: #!/bin/bash for service in /etc/init. ...
  • 如果启动/停止脚本找不到$ HADOOP_PID_DIR文件夹中的pid文件(默认为/ tmp),则会显示此消息。 如果: 这些文件已被删除(由某人或某事),或 自你启动deamons后,env变量$ HADOOP_PID_DIR已经改变,或者 停止deamons的用户不是启动它们的用户 然后hadoop将显示您看到的错误消息。 hadoop-daemon.sh文件中的选定部分(适用于1.0.0): # HADOOP_IDENT_STRING A string representing this i ...
  • 日志文件表明由于已经获取了所需的端口,进程抛出了非Bind IOException。 我现在还可以添加到我已知的事物列表中,vim中的'@'表示单个行字符串超出行大小而不是文件的结尾。 Log file indicated that the process threw a non Bind IOException due to the desired port being already taken. I now can also add to my list of known things that an ...