Hadoop 在AWS EMR上涂口红猪
我正在使用script-runner.jar运行AWS EMR Pig作业,如下所述:Hadoop 在AWS EMR上涂口红猪,hadoop,amazon-web-services,apache-pig,elastic-map-reduce,netflix,Hadoop,Amazon Web Services,Apache Pig,Elastic Map Reduce,Netflix,我正在使用script-runner.jar运行AWS EMR Pig作业,如下所述: 现在,我想连接Netflix的唇膏来监控我的脚本。我设置了服务器,在这里的wiki中:我不太清楚如何执行最后一步: hadoop jar lipstick-console-[version].jar -Dlipstick.server.url=http://$LIPSTICK_URL 我应该用这个替换script-runner.jar吗 此外,在wiki中完成构建过程后,我最终得到了3个不同的控制台JAR:
现在,我想连接Netflix的唇膏来监控我的脚本。我设置了服务器,在这里的wiki中:我不太清楚如何执行最后一步:
hadoop jar lipstick-console-[version].jar -Dlipstick.server.url=http://$LIPSTICK_URL
我应该用这个替换script-runner.jar吗
此外,在wiki中完成构建过程后,我最终得到了3个不同的控制台JAR:
lipstick-console-0.6-SNAPSHOT.jar
lipstick-console-0.6-SNAPSHOT-withHadoop.jar
lipstick-console-0.6-SNAPSHOT-withPig.jar
后两个罐子的用途是什么
更新:
我想我正在进步,但似乎仍然不起作用
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
。为此,我必须创建一个引导操作,如下所示:
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/
Bootstrap动作将唇膏jar复制到群集节点,并且<代码> /HODO/HADOP/LIb/<代码>已经在Hadoop类路径中(EMR负责)。 它仍然不起作用,但我想我错过了一些非常小的东西。。。任何想法都值得赞赏
谢谢 目前,口红的主要类别是一个下降替代猪的主要类别。在优化前后访问脚本的逻辑和物理计划是一种黑客行为(远不理想),否则无法访问这些计划。不幸的是,将LipstickPPNL类注册为Pig的PPNL是行不通的。你必须把口红当作猪来做。p> 我没有试图在EMR上运行口红,但是看起来你需要使用自定义的JAR步骤,而不是脚本步骤。请参见此处的文档: jar名称应该是
lipstick-console-0.6-SNAPSHOT-withHadoop.jar
。它包含所有必要的依赖来运行口红。此外,还需要设置lipstick.server.url
P>可选的,您可以查看EMR上的运行,并内置口红集成。