2015-04-10 3 views
0

У меня есть следующая ошибка в моей первой программе WordCount MapReduce:Hadoop MapReduce программа Ошибка

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
    cat: `/home/Kumar/DEV/Eclipse/eclipse/Workspace/MyFirstMapReduce/Files/input/': No such file or directory 

OS & Hadoop версии

CentOS 
Release 6.6 (Final) 
Kernel Linux 2.6.32-504.12.2.el6.x86_64 
GNOME 2.28.2 

Hadoop 2.6.0 64bit version 

конфигурации Bashrc

export JAVA_HOME ="/usr/lib/jvm/jdk1.8.0" 
export PATH =$PATH:$JAVA_HOME/bin" 
export HADOOP_CLASSPATH=$JAVA_HOME/lib/tools.jar 

export HADOOP_INSTALL="/home/Kumar/DEV/HDS/hadoop" 
export PATH=$PATH:$HADOOP_INSTALL/bin 
export PATH=$PATH:$HADOOP_INSTALL/sbin 
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL 
export HADOOP_COMMON_HOME=$HADOOP_INSTALL 
export HADOOP_HDFS_HOME=$HADOOP_INSTALL 
export YARN_HOME=$HADOOP_INSTALL 

Запуск Демоны

3763 SecondaryNameNode 
4406 ResourceManager 
22264 org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar 
17736 Jps 
30584 org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar 
4697 NodeManager 
3611 DataNode 
4059 NameNode 

Я скопировал программу WordCount снизу сайта Apache и следуют шаги, как указано в этом tutorial. Когда я составил WordCount.java, он создал 3 класса файлы:

hadoop com.sun.tools.javac.Main /home/Kumar/DEV/Eclipse/eclipse/Workspace/MyFirstMapReduce/src/WordCount.java 

WordCount.class 
WordCount$IntSumReducer.class 
WordCount$TokenizerMapper.class 

Когда я запускаю команду HDFS, он метательные ниже предупреждающее сообщение и файл или каталог не найден сообщение, даже если режиссер файла & существуем

hdfs dfs -cat /home/Kumar/DEV/Eclipse/eclipse/Workspace/MyFirstMapReduce/Files/input/file1 

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
cat: `/home/Kumar/DEV/Eclipse/eclipse/Workspace/MyFirstMapReduce/Files/input/file1': No such file or directory 


hdfs dfs -cat /home/Kumar/DEV/Eclipse/eclipse/Workspace/MyFirstMapReduce/Files/input/ 

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
cat: `/home/Kumar/DEV/Eclipse/eclipse/Workspace/MyFirstMapReduce/Files/input/': No such file or directory 

ответ

0
  1. Файл, который вы пытаетесь использовать, относится к локальной файловой системе Linux не для HDFS. Поэтому использовать можно использовать простую команду, как: cat /home/Kumar/DEV/Eclipse/eclipse/Workspace/MyFirstMapReduce/Files/input/file1

Если MapReduce программа ожидает входной файл на HDFS, а затем поставить тот же файл на HDFS и пути HDFS в работе. вы можете использовать эту команду для размещения файла по hdfs: hadoop fs -put <input-file-path-on-linux> <path-on-hdfs>

Учебное пособие, на которое вы ссылаетесь, использует старые API-интерфейсы Mapreduce. Вы можете посмотреть тот же учебник для текущей версии Hadoop: http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html

Надеюсь, это вам поможет.

+0

Спасибо Pradeep за помощь в понимании проблемы. Я настроил ядро-site.xml как below.core-site.xml: <конфигурация> fs.default.name HDFS: // локальный: 9000 так как найти путь HDFS для перемещения моего входного файла hadoop fs -put . – kumarswamy

+0

Я создал каталог с использованием hadoop fs -mkdir и перенес файл. Спасибо, Прадип. – kumarswamy

0

Первое сообщение является лишь предупреждением и не вызывает беспокойства.

Второе сообщение возникает из-за того, что hadoop -fs будет отображаться на hdfs, а не на вашей локальной файловой системе. Вы можете проверить, существуют ли ваши файлы с ls.

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