ГЛАВНАЯ СТРАНИЦА
СЕНТЯБРЬ 11, 2014

Hi,

Just a note for myself for fast creating of AWS EMR cluster with Custom JAR job.

  1. #!/bin/bash
  2.  
  3. jobName="MyReportJob"
  4. clusterName="EmrCluster1"
  5. clusterId=""
  6. activeStepStates="—step-states PENDING RUNNING"
  7.  
  8. bucket="s3://emr-test"
  9. region="us-west-2"
  10. instanceType="m1.medium"
  11. instanceNumber=3
  12.  
  13. resdir="resources/"
  14. filesPattern='*.log'
  15.  
  16. jarPath="my-job-1.0-SNAPSHOT-jar-with-dependencies.jar"
  17. jarRename="my-job-1.0-SNAPSHOT-wdeps.jar"
  18. jarRenamePath="/tmp/$jarRename"
  19.  
  20. # Exit script gently
  21. trap "on_trap" SIGHUP SIGINT SIGTERM
  22. function on_trap() {
  23.     echo "Exiting script as of signal…"
  24.     exit 1
  25. }
  26.  
  27. # Run command securely
  28. function do2() {
  29.     echo "Running command: [$*]"
  30.     $*
  31.     res=$?
  32.     if [ $res -gt 0 ]; then
  33.         echo "ERROR: Command execution failed."
  34.         exit $res
  35.     fi
  36. }
  37.  
  38. # Prepare data
  39. function prepare_data() {
  40.     # Clear previous run results
  41.     for i in logs results; do
  42.         do2 aws s3 rm "$bucket/$i/" —recursive
  43.     done
  44.  
  45.     # Upload log files
  46.     for i in $(ls "$resdir"/$filesPattern); do
  47.         do2 aws s3 cp "$i" "$bucket/data/"$(basename "$i" "$resdir")
  48.     done
  49.  
  50.     # Upload Hadoop job
  51.     do2 rm -f "$jarRenamePath"
  52.     do2 cp "$jarPath" "$jarRenamePath"
  53.     do2 aws s3 cp "$jarRenamePath" "$bucket/job/$jarRename"
  54. }
  55.  
  56. # Create EMR Hadoop cluster
  57. function create_cluster() {
  58.     clusterId=$(aws emr list-clusters —active | grep "$clusterName" | awk '{print $2}')
  59.     if [ -z "$clusterId" ]; then
  60.         echo "Creating $clusterName cluster. Doesn't exists yet."
  61.         # Start Hadoop cluster
  62.         do2 aws emr \
  63.         create-cluster \
  64.         —alive \
  65.         —region "$region" \
  66.         —num-instances $instanceNumber \
  67.         —instance-type "$instanceType" \
  68.         —name "$clusterName" \
  69.         —ami-version 3.0.4 \
  70.         —hadoop-version 2.2.0 \
  71.         —log-uri "$bucket/logs"
  72.  
  73.         clusterId=$(aws emr list-clusters —active | grep "$clusterName" | awk '{print $2}')
  74.         if [ -z "$clusterId" ]; then
  75.             echo "ERROR Cannot create $clusterName cluster: Cannot get cluster ID. Try 'aws emr —list-clusters'."
  76.             exit 1
  77.         fi
  78.     else
  79.         echo "Do not create $clusterName cluster as it's already exists."
  80.     fi
  81. }
  82.  
  83. # Run Hadoop job
  84. function run_app() {
  85.     echo "Running job $jobName for $clusterName [$clusterId] cluster…"
  86.  
  87.     if [ -z "$clusterId" ]; then
  88.         echo "ERROR No cluster ID found [$clusterId]. Try 'aws emr list-clusters'."
  89.         exit 1
  90.     fi
  91.  
  92.     # Check for JAR existance
  93.     jarStepId=$(aws emr list-steps —cluster-id "$clusterId" $activeStepStates | grep "$jobName" | awk '{print $3}')
  94.     if [ ! -z $jarStepId ]; then
  95.         echo "WARN Not going to add Custom JAR step $jobName because it's already exists and is in active state. Try 'aws emr list-steps —cluster-id $clusterId $activeStepStates'."
  96.         return
  97.     fi
  98.  
  99.     # Run uploaded job in Hadoop cluster
  100.     do2 aws emr \
  101.     add-steps \
  102.     —cluster-id "$clusterId" \
  103.     —steps \
  104.     Type=CUSTOM_JAR,Name=$jobName,ActionOnFailure=CANCEL_AND_WAIT,Jar=$bucket/job/$jarRename,Args=$bucket/data,$bucket/results
  105.  
  106.     jarStepId=$(aws emr list-steps —cluster-id "$clusterId" $activeStepStates | grep "$jobName" | awk '{print $3}')
  107.     if [ -z $jarStepId ]; then
  108.         echo "ERROR Cannot find/create Custom JAR step $jobName. Try 'aws emr list-steps —cluster-id $clusterId $activeStepStates'."
  109.         exit 2
  110.     fi
  111.  
  112.     echo "Custom JAR $jobName with step ID [$jarStepId] on cluster $clusterName [$clusterId] has been successfully created."
  113. }
  114.  
  115. # Business logic
  116. if [ $1 = "-d" ]; then
  117.     echo "Preparing data for the job(s)…"
  118.     prepare_data
  119. else
  120.     echo "Do not prepare data for the job(s)."
  121. fi
  122.  
  123. create_cluster
  124. run_app
СЕНТЯБРЬ 8, 2014

Мифический котопёс

Мифический котопёс

Идет гулять и есть овёс,

Нагая дама в позе цветка

Позирует в рекламе табака.

Туристы в метро шумны -

Ходят группами и озабочены.

Мужик в костюме и с кейсом -

Неужели едет ранним рейсом?

Кафе забито людьми -

Кто-то пьёт кофе, как мы.

Медведь сидит за ноутбуком -

Отдых со сверхскоростным звуком.

Южный печатает бумаги -

Делает вид, что фиксит баги.

Музыка в наушниках играет,

А кто-то рядом сидит и не понимает.

СЕНТЯБРЬ 8, 2014

Photo on 08 09 2014 at 10.52 Сентябрь news

Привет всем!

Вот и наступил сентябрь, закончилось лето и тепло, а я так ничего и не запостил в блог — как-то не было времени.

Лига Чемпионов. Прошли квалификационные матчи и жеребьевка ЛЧ 2014-2015. Оххх, Зениту досталась самая простая группа из возможных, ЦСКА же наоборот, получил самую сложную группу из возможных, и теперь им предстоит сыграть с Барсой, Баварией и Ромой! Ну и возвращение Ливерпуля в Лигу Чемпионов, дождались! Ливерпуль играет в одной группе с Реалом.

Отборочные к Евро 2016. Вчера прошли первые отборочные матчи ЧЕ2016. Интересного было мало чего. Сегодня же два интересных для меня матча: Россия — Лихтенштейн, Швейцария — Англия. Вкратце, наши должны побеждать, проблем не ожидается. Англия же может и оступиться, т.к. у швейцарцев сильный состав по именам, правда, Хитцфельд покинул команду, а значит с тактической точки зрения команда стала слабее.

Футбольный проект. В процессе, уже много сделал, но нужно допилить до продакшена, и тогда могу запустить проект с чистой совестью, надеюсь, будет полезный. Идей вокруг всего этого много, но в первой версии будет не очень много и того, чего хотелось бы.

Ну вот такие мысли, хорошего дня!

АВГУСТ 18, 2014

Демократия

В современном мире

Ходят люди в мудире,

Бомбы кидают,

Людей убивают.

 

«Зачем,» — я спрошу, -

«Истребляете племя?»

В ответ получу:

«Нынче такое время.»

 

Вот и нет Югославии,

Ирак тоже поджат,

Под крылом демократии

Флаг солдаты держАт.

 

Та страшнейшая группа

Всем известна — ООН,

За ней ходит тело трупа,

И людей бедных стон.

 

Очень мало осталось

Независимых стран,

Изумлён я красотой природной,

Глядя на свободный наш стан.

АВГУСТ 7, 2014

Поезд

Поезд быстрый

Несёт нас домой,

Воздух чистый,

Но Халл долой.

Едем с медведем,

Курим бамбук,

В мире сплетен

Слышу поезда стук.

Милые дамы

Тестируют софт,

Балинт играет

В Лару Крофт.

Бейглы в пакете

С сыром и мясом,

Румба в винегрете

Под твоим матрасом.

Подъезжаем к ЛондонУ -

Голова кипит,

Видим Марадону -

Мужичек, как магнит.

В метро добралися:

Спокойно стоим,

Только не злится

Парень Вадим.

В семь мы у дома:

Гуляет народ,

Как же вредна

Водка из шпрот.

АВГУСТ 6, 2014

Нашел сайтик,

http://www.live-footballontv.com/

И еще переходы в АПЛ этого лета

http://www.bbc.co.uk/sport/0/28603044

Страницы:12345...166