在开发阶段使用zookeeper大约6个月后,虽然它工作正常,但其数据目录的大小增长到6 GIG!而且还在增加.下面列出了一些系统规范:
zookeeper版本:3.4.6
客户端数量:<10
个znode数量:<400
还...
dataDir/version-2中
有90个log.*文件,dataDir/version-2 中没有快照.*文件!
通过谷歌搜索此问题我在页面的高级配置部分找到了自动清除选项ZooKeeper Administrator's Guide.然后我使用以下conifguration(zoo.cfg)将zookeeper输出:
tickTime = 2000
dataDir =/home/faghani/software/zookeeper/zkdata
clientPort = 2181
authProvider.1 = org.apache.zookeeper.server.auth.SASLAuthenticationProvider requireClientAuthScheme = sasl
autopurge.snapRetainCount = 3
autopurge.purgeInterval = 1
但是,即使purgeInterval多次到期也没有发生任何变化,即仍然是zookeeper数据目录的大小是6G并且没有删除任何文件.这是一个ls -laht上${dataDir}/version-2.这里有一个奇怪的地方,Nautilus说数据目录的大小是6G,但ls -laht它说只有3.4G!
faghani@node255:~/software/zookeeper/zkdata/version-2$ ls -laht
total 3.4G
-rw-rw-r-- 1 faghani faghani 65M Dec 20 10:09 log.1061d
drwx------ 2 faghani faghani 4.0K Dec 20 10:09 .
-rw-rw-r-- 1 faghani faghani 65M Dec …Run Code Online (Sandbox Code Playgroud) 我有一个带Component注释的接口和一些实现它的类如下:
@Component
public interface A {
}
public class B implements A {
}
public class C implements A {
}
Run Code Online (Sandbox Code Playgroud)
另外,我有一个类Autowired变量,如下所示:
public class Collector {
@Autowired
private Collection<A> objects;
public Collection<A> getObjects() {
return objects;
}
}
Run Code Online (Sandbox Code Playgroud)
我的上下文文件包含以下定义:
<context:component-scan base-package="org.iust.ce.me"></context:component-scan>
<bean id="objectCollector" class="org.iust.ce.me.Collector" autowire="byType"/>
<bean id="b" class="org.iust.ce.me.B"></bean>
<bean id="c" class="org.iust.ce.me.C"></bean>
Run Code Online (Sandbox Code Playgroud)
在主要课程中,我有一些代码如下:
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
B b = (B) context.getBean("b");
C c = (C) context.getBean("c");
Collector objectCollector = (Collector) context.getBean("objectCollector");
for (A object : …Run Code Online (Sandbox Code Playgroud)