2015-01-24 2 views
0

Недавно я только начал изучать Hadoop, и я просто сделаю эксперимент, чтобы действительно понять это. Вот учебник: http://www.codeproject.com/Articles/757934/Apache-Hadoop-for-Windows-Platform То, что я хочу спросить, что это фоновый процесс, который происходит в компьютерной системе после того, как я бегу на несколько команд на основе учебника, как, напримерНужно объяснение команды, которая используется в учебном пособии Hadoop

  • Hadoop NameNode -format
  • javac -classpath C: \ hadoop-2.3.0 \ share \ hadoop \ common \ hasoop-common-2.3.0.jar; C: \ hadoop-2.3.0 \ share \ hadoop \ mapreduce \ hadoop-mapreduce-client -core-2.3.0.jar; C: \ Hadoop-2.3.0 \ доля \ Hadoop \ Common \ Lib \ gson-2.2.4.jar; C: \ Hadoop-2.3.0 \ доля \ Hadoop \ Common \ Lib \ commons-cli-1.2.jar Recipe.java
  • jar -cvf Recipe.jar * .class
  • Hadoop фс -mkdir/в
  • Hadoop фс -copyFromLocal C: \ Hwork \ recipeitems-latest.json/в
  • Hadoop баночки с: \ Hwork \ Recipe.jar Рецепт/в/из
  • Hadoop фс -ls/из
  • Hadoop фс -cat/выход/часть-т-00000

ответ

0

hadoop fs работает команды, подобные UNIX (LS, копировать, кошка и т.д.) на HDFS файловой системе вы можете увидеть полный список - filesystem shell documentation

hadoop namenode -format является инициализация нематоды, т.е. удаление все хранящуюся в Hadoop - обратите внимание, что на более новых версиях Hadoop вы могли бы сделать это через hdfssee here

двух других команд (JAVAC и баночки) имеет отношение к составлению и упаковки Java программы

0

Вы можете отслеживать поток, просматривая двоичный файл 'hadoop', доступный в папке/bin в вашем домашнем каталоге hadoop.

Как только вы отправляете команду Hadoop, она действует как обычная команда оболочки в UNIX (cat, ls, awk). Он перейдет в двоичный каталог Hadoop (/ bin) и начнет выполнение команды с другими параметрами (fs, jar, distcp, job, namenode, jt ..) в качестве аргументов. В соответствии с опцией, предоставленной команде hadoop, следующая оболочка будет вызываться с остальными параметрами в качестве аргументов. Наконец, класс java будет выполнен с запрошенными параметрами. Я представил краткий обзор о том, как он работает на 'Hadoop фс -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} "[email protected]" 
elif [ -f "${HADOOP_PREFIX}"/bin/hdfs ]; then 
exec "${HADOOP_PREFIX}"/bin/hdfs ${COMMAND/dfsgroups/groups} "[email protected]" 

бен/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 "[email protected]" 

Пример реализации Java класс, http://grepcode.com/file/repository.cloudera.com/content/repositories/releases/com.cloudera.hadoop/hadoop-core/0.20.2-320/org/apache/hadoop/fs/FsShell.java

Вы можете увидеть, как команда (cat) реализована в java. Я считаю, что это должно предоставить вам краткий обзор того, как команды hadoop работают в фоновом режиме.

Смежные вопросы