Hadoop 在AWS EMR上涂口红猪

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:

我正在使用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:

lipstick-console-0.6-SNAPSHOT.jar
lipstick-console-0.6-SNAPSHOT-withHadoop.jar
lipstick-console-0.6-SNAPSHOT-withPig.jar
后两个罐子的用途是什么

更新:

我想我正在进步,但似乎仍然不起作用

> p>我设置了Pig.NoTrimeCist.ListNead参数和口红服务器URL。在EMR中有不止一种方法可以做到这一点。因为我使用的是ruby 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 
  • 接下来,我向hadoop类路径添加了
    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上的运行,并内置口红集成。