最近我刚刚开始研究Hadoop,我只是做了一个真正理解它的实验。 以下是教程:http://www.codeproject.com/Articles/757934/Apache-Hadoop-for-Windows-Platform 我想问的是,在我根据教程遇到几个命令后,计算机系统中出现的后台进程是什么,例如
答案 0 :(得分:0)
hadoop fs
在HDFS文件系统上运行类似于unix(ls,copy,cat等)的命令,你可以看到完整列表是filesystem shell documentation
hadoop namenode -format
是线虫的初始化,即删除存储在Hadoop中的所有内容 - 请注意,在较新的Hadoop版本上,您可以通过hdfs
see here
另外两个命令(javac和jar)与编译和打包java程序有关
答案 1 :(得分:0)
您可以浏览二进制文件' hadoop'可以在hadoop主目录下的/ bin文件夹中找到。
提交Hadoop命令后,它在UNIX(cat,ls,awk)中充当普通的shell命令。它将转到Hadoop二进制文件(/ bin)目录并开始执行命令,其他选项(fs,jar,distcp,job,namenode,jt ..)作为参数。根据提供给hadoop命令的选项,将调用下一个shell,其余选项作为参数。最后,将使用请求的选项执行java类。我已经简要介绍了它如何适用于#hadoop fs -cat'
仓/ hadoop的
COMMAND=$1
case $COMMAND in
# usage flags
--help|-help|-h)
print_usage
exit
;;
.
.
namenode|secondarynamenode|datanode|dfs|dfsadmin|fsck|balancer|fetchdt|oiv|dfsgroups|portmap|nfs3)
.
.
if [ -f "${HADOOP_HDFS_HOME}"/bin/hdfs ]; then
exec "${HADOOP_HDFS_HOME}"/bin/hdfs ${COMMAND/dfsgroups/groups} "$@"
elif [ -f "${HADOOP_PREFIX}"/bin/hdfs ]; then
exec "${HADOOP_PREFIX}"/bin/hdfs ${COMMAND/dfsgroups/groups} "$@"
仓/ HDFS
elif [ "$COMMAND" = "dfs" ] ; then
CLASS=org.apache.hadoop.fs.FsShell
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
elif [ "$COMMAND" = "dfsadmin" ] ; then
CLASS=org.apache.hadoop.hdfs.tools.DFSAdmin
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
.
.
exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@"
您可以看到如何在java中实现命令(cat)。我相信这应该为您提供有关hadoop命令如何在后台运行的简要概述。