Как как apahe-ignite-hadoop ускоритель? - PullRequest
0 голосов
/ 02 июля 2019

Я установил Hadoop автономный mdoe. hadoop 2.7.2 Я также установил apache-ignite. апаш-Воспламенение-Hadoop-1.6.0 Попытка выполнить пример wordcount.

Для настройки я запускаю ./bin/setup-hadoop.sh, как указано в HADOOP_README.txt в $ IGNITE_HOME.

Шаг are1. Встроенный ускоритель Apache Ignite для Apache Hadoop

Ignite In-Memory Accelerator для Apache Hadoop разработан для обеспечения бескомпромиссной производительности для существующего Apache Приложения Hadoop 2.2 или выше с нулевым изменением кода, а также простотой установки и настройки во всех поддерживаемые платформы.

2. Установка

Дистрибутив Ignite поставляется в виде ZIP-файла, который просто необходимо распаковать. Ускоритель требует Apache Hadoop версия 2.2 или выше, которая уже установлена ​​в системе с использованием пакетов Apache Bigtop или вручную (ручная установка просто означает, что двоичный дистрибутив Apache Hadoop должен быть распакован где-то в системе). В случае руководства установка HADOOP_HOME Переменная среды должна указывать на каталог установки Apache Hadoop.

ПРИМЕЧАНИЕ. Вам не нужно запускать процессы Apache Hadoop, вам нужно только развернуть Apache Hadoop распространение в вашей системе. Тем не менее, вы можете запускать задания Apache Hadoop с помощью Ignite Accelerator через HDFS, в этом случае потребуется работающая инфраструктура HDFS.

Ускоритель поставляется с инструментом настройки командной строки bin/setup-hadoop.sh (bin/setup-hadoop.bat в Windows), который проведет вас через все необходимые шаги установки (обратите внимание, что инструменту установки потребуются разрешения на запись в Каталог установки Apache Hadoop).

Требования к установке:

  1. Среда Windows, Linux или MacOS.
  2. Java 7 или 8 (желательно последнее обновление).
  3. Укажите JAVA_HOME переменную среды для вашей установки JDK или JRE.
  4. Установлен Apache Hadoop 2.2 или выше.
  5. Укажите HADOOP_HOME переменную среды на каталог установки Apache Hadoop.
  6. Запустите bin/setup-hadoop.{sh|bat} скрипт установки и следуйте инструкциям.

ПРИМЕЧАНИЕ. На платформе Windows клиенту Apache Hadoop требуется путь JAVA_HOME, который не должен содержать пробелов. Java, установленная на C:\\Program Files\, не будет работать, установите JRE в правильное местоположение и укажите JAVA_HOME там.

2.1 Проверка установки Apache Ignite

После успешного завершения сценария установки вы можете запустить сценарий запуска Ignite. Следующая команда запустит узел Ignite с конфигурацией по умолчанию, используя обнаружение многоадресного узла.

bin/ignite.{sh|bat}

Если Ignite был успешно установлен, вывод вышеприведенных команд не должен вызывать исключений или ошибок. Обратите внимание, что вы можете увидеть некоторые другие предупреждения во время запуска, но это нормально, так как они предназначены для информирования определенных по умолчанию эта функция включена или выключена.

Вы можете выполнить вышеупомянутые команды несколько раз на одном компьютере и убедиться, что узлы обнаруживают друг друга. Вот пример распечатки журнала, когда к топологии присоединяются 2 узла:

... Topology snapshot [nodes=2, CPUs=8, hash=0xD551B245]

Вы также можете запустить Ignite Management Console, которая называется Visor, и наблюдать за запущенными узлами. Для запуска Visor необходимо выполнить следующий скрипт:

/bin/ignitevisorcmd.{sh|bat}

3. Конфигурация

Для настройки узлов Ignite вы можете изменить файлы конфигурации в каталоге config установки Ignite. Это обычные файлы Spring. Пожалуйста, обратитесь к поставляемым файлам конфигурации и Ignite Javadocs для получения более подробной информации.

3.1 Конфигурация распределенной файловой системы

enter code here

Ignite имеет собственную распределенную файловую систему в памяти, которая называется IgniteFS. Задания Hadoop могут использовать его вместо HDFS для достижения максимальной производительности и масштабируемость. Настройка IGFS намного проще, чем HDFS, это требуется всего несколько настроек конфигурации узла Ignite и не требуют запуска каких-либо дополнительных процессов. Конфигурация по умолчаниюпоставляется с ускорителем, содержит один настроенный экземпляр с именем "ignitefs", которые можно использовать как справочные.

Обычно выглядит URI для IgniteFS, который будет использоваться Apache Hadoop как:

igfs://igfs_name@host_name

Где igfs_name - имя экземпляра IgniteFS, host_name - любой хост. запуск узла Ignite с настроенным экземпляром IgniteFS. Для большего подробности см. в документации IgniteFS.

3.2 Конфигурация Apache Hadoop Client

Для запуска заданий Apache Hadoop с кластером Ignite необходимо настроить core-site.xml и mapred-site.xml при $HADOOP_HOME/etc/hadoop каталог так же, как это делается в шаблонах, поставляемых с Accelerator. Инструмент установки bin/setup-hadoop.{sh|bat} спросит вас заменить эти файлы на шаблоны Ignite или вы можете найти эти шаблоны на config/hadoop/core-site.ignite.xml и config/hadoop/mapred-site.ignite.xml соответственно и выполнить нужная конфигурация вручную.

Клиенту Apache Hadoop нужно будет иметь файлы Ignite jar в classpath, об этом позаботится и инструмент настройки.

4. Запуск задания Apache Hadoop с помощью Ignite In-Memory Accelerator

Чтобы запустить задание Apache Hadoop с кластером Ignite, нужно запустить одно или несколько узлов Ignite и убедитесь, что они успешно обнаружили каждый Другое Когда вся настройка завершена и узлы Ignite запуск, запуск задания Apache Hadoop будет таким же, как с обычное распределение Apache Hadoop за исключением того, что все узлы Ignite равны, и любой из них может рассматриваться как Job Tracker и DFS Name Узел.

Для запуска примера «Word Count» вы можете загрузить некоторые текстовые файлы в IGFS, используя стандартные инструменты Apache Hadoop:

cd $HADOOP_HOME/bin

./hadoop fs -mkdir /input

./hadoop fs -copyFromLocal $HADOOP_HOME/README.txt /input/WORD_COUNT_ME.txt

Выполнить задание:

. / Jadoop Jar $ HADOOP_HOME / доля / Hadoop / MapReduce / -mapreduce-1101 * ПРИМЕРЫ * .jar wordcount / input / output

На этом этапе я получаю сообщение об ошибке .....................

19/07/02 14:56:14 WARN util.NativeCodeLoader: невозможно загрузить библиотека native-hadoop для вашей платформы ... с использованием встроенных классов java где применимо 02 июля 2019 14:56:14 org.apache.ignite.internal.client.impl.connection.GridClientNioTcpConnection ИНФОРМАЦИЯ: Установлено клиентское TCP-соединение: localhost / 127.0.0.1: 11211 02 июля 2019 14:56:14 org.apache.ignite.internal.client.impl.GridClientImpl ИНФОРМАЦИЯ: Клиент запущен [id = 3210127b-b068-4337-b8c2-a804dfc72051, протокол = TCP] 19/07/02 14:56:26 INFO input.FileInputFormat: Общее количество входных путей к процесс: 1 19/07/02 14:56:26 INFO mapreduce.JobSubmitter: число разбивает: 1 19/07/02 14:56:26 INFO mapreduce.JobSubmitter: Отправка токены для работы: job_5455aeb2-b36a-4535-bbf8-c493aed2c1a7_0002 19/07/02 14:56:26 INFO mapreduce.Job: URL для отслеживания работы: N / A 19/07/02 14:56:26 ИНФОРМАЦИЯ mapreduce.Job: Выполнение работы: job_5455aeb2-b36a-4535-bbf8-c493aed2c1a7_0002 java.io.IOException: Job У трекера нет информации о

задание: job_5455aeb2-b36a-4535-bbf8-c493aed2c1a7_0002 в org.apache.ignite.internal.processors.hadoop.proto.HadoopClientProtocol.getJobStatus (HadoopClientProtocol.java:186) на org.apache.hadoop.mapreduce.Job $ 1.run (Job.java:323) на org.apache.hadoop.mapreduce.Job $ 1.run (Job.java:320) at java.security.AccessController.doPrivileged (собственный метод) в javax.security.auth.Subject.doAs (Subject.java:422) в org.apache.hadoop.security.UserGroupInformation.doAs (UserGroupInformation.java:1657) в org.apache.hadoop.mapreduce.Job.updateStatus (Job.java:320) в org.apache.hadoop.mapreduce.Job.isComplete (Job.java:604) в org.apache.hadoop.mapreduce.Job.monitorAndPrintJob (Job.java:1349) в org.apache.hadoop.mapreduce.Job.waitForCompletion (Job.java:1311) в org.apache.hadoop.examples.WordCount.main (WordCount.java:87) at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:498) в org.apache.hadoop.util.ProgramDriver $ ProgramDescription.invoke (ProgramDriver.java:71) в org.apache.hadoop.util.ProgramDriver.run (ProgramDriver.java:144) в org.apache.hadoop.examples.ExampleDriver.main (ExampleDriver.java:74) at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:498) в org.apache.hadoop.util.RunJar.run (RunJar.java:221) в org.apache.hadoop.util.RunJar.main (RunJar.java:136)

Программа Wordcout Example должна запускаться с помощью apache-ignite поверх hadoop, может ли кто-нибудь помочь нам, как настроить или попытаться помочь мне, где я сделал ошибку и как ее устранить.

...