我使用脚本runner.jar运行的AWS EMR猪的工作如下所述:http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-hadoop-script.html运行猪用口红在AWS EMR
现在,我想连上Netflix的唇膏来监视我的脚本。我设置服务器,并在维基这里:https://github.com/Netflix/Lipstick/wiki/Getting-Started我不能完全弄清楚如何做的最后一步:
hadoop jar lipstick-console-[version].jar -Dlipstick.server.url=http://$LIPSTICK_URL
我应该取代脚本runner.jar这个?
此外,在维基以下的构建过程后,我结束了3个不同的控制台罐:
lipstick-console-0.6-SNAPSHOT.jar
lipstick-console-0.6-SNAPSHOT-withHadoop.jar
lipstick-console-0.6-SNAPSHOT-withPig.jar
什么是后两个罐子的目的是什么?
UPDATE:
我想我正在取得进展,但它似乎仍然没有工作。
我设置pig.notification.listener参数如所描述here和口红服务器URL。在EMR中有多种方法可以实现。由于我使用的红宝石API,我必须指定一个步
hadoop_jar_step: jar: 's3://elasticmapreduce/libs/script-runner/script-runner.jar' properties: - pig.notification.listener.arg: com.netflix.lipstick.listeners.LipstickPPNL - lipstick.server.url: http://pig_server_url
接下来,我添加
lipstick-console-0.6-SNAPSHOT.jar
到Hadoop的类路径。对于这一点,我不得不创建一个引导作用如下:bootstrap_actions: - name: copy_lipstick_jar script_bootstrap_action: path: #s3 path to bootstrap_lipstick.sh
其中bootstrap_lipstick.sh的内容是
#!/bin/bash hadoop fs -copyToLocal s3n://wp-data-west-2/load_code/java/lipstick-console-0.6-SNAPSHOT.jar /home/hadoop/lib/
的引导作用复制口红罐子集群节点,/home/hadoop/lib/
已经在hadoop classpath中(EMR负责)。
它仍然无法正常工作,但我认为我错过了一些非常小的事情......任何想法都会被赞赏。
谢谢!