Jboss Datagrid服务器级别数据库缓存锁定-资源暂时不可用



我正在RHEL中以分布式模式运行Jboss Datagrid服务器的两个实例。我正在使用leveldb缓存存储作为我的二级缓存。这两个实例都应该使用相同的leveldb缓存存储路径,并且应该将键/值写入该路径。

/共享/usr/local/leveldb。

这是我的配置

(在数据目录中创建了一个软链接,以便leveldb路径指向两台服务器中的同一共享目录)。

我在第二个实例上得到了以下错误(第一个实例正在编译,没有任何问题)。我在配置中使用shared="true",这应该允许两个数据网格服务器访问同一个缓存存储。

2016-12-05 13:15:19077错误[org.jboss.msc.service.fail](msc服务线程1-5网址:org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904)位于java.util.concurrent.ThreadPoolExecutiator.runWorker(ThreadPoolExecutiator.java:1142)位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)在java.lang.Thread.run(线程.java:745)导致原因:org.infinispan.commons.CacheException:无法对PersistenceManagerImpl类型的对象调用方法public void org.infinispan.persistence.manager.PersistenceManager Impl.start()网址:org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:172)网址:org.infinispan.factors.AbstractComponentRegistry$PrioritedMethod.ioke(AbstractComponentRegistry.java:864)网址:org.infinispan.factors.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:633)网址:org.infinispan.factors.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:622)网址:org.infinispan.factors.AbstractComponentRegistry.start(AbstractComponentRegistry.java:547)网址:org.infinispan.factors.ComponentRegistry.start(ComponentRegistry.java:238)网址:org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:877)网址:org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:637)网址:org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:587)网址:org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:452)网址:org.infinispan.manager.impl.AbstractDelegatingEmbeddedCacheManager.getCache网址:org.infinispan.server.ininispan.SecurityActions$5.run(SecurityActions.java:130)网址:org.infinispan.server.ininispan.SecurityActions$5.run(SecurityActions.java:127)网址:org.infinispan.security.security.doPrivileged(security.java:76)网址:org.infinispan.server.ininispan.SecurityActions.doPrivileged(SecurityActions.java:63)网址:org.infinispan.server.ininispan.SecurityActions.startCache(SecurityActions.java:135)网址:org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:86)网址:org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)网址:org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)…还有3个导致原因:org.infinispan.commons.CacheException:无法启动缓存加载程序位于org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManager Impl.java:174)在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)位于java.lang.reflect.Method.ioke(Method.java:498)网址:org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUti.java:168)…还有21个原因:org.infinispan.commons.CacheConfigurationException:无法打开数据库网址:org.infinispan.persistence.leveldb.LevelDBStore.start(LevelDBStore.java:108)位于org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManager Impl.java:141)…还有26个由:org.fusesourm.leveldbjni.internal.NativeDB$DB异常:IO错误:lock/shared/usr/local/leveldb/data/mycache/lock:资源暂时不可用网址:org.fusesourt.leveldbjni.internal.NativeDB.checkStatus(NativeDB.java:200)网址:org.fusesourt.leveldbjni.internal.NativeDB.open(NativeDB.java:218)网址:org.fusesoury.leveldbjni.JniDBFactory.open(JniDBFactory.java:168)网址:org.infinispan.persistence.leveldb.LevelDBStore.openDatabase(LevelDBStore.java:153)网址:org.infinispan.persistence.leveldb.LevelDBStore.start(LevelDBStore.java:104)…还有27个

LevelDB缓存存储无法共享,因为LevelDB本身并不意味着要共享。我创建了一个问题,以确保在配置验证期间可以防止此类错误:https://issues.jboss.org/browse/ISPN-7286

最新更新