弹簧数据流和纱线:如何正确设置属性



如何更改默认的appDeployAppmaster属性?

当我尝试通过Spring DataFlow纱线部署应用程序时。我注册了我的应用程序,创建了一个流,然后单击"部署"按钮。这样做时,我会收到以下错误:

。目标主机是:" null":8032;java.net.unknownhostexception;有关更多详细信息,请参见:http://wiki.apache.org/hadoop/unknownhost;嵌套异常是Java.net.UnknownHostException:无效主机名称:本地主机为:(未知);目标主机是:" null":8032;java.net.unknownhostexception;有关更多详细信息,请参见:http://wiki.apache.org/hadoop/unknownhost

,如您所见,部署者无法找到"资源管理器" URI,尽管当Spring DataFlow服务器启动时可以找到它。所以我只在部署时间遇到问题。

我应该设置哪个属性来解决此问题,我将在哪里做?

编辑1:在Janne Valkealahti的答案之后,我在/dataflow/apps/stream/app/servers.yml中添加了以下属性,重新启动了服务器,并试图重新启动我的流。

spring:
  cloud:
    dataflow:
      yarn:
        version: 0.0.1-SNAPSHOT
    deployer:
      yarn:
        version: 1.0.2.RELEASE
    stream:
      kafka:
        binder:
          brokers: kafka.my-domain.com:9092
          zkNodes: zookeeper.my-domain.com:2181/node
  # Configured for Hadoop single-node running on localhost. Replace with property values reflecting your
  # actual Hadoop cluster when running in a distributed environment.
  hadoop:
    fsUri: hdfs://mapr.my-domain.com/referentiel/ca_category_2014/
    resourceManagerHost: mapr.my-domain.com
    resourceManagerPort: 8032
    resourceManagerSchedulerAddress: mapr.my-domain.com:8030
  session:
    store-type: none

我仍然收到完全相同的消息。

ps:我不使用Ambari,我想先了解它是如何手动工作的。

编辑2:我解决了在数据流服务器上添加-Dspring.config.location VM ARG的问题。给定的配置将传递给部署,并有效地部署了应用程序。

我会为此写答案。

您没有告诉您的安装是基于Ambari还是正常手动纱线安装,所以我认为这是后者(手册)。

我认为一个问题是,在分发中,您使用config/servers.ymlresourceManagerHost设置错误,因为它默认为localhost。启动流时,该文件仅分布一次到HDFS中。如果您在重新部署/创建流之后已将其更改,则HDFS目录中的应用程序将不会更新。在HDFS中的默认情况下,此文件为/dataflow/apps/stream/app/servers.yml

此错误也很有意义,而且控制整个内容的DataFlow纱线服务器也需要访问YARN Resource Manager才能提交应用程序。服务器的设置也来自相同的servers.yml文件。

事实证明,我需要添加 -Dspring.config.location jvm arg以使其正常工作。-Dspring.config.location应指向包含纱线配置的文件,即:

spring:
  cloud:
    dataflow:
      yarn:
        version: 0.0.1-SNAPSHOT
    deployer:
      yarn:
        version: 1.0.2.RELEASE
    stream:
      kafka:
        binder:
          brokers: kafka.my-domain.com:9092
          zkNodes: zookeeper.my-domain.com:2181/node
  # Configured for Hadoop single-node running on localhost. Replace with property values reflecting your
  # actual Hadoop cluster when running in a distributed environment.
  hadoop:
    fsUri: hdfs://mapr.my-domain.com/referentiel/ca_category_2014/
    resourceManagerHost: mapr.my-domain.com
    resourceManagerPort: 8032
    resourceManagerSchedulerAddress: mapr.my-domain.com:8030
  session:
    store-type: none

然后将此配置传递给Deployer应用程序(如果我正确正确,则appdeployerappmaster)。

相关内容

  • 没有找到相关文章

最新更新