Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  1. Запустите консоль (команда cmd)
  2. В консоле выполните (в принципе это нужно выполнять всякий раз, когда нужно будет работать с кластером)

    Блок кода
    set HADOOP_HOME=c:\dev\hadoop\hadoop-2.8.3
    set HADOOP_CONF_DIR=%HADOOP_HOME%\etc\hadoop
    set PATH=%PATH%;%HADOOP_HOME%\sbin;%HADOOP_HOME%\bin
    
    


  3. Выполните форматирование namenode. Помните, что при повторном форматировании из кластера будут удалены все данные.

    Блок кода
    hdfs.cmd namenode -format


  4. Запустите кластер

    Блок кода
    start-all.cmd


  5. Должны запуститься без ошибок 4 демона в 4-х консолях. Имена консолей: 
    1. Apache Hadoop Distiribution - hadoop namenode
    2. Apache Hadoop Distiribution - hadoop datanode
    3. Apache Hadoop Distiribution - yarn nodemanager
    4. Apache Hadoop Distiribution - yarn resourcemanager
  6. По ссылке http://localhost:8088 должен быть доступен yarn recourse manager UI
  7. По ссылке http://localhost:50070  доступен Namenode information сайт.
  8. Положите в hdfs какой-нибудь файл (для примера выбран winutils-master.zip)

    Блок кода
    hdfs dfs -copyFromLocal winutils-master.zip /


  9. Проверьте, что файл был загружен

    Блок кода
    hdfs dfs -ls /


Пример запуска mapreduce задачи

Проект: wordcount.zip

Проект содержит собранный jar-файл в папке target. Однако проект можно собрать maven-ом.

...

Блок кода
languagebash
set HADOOP_HOME=<path to you hadoop>
set HADOOP_CONF_DIR=%HADOOP_HOME%\etc\hadoop
set PATH=%PATH%;%HADOOP_HOME%\sbin;%HADOOP_HOME%\bin

rem copy file to hdfs
hadoop fs -copyFromLocal spark-sql.txt /

rem check if file was copied to hdfs
hadoop fs -ls /

rem run mapreduce job on cluster
hadoop jar target\wordcount-1.0-SNAPSHOT.jar com.pva.mr.wordcount.WordCount /spark-sql.txt /out

rem copy files from hdfs
hadoop fs -copyToLocal /out

rem delete directory from hdfs
hadoop fs -rm -r /out

Логи запуска будут доступны по адресу http://localhost:8088 . 

Пример запуска spark задачи

Проект: 

Проект содержит собранный jar-файл в папке target. Однако проект можно собрать maven-ом.

Запустите консоль в корне проекта (там где лежит файл pom.xml). Выполните:


Блок кода
languagebash
set HADOOP_HOME=D:\Programs\hadoop_2\hadoop-2.8.3\
set HADOOP_CONF_DIR=%HADOOP_HOME%\etc\hadoop
set PATH=%PATH%;%HADOOP_HOME%\sbin;%HADOOP_HOME%\bin
set SPARK_HOME=D:\Programs\Spark\spark-1.6.3-bin-hadoop2.6\

set MAIN_CLASS=org.mai.dep810.spark.rdd.WordCount

rem start cluster command
start-all

rem stop cluster command
stop-all

rem check if file was copied to hdfs
hadoop fs -ls /

rem copy file to hdfs
hadoop fs -copyFromLocal spark-sql.txt /

rem submit spark job on cluster
%SPARK_HOME%\bin\spark-submit --class %MAIN_CLASS% --master yarn target/spark-introduction-1.0.0-SNAPSHOT.jar

Логи запуска будут доступны по адресу http://localhost:8088 . 

Остановка кластера

Команда stop-all.cmd остановит кластер