2015-07-15 3 views
3

СМ. РЕДАКТИРОВАТЬ НИЖЕmlcp не загружает большое количество файлов в каталог

мы используем наконечник содержимого MarkLogic для загрузки данных в базу данных ML8. У нас есть среда dev, в которой все нормально, и prod, в котором mlcp не получит оценку количества обрабатываемых файлов.

У нас есть 2,1 миллиона документов JSON, которые мы хотим загрузить.

На сервере DEV (ML8 + CentOS6) мы видим это:

15/07/13 13:19:35 INFO contentpump.ContentPump: Hadoop library version: 2.0.0-alpha 
15/07/13 13:19:35 INFO contentpump.LocalJobRunner: Content type is set to MIXED. The format of the inserted documents will be determined by the MIME type specification configured on MarkLogic Server. 
15/07/13 13:19:35 WARN util.KerberosName: Kerberos krb5 configuration not found, setting default realm to empty 
15/07/13 13:23:06 INFO input.FileInputFormat: Total input paths to process : 2147329 
15/07/13 13:24:08 INFO contentpump.LocalJobRunner: completed 0% 
15/07/13 13:34:43 INFO contentpump.LocalJobRunner: completed 1% 
15/07/13 13:43:42 INFO contentpump.LocalJobRunner: completed 2% 
15/07/13 13:51:15 INFO contentpump.LocalJobRunner: completed 3% 

И завершает ок, загрузку данных в порядке.

Теперь мы используем одни и те же данные на другой машине сервера прод (ML8 + CentOS) мы получаем

15/07/14 17:02:21 INFO contentpump.ContentPump: Hadoop library version: 2.6.0 
15/07/14 17:02:21 INFO contentpump.LocalJobRunner: Content type is set to MIXED. The format of the inserted documents will be determined by the MIME type specification configured on MarkLogic Server. 

Помимо различных ОС мы также имеем более позднюю версию МЛКП на де прод сервер 2.6.0 вместо 2.0.0. Если мы используем ту же команду для импорта каталога только с 2000 файлов он работает на прод ...

Работа застревает при подсчете количества файлов для обработки ...

Что может быть проблема?

START EDIT мы ставим МЛКП в DEBUG и протестированы с небольшой samle.zip

результат:

[[email protected] ~]$ mlcp.sh import -host localhost -port 8140 -username ashraf -password duurz44m -input_file_path /home/ashraf/sample2.zip -input_compressed true -mode local -output_uri_replace "\".*,''\"" -output_uri_prefix incoming/linkedin/ -output_collections incoming,incoming/linkedin -output_permissions slush-dikw-node-role,read 
15/07/16 16:36:31 DEBUG contentpump.ContentPump: Command: IMPORT 
15/07/16 16:36:31 DEBUG contentpump.ContentPump: Arguments: -host localhost -port 8140 -username ashraf -password duurz44m -input_file_path /home/ashraf/sample2.zip -input_compressed true -mode local -output_uri_replace ".*,''" -output_uri_prefix incoming/linkedin/ -output_collections incoming,incoming/linkedin -output_permissions slush-dikw-node-role,read 
15/07/16 16:36:31 INFO contentpump.ContentPump: Hadoop library version: 2.6.0 
15/07/16 16:36:31 DEBUG contentpump.ContentPump: Running in: localmode 
15/07/16 16:36:31 INFO contentpump.LocalJobRunner: Content type is set to MIXED. The format of the inserted documents will be determined by the MIME type specification configured on MarkLogic Server. 
15/07/16 16:36:32 DEBUG contentpump.LocalJobRunner: Thread pool size: 4 
15/07/16 16:36:32 INFO input.FileInputFormat: Total input paths to process : 1 
15/07/16 16:36:33 DEBUG contentpump.LocalJobRunner: Thread Count for Split#0 : 4 
15/07/16 16:36:33 DEBUG contentpump.CompressedDocumentReader: Starting file:/home/ashraf/sample2.zip 
15/07/16 16:36:33 DEBUG contentpump.MultithreadedMapper: Running with 4 threads 
15/07/16 16:36:33 DEBUG mapreduce.ContentWriter: Connect to localhost 
15/07/16 16:36:33 DEBUG mapreduce.ContentWriter: Connect to localhost 
15/07/16 16:36:33 DEBUG mapreduce.ContentWriter: Connect to localhost 
15/07/16 16:36:33 DEBUG mapreduce.ContentWriter: Connect to localhost 
15/07/16 16:36:34 INFO contentpump.LocalJobRunner: completed 0% 
15/07/16 16:36:39 INFO contentpump.LocalJobRunner: completed 100% 
2015-07-16 16:39:11.483 WARNING [19] (AbstractRequestController.runRequest): Error parsing HTTP headers: Premature EOF, partial header line read: '' 
15/07/16 16:39:12 DEBUG contentpump.CompressedDocumentReader: Closing file:/home/ashraf/sample2.zip 
15/07/16 16:39:12 INFO contentpump.LocalJobRunner: com.marklogic.contentpump.ContentPumpStats: 
15/07/16 16:39:12 INFO contentpump.LocalJobRunner: ATTEMPTED_INPUT_RECORD_COUNT: 1993 
15/07/16 16:39:12 INFO contentpump.LocalJobRunner: SKIPPED_INPUT_RECORD_COUNT: 0 
15/07/16 16:39:12 INFO contentpump.LocalJobRunner: Total execution time: 160 sec 

Только первый файл в формате JSON в базе данных, остальное отбрасывается/потерял?

Есть ли проблема с новой строкой в ​​файлах JSON?

(AbstractRequestController.runRequest): Error parsing HTTP headers: Premature EOF, partial header line read: '' 

любые намеки были бы замечательными.

hugo

+0

У MLCP есть файл conf/log4j.properties. Включите отладку (раскомментируйте две строки в конце) и сообщите нам, что это говорит нам. –

+0

мы помещаем mlcp в режим DEBUG ... см. Отредактированный вопрос для результата –

ответ

1

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

В качестве обходного пути: оно не должно быть трудно использовать один и тот же МЛКП версию на прод сервере, который вы использовали на разработчика, просто поставить его рядом с другой (или где угодно), и убедитесь, что вы обратитесь к этому (подсказка: в Roxy у вас есть настройка mlcp-home).

Вы также можете рассмотреть возможность использования json-документов и использования опции -input_compressed.

HTH!

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