Jvm ';已在使用的地址';com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl中引发异常

Jvm ';已在使用的地址';com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl中引发异常,jvm,gemfire,Jvm,Gemfire,我尝试在linux系统中运行一个*.sh文件,这个*.sh文件用于启动Java应用程序。这个应用程序使用gemfire作为其分布式缓存系统。似乎我无法建立gemfire的新tcp连接。有人知道如何解决这个问题吗 例外情况如下: java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:43

我尝试在linux系统中运行一个*.sh文件,这个*.sh文件用于启动Java应用程序。这个应用程序使用gemfire作为其分布式缓存系统。似乎我无法建立gemfire的新tcp连接。有人知道如何解决这个问题吗

例外情况如下:

java.net.BindException: Address already in use
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:437)
        at sun.nio.ch.Net.bind(Net.java:429)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl.<init>(AcceptorImpl.java:378)
        at com.gemstone.gemfire.internal.cache.BridgeServerImpl.start(BridgeServerImpl.java:297)
        at spark.cache.CacheServicePoint.enableServer(CacheServicePoint.java:197)
        at orion.di.service.profile.ProfileService.initialize(ProfileService.java:108)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
java.net.BindException:地址已在使用中
位于sun.nio.ch.Net.bind0(本机方法)
位于sun.nio.ch.Net.bind(Net.java:437)
位于sun.nio.ch.Net.bind(Net.java:429)
位于sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
位于sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
位于com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl.(AcceptorImpl.java:378)
位于com.gemstone.gemfire.internal.cache.BridgeServerImpl.start(BridgeServerImpl.java:297)
在spark.cache.CacheServicePoint.enableServer(CacheServicePoint.java:197)
在orion.di.service.profile.ProfileService.initialize(ProfileService.java:108)中
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:497)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.InvokeCustominetMethod(AbstractAutowireCapableBeanFactory.java:1544)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

已在使用的地址是您的应用程序实例已在同一端口上运行/侦听。如果你是ubuntu用户

netstat -tulpn | grep YOURAPPNAME
这将为您提供在系统中运行实例的ProcessId。找到进程Id号并终止实例,然后再次启动应用程序。 杀死


您是否在同一个机器上启动Java应用程序的两个进程?默认情况下,GemFire server会在40404上打开一个端口以侦听客户端连接,因此当您在同一个框上启动两个以上的服务器时,第二个服务器会获得一个已在使用的
地址
异常。查看用于启动应用程序的脚本。您需要为尝试启动的每个GemFire服务器提供不同的端口。使用GemFireShell,即
gfsh
可以这样做:

 gfsh>start server --name=server1 --server-port=4045
或者,如果没有客户端(即GemFire的对等部署),您可以禁用监听客户端,如下所示:

gfsh>start server --name=server1 --disable-default-server

kill-9
仅在标准kill失败时使用。请参阅此命令“netstat-tulpn | grep YOURAPPNAME”中的另一个问题。如何输入APPNAME。我知道这是关于gemfire的,我应该用“gemfire”来完成这个命令吗。
gfsh>start server --name=server1 --disable-default-server