2017-02-08 27 views

ответ

0

Установка

Во-первых, зарегистрировать учетную запись на АМС и создать экземпляр EC2 в версии Ubuntu 14,04. (Ubuntu 16 не будет работать). Добавьте настроенное правило TCP, чтобы открыть порт 0-65535 в вашей группе безопасности.

Вам не нужно устанавливать какие-либо jdk или другие зависимости самостоятельно.

Во-вторых, по этой ссылке, чтобы установить HDP на вас EC2 экземпляру http://docs.hortonworks.com/HDPDocuments/Ambari-2.1.2.0/bk_Installing_HDP_AMB/content/_download_the_ambari_repo_ubuntu14.html Обратите внимание, что вам необходимо установить НТП на вашем экземпляре

sudo apt get install ntp 

и не забудьте изменить root до ubuntu при настройке сервера.

В-третьих, загрузите файл данных и скопируйте его в hdfs. Я использовал

sudo wget https://www.dropbox.com/s/cz25tno9pi817ft/large_data4word_counting?dl=0# 
## extract the file and rename it to be large_data 
sudo -u hdfs -copyFromLocal /large_data/

вы можете использовать либо SUDO -u HDFS или CHMOD, чтобы дать вам власть на каталогах

Выполнить MapReduce Word Count Работа

Go в папку /usr/hdp/current/hadoop-mapreduce-client.

sudo -u hdfs hadoop jar hadoop-mapreduce-examples.jar wordcount /large_data /result 

Тогда вы можете найти количество слов результат задания в папке результата.

sudo -u hdfs hadoop dfs -copyToLocal /result /result 

Запуск Спарк Word Count Работа

написать программу Python

import sys 
from operator import add 
from pyspark import SparkContext,SparkConf 
if __name__ == "__main__": 
    conf = SparkConf().setAppName("Spark Count") 
    sc = SparkContext(conf=conf) 
    text_file = sc.textFile("/large_data") 
    counts = text_file.flatMap(lambda x: x.split(' ')) \ 
        .map(lambda x: (x, 1)) \ 
        .reduceByKey(add) 
    counts.saveAsTextFile("/output") 

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

export HADOOP_CONF_DIR=/etc/hadoop/conf/ 
sudo -u hdfs /usr/hdp/current/spark-client/bin/spark-submit --master yarn \ 
wordcount.py