【发布时间】:2021-09-24 06:43:41
【问题描述】:
我使用this guide 中的代码创建了 Spring Boot 应用程序。 hazelcast.yaml 如下。
hazelcast:
network:
join:
multicast:
enabled: false
aws:
enabled: true
host-header: ec2
interfaces:
enabled: true
interfaces:
- 10.9.*.*
map:
books:
time-to-live-seconds: 60
但我得到错误
2021-07-15 10:14:08.101 INFO 1 --- [main] c.h.i.config.AbstractConfigLocator:从类路径加载“hazelcast.yaml”。 2021-07-15 10:14:08.911 INFO 1 --- [main] com.hazelcast.instance.AddressPicker:[LOCAL] [dev] [4.2.1] 接口已启用,试图选择一个与其中之一匹配的地址:[10.9..] 2021-07-15 10:14:09.098 INFO 1 --- [main] com.hazelcast.system : [10.9.0.4]:5701 [dev] [4.2.1] Hazelcast 4.2.1 (20210630 - 06a4018) 从[10.9.0.4]:5701 2021-07-15 10:14:11.700 INFO 1 --- [main] com.hazelcast.aws.AwsDiscoveryStrategy:使用 AWS 发现插件和配置:AwsConfig{accessKey='', secretKey='',iamRole='null',region='null',hostHeader='ec2',securityGroupName='null',tagKey='null',tagValue='null',hzPort=5701-5708 , cluster='null', family='null', serviceName='null', connectionTimeoutSeconds=10, connectionRetries=3, readTimeoutSeconds=10} 2021-07-15 10:14:11.717 错误 1 --- [main] com.hazelcast.instance.impl.Node: [10.9.0.4]:5701 [dev] [4.2.1] 节点创建失败 java.lang.RuntimeException:未能配置发现策略 在 com.hazelcast.spi.discovery.impl.DefaultDiscoveryService.loadDiscoveryStrategies(DefaultDiscoveryService.java:161) ~[hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.spi.discovery.impl.DefaultDiscoveryService.(DefaultDiscoveryService.java:58) ~[hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.spi.discovery.impl.DefaultDiscoveryServiceProvider.newDiscoveryService(DefaultDiscoveryServiceProvider.java:29) ~[hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.instance.impl.Node.createDiscoveryService(Node.java:343) ~[hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.instance.impl.Node.(Node.java:269) ~[hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.instance.impl.HazelcastInstanceImpl.createNode(HazelcastInstanceImpl.java:148) [hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.instance.impl.HazelcastInstanceImpl.(HazelcastInstanceImpl.java:117) [hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.instance.impl.HazelcastInstanceFactory.constructHazelcastInstance(HazelcastInstanceFactory.java:211) [hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.instance.impl.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:190) [hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.instance.impl.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:128) [hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.core.Hazelcast.newHazelcastInstance(Hazelcast.java:91) [hazelcast-all-4.2.1.jar!/:4.2.1] 在 org.springframework.boot.autoconfigure.hazelcast.HazelcastServerConfiguration$HazelcastServerConfigFileConfiguration.hazelcastInstance(HazelcastServerConfiguration.java:55) [spring-boot-autoconfigure-2.4.2.jar!/:2.4.2] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_212] 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_212] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212] 在 java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212] 在 org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) [spring-beans-5.3.3.jar!/:5.3.3] 在 org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) [spring-beans-5.3.3.jar!/:5.3.3] 在 org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) [spring-beans-5.3.3.jar!/:5.3.3] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1336) [spring-beans-5.3.3.jar!/:5.3.3] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1179) [spring-beans-5.3.3.jar!/:5.3.3] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:571) [spring-beans-5.3.3.jar!/:5.3.3] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531) [spring-beans-5.3.3.jar!/:5.3.3] 在 org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) [spring-beans-5.3.3.jar!/:5.3.3] 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.3.jar!/:5.3.3] 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) [spring-beans-5.3.3.jar!/:5.3.3] 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) [spring-beans-5.3.3.jar!/:5.3.3] 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944) ~[spring-beans-5.3.3.jar!/:5.3.3] 在 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:923) ~[spring-context-5.3.3.jar!/:5.3.3] 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:588) ~[spring-context-5.3.3.jar!/:5.3.3] 在 org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) ~[spring-boot-2.4.2.jar!/:2.4.2] 在 org.springframework.boot.SpringApplication.refresh(SpringApplication.java:767) ~[spring-boot-2.4.2.jar!/:2.4.2] 在 org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) ~[spring-boot-2.4.2.jar!/:2.4.2] 在 org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426) ~[spring-boot-2.4.2.jar!/:2.4.2] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:326) ~[spring-boot-2.4.2.jar!/:2.4.2] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1311) ~[spring-boot-2.4.2.jar!/:2.4.2] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1300) ~[spring-boot-2.4.2.jar!/:2.4.2] 在 com.example.hazelcast.HazelcastApplication.main(HazelcastApplication.java:12) ~[classes!/:na] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_212] 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_212] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212] 在 java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212] 在 org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[app.jar:na] 在 org.springframework.boot.loader.Launcher.launch(Launcher.java:107) ~[app.jar:na] 在 org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[app.jar:na] 在 org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88) ~[app.jar:na] 引起:java.lang.NullPointerException:null 在 java.util.regex.Matcher.getTextLength(Matcher.java:1283) ~[na:1.8.0_212] 在 java.util.regex.Matcher.reset(Matcher.java:309) ~[na:1.8.0_212] 在 java.util.regex.Matcher.(Matcher.java:229) ~[na:1.8.0_212] 在 java.util.regex.Pattern.matcher(Pattern.java:1093) ~[na:1.8.0_212] 在 com.hazelcast.aws.RegionValidator.validateRegion(RegionValidator.java:33) ~[hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.aws.AwsClientConfigurator.createAwsClient(AwsClientConfigurator.java:53) ~[hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.aws.AwsDiscoveryStrategy.(AwsDiscoveryStrategy.java:79) ~[hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.aws.AwsDiscoveryStrategyFactory.newDiscoveryStrategy(AwsDiscoveryStrategyFactory.java:50) ~[hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.spi.discovery.impl.DefaultDiscoveryService.buildDiscoveryStrategy(DefaultDiscoveryService.java:195) ~[hazelcast-all-4.2.1.jar!/:4.2.1] 在 com.hazelcast.spi.discovery.impl.DefaultDiscoveryService.loadDiscoveryStrategies(DefaultDiscoveryService.java:141) ~[hazelcast-all-4.2.1.jar!/:4.2.1] ...省略了45个常用框架 2021-07-15 10:14:11.718 INFO 1 --- [main] com.hazelcast.instance.impl.Node: [10.9.0.4]:5701 [dev] [4.2.1] 关闭连接管理器... 2021-07-15 10:14:11.792 INFO 1 --- [main] com.hazelcast.instance.impl.Node: [10.9.0.4]:5701 [dev] [4.2.1] 关闭节点引擎... 2021-07-15 10:14:11.804 INFO 1 --- [main] c.hazelcast.instance.impl.NodeExtension:[10.9.0.4]:5701 [dev] [4.2.1] 销毁节点 NodeExtension。
但是,当我尝试仅删除 host-header: ec2 的 Fargate 服务时,它起作用了。如何作为 ec2 服务运行?
【问题讨论】:
标签: spring-boot amazon-ec2 amazon-ecs hazelcast