首页 \ 问答 \ Eureka服务器和eureka客户端分离tomcat服务器(Eureka server and eureka client to separate tomcat servers)

Eureka服务器和eureka客户端分离tomcat服务器(Eureka server and eureka client to separate tomcat servers)

我正在寻找一种能够将Eureka服务器部署到与Eureka客户端不同的tomcat服务器的方法。

这是客户端application.yml:

eureka:
  client:
    registryFetchIntervalSeconds: 5
  instance:
    preferIpAddress: true
    leaseRenewalIntervalInSeconds: 10

server:
  port: 8080

spring:
  application.name: my-client
  jmx:
      default-domain: my-client

和服务器application.yml看起来像:

server:
  port: 8761
eureka:
  client:
    registerWithEureka: false
    fetchRegistry: false

如果我将它们部署到同一个tomcat-server,它可以正常工作。 但是如果我只用服务器启动tomcat,然后用客户端启动服务器,我会收到以下错误:

2017-03-09 16:17:58.496  INFO 7693 --- [on(2)-127.0.0.1] com.netflix.discovery.DiscoveryClient    : Registered Applications size is zero : true
2017-03-09 16:17:58.496  INFO 7693 --- [on(2)-127.0.0.1] com.netflix.discovery.DiscoveryClient    : Application version is -1: true
2017-03-09 16:17:58.496  INFO 7693 --- [on(2)-127.0.0.1] com.netflix.discovery.DiscoveryClient    : Getting all instance registry info from the eureka server
2017-03-09 16:18:04.740  WARN 7693 --- [on(2)-127.0.0.1] c.n.d.s.t.d.RetryableEurekaHttpClient    : Request execution failure with status code 404; retrying on another server if available
2017-03-09 16:18:04.745 ERROR 7693 --- [on(2)-127.0.0.1] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_MYCLIENT-CLIENT/192.168.196.141:my-client:8080 - was unable to refresh its cache! status = Cannot execute request on any known server

com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
    at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:111) ~[eureka-client-1.4.12.jar:1.4.12]
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134) ~[eureka-client-1.4.12.jar:1.4.12]

bootstrap.yml和application.yml有什么区别?

任何帮助,将不胜感激!


I'm looking for a way to be able to deploy the Eureka server to a different tomcat server than the Eureka client.

this is the client application.yml:

eureka:
  client:
    registryFetchIntervalSeconds: 5
  instance:
    preferIpAddress: true
    leaseRenewalIntervalInSeconds: 10

server:
  port: 8080

spring:
  application.name: my-client
  jmx:
      default-domain: my-client

and the server application.yml looks like:

server:
  port: 8761
eureka:
  client:
    registerWithEureka: false
    fetchRegistry: false

It works perfectly fine if I deploy them to the same tomcat-server. But if I start the tomcat with the server only and later start the server with the client, I get the following error:

2017-03-09 16:17:58.496  INFO 7693 --- [on(2)-127.0.0.1] com.netflix.discovery.DiscoveryClient    : Registered Applications size is zero : true
2017-03-09 16:17:58.496  INFO 7693 --- [on(2)-127.0.0.1] com.netflix.discovery.DiscoveryClient    : Application version is -1: true
2017-03-09 16:17:58.496  INFO 7693 --- [on(2)-127.0.0.1] com.netflix.discovery.DiscoveryClient    : Getting all instance registry info from the eureka server
2017-03-09 16:18:04.740  WARN 7693 --- [on(2)-127.0.0.1] c.n.d.s.t.d.RetryableEurekaHttpClient    : Request execution failure with status code 404; retrying on another server if available
2017-03-09 16:18:04.745 ERROR 7693 --- [on(2)-127.0.0.1] com.netflix.discovery.DiscoveryClient    : DiscoveryClient_MYCLIENT-CLIENT/192.168.196.141:my-client:8080 - was unable to refresh its cache! status = Cannot execute request on any known server

com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
    at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:111) ~[eureka-client-1.4.12.jar:1.4.12]
    at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134) ~[eureka-client-1.4.12.jar:1.4.12]

What is the difference between bootstrap.yml and application.yml?

Any help would be appreciated!


原文:https://stackoverflow.com/questions/42699081
更新时间:2023-02-27 06:02

最满意答案

我相信问题是你的id是某个类的成员。 因此Spark会尝试为您序列化整个类。 为了防止这种情况,只需将您的id字段分配给某个本地值:

def doParse = {
  val localId = id
  sc.cassandraTable("keyspace","table").where("some_restriction=random")
    .filter(x=> (Json.parse(x.get[String]("content"))\"id")
    .toString.contains(localId))
}

UPD所以请按原样在REPL中定义上述方法。 然后调用它:

scala> doParse

这将限制Spark尝试序列化的范围。


I believe the problem is that your id is a member of some class. So Spark tries to serialize the whole class for you. To prevent that just assign your id field to some local value:

def doParse = {
  val localId = id
  sc.cassandraTable("keyspace","table").where("some_restriction=random")
    .filter(x=> (Json.parse(x.get[String]("content"))\"id")
    .toString.contains(localId))
}

UPD So please define the method above in REPL as is. And then invoke it like:

scala> doParse

This will limit the scope that Spark tries to serialise.

相关问答

更多

相关文章

更多

最新问答

更多
  • h2元素推动其他h2和div。(h2 element pushing other h2 and div down. two divs, two headers, and they're wrapped within a parent div)
  • 创建一个功能(Create a function)
  • 我投了份简历,是电脑编程方面的学徒,面试时说要培训三个月,前面
  • PDO语句不显示获取的结果(PDOstatement not displaying fetched results)
  • Qt冻结循环的原因?(Qt freezing cause of the loop?)
  • TableView重复youtube-api结果(TableView Repeating youtube-api result)
  • 如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])
  • SQL Server 2014版本支持的最大数据库数(Maximum number of databases supported by SQL Server 2014 editions)
  • 我如何获得DynamicJasper 3.1.2(或更高版本)的Maven仓库?(How do I get the maven repository for DynamicJasper 3.1.2 (or higher)?)
  • 以编程方式创建UITableView(Creating a UITableView Programmatically)
  • 如何打破按钮上的生命周期循环(How to break do-while loop on button)
  • C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)
  • 如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)
  • 如何防止调用冗余函数的postgres视图(how to prevent postgres views calling redundant functions)
  • Sql Server在欧洲获取当前日期时间(Sql Server get current date time in Europe)
  • 设置kotlin扩展名(Setting a kotlin extension)
  • 如何并排放置两个元件?(How to position two elements side by side?)
  • 如何在vim中启用python3?(How to enable python3 in vim?)
  • 在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)
  • 如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)
  • Mysql左连接旋转90°表(Mysql Left join rotate 90° table)
  • dedecms如何安装?
  • 在哪儿学计算机最好?
  • 学php哪个的书 最好,本人菜鸟
  • 触摸时不要突出显示表格视图行(Do not highlight table view row when touched)
  • 如何覆盖错误堆栈getter(How to override Error stack getter)
  • 带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)
  • USSD INTERFACE - > java web应用程序通信(USSD INTERFACE -> java web app communication)
  • 电脑高中毕业学习去哪里培训
  • 正则表达式验证SMTP响应(Regex to validate SMTP Responses)