我在Oracle BDA X7-2上运行Yarn,规范为:

  • Cloudera Enterprise 5.14.3
  • Java 1.8.0_171
  • PGX 2.7.1

  • 我正在尝试按照以下手册在Yarn上运行PGX:
    https://docs.oracle.com/cd/E56133_01/2.5.0/tutorials/yarn.html

    托管运行安装脚本,并使用以下命令完成了它提供的配置文件:
    {
      "pgx_yarn_jar_hdfs_path": "hdfs:/user/pgx/pgx-yarn-2.7.1.jar",
      "pgx_war_hdfs_path": "hdfs:/user/pgx/pgx-webapp-2.7.1.war",
      "pgx_conf_hdfs_path": "hdfs:/user/pgx/pgx.conf",
      "pgx_log4j_conf_hdfs_path": "hdfs:/user/pgx/log4j2.xml",
      "pgx_dist_log4j_conf_hdfs_path": "hdfs:/user/pgx/dist_log4j.xml",
      "pgx_cluster_host_hdfs_path": "hdfs:/user/pgx/cluster-host.tgz",
      "zookeeper_connect_string": "bda1node05,bda1node06,bda1node07",
      "standard_library_path": "/usr/lib64/gcc/4.8.2",
      "min_heap_size": "512m",
      "max_heap_size": "12g",
      "container_cores": 9,
      "container_memory": 0,
      "container_priority": 0,
      "num_machines": 1
    }
    

    Yarn有一个处于pgx-service状态的RUNNING应用程序,stderr中没有错误,日志显示了该服务正在该地址中运行:
    http://bda1node06:7007
    并使用以下命令运行linux Java进程:
    /usr/java/default/bin/java -Xms512m -Xmx12g oracle.pgx.yarn.PgxService bda1node06 /u11/hadoop/yarn/nm/usercache/root/appcache/application_1539869144089_2070/container_e22_1539869144089_2070_01_000002/pgx-server.war 7007 bda1node05,bda1node06,bda1node07 /pgx-8eef44e2-1657-403a-8193-0102f5266680
    出于测试目的,在执行PGX客户端后:
    $PGX_HOME/bin/pgx --base_url http://bda1node06:7007
    我得到:
    java.util.concurrent.ExecutionException: java.lang.IllegalStateException: cannot connect to server; requested http://bda1node06:7007/version?extendedInfo=true and expected status 200, got 404 instead; response body = ""
        at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
        at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
        at oracle.pgx.api.PgxFuture.get(PgxFuture.java:99)
        at oracle.pgx.api.ServerInstance.createSession(ServerInstance.java:559)
        at oracle.pgx.shell.Console.initSession(Console.java:280)
        at oracle.pgx.shell.Console.(Console.java:153)
        at oracle.pgx.shell.Console.main(Console.java:296)
    Caused by: java.lang.IllegalStateException: cannot connect to server; requested http://bda1node06:7007/version?extendedInfo=true and expected status 200, got 404 instead; response body = ""
        at oracle.pgx.api.ClientApiProvider.lambda$versionCheck$2(ClientApiProvider.java:189)
        at oracle.pgx.client.RemoteUtils.lambda$asyncRequest$5(RemoteUtils.java:278)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
    

    我不知道如何调试和检查连接URL中是否需要任何额外的路径。

    我应该如何进行调试?

    提前致谢!

    最佳答案

    缺省情况下,PGX的基本路径为/pgx,这意味着您应按以下方式进行连接:

    $PGX_HOME/bin/pgx --base_url http://bda1node06:7007/pgx
    

    关于bigdata - Yarn上的Oracle PGX-WebService上的404,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53284215/

    10-11 02:44