Начало работы с прямыми звонками в Hadoop из SSH - PullRequest
0 голосов
/ 05 октября 2011

Мне удалось запустить потоки заданий, используя библиотеку Rubyastic-mapreduce просто отлично. Теперь у меня есть экземпляр, который все еще «жив» после того, как его работа закончена. Я вошел в систему с использованием SSH и хотел бы начать другую работу, но каждая из моих различных попыток потерпела неудачу, потому что hadoop не может найти входной файл. Я попытался сохранить входной файл локально и на S3.

Как я могу создавать новые задания hadoop непосредственно из моего сеанса SSH?

Ошибки от моих попыток:

(первая попытка с использованием локального хранилища файлов, которое я создал, загружая файлы с использованием SFTP)

hadoop jar hadoop-0.20-streaming.jar \
-input /home/hadoop/mystic/search_sets/test_sample.txt \
-output /home/hadoop/mystic/search_sets/test_sample_output.txt \
-mapper /home/hadoop/mystic/ctmp1_mapper.py \
-reducer /home/hadoop/mystic/ctmp1_reducer.py \
-file /home/hadoop/mystic/ctmp1_mapper.py \
-file /home/hadoop/mystic/ctmp1_reducer.py

11/10/04 22:33:57 ERROR streaming.StreamJob: Error Launching job :Input path does not exist: hdfs://ip-xx-xxx-xxx-xxx.us-west-1.compute.internal:9000/home/hadoop/mystic/search_sets/test_sample.txt

(вторая попытка с использованием s3):

hadoop jar hadoop-0.20-streaming.jar \
-input s3n://xxxbucket1/test_sample.txt \
-output /home/hadoop/mystic/search_sets/test_sample_output.txt \
-mapper /home/hadoop/mystic/ctmp1_mapper.py \
-reducer /home/hadoop/mystic/ctmp1_reducer.py \
-file /home/hadoop/mystic/ctmp1_mapper.py \
-file /home/hadoop/mystic/ctmp1_reducer.py

11/10/04 22:26:45 ERROR streaming.StreamJob: Error Launching job : Input path does not exist: s3n://xxxbucket1/test_sample.txt

1 Ответ

2 голосов
/ 05 октября 2011

Первый не сработает. Hadoop будет искать это место в HDFS, а не в локальном хранилище. может работать, если вы используете префикс file://, например:

-input file:///home/hadoop/mystic/search_sets/test_sample.txt

Я никогда не пробовал это с потоковым вводом, хотя, и это, вероятно, не самая лучшая идея, даже если она работает.

Второй (S3) должен работать. Мы делаем это все время. Убедитесь, что файл действительно существует с:

hadoop dfs -ls s3n://xxxbucket1/test_sample.txt

Кроме того, вы можете поместить файл в HDFS и использовать его как обычно. Однако для работы в EMR я обычно нахожу S3 наиболее удобным.

...