小编Tha*_*ara的帖子

如何跨多个数据中心部署zookeeper并进行故障转移?

我想知道在跨数据中心运行Zookeeper时可用的现有方法吗?

我在做一些研究后发现的一种方法是让观察者.这种方法是在主数据中心只有一个有领导者和追随者的集合.并在备份数据中心拥有观察员.当主数据中心崩溃时,我们选择其他数据中心作为新的主数据中心,并手动将观察者转换为领导者/跟随者.

我想提出更好的方法来实现同样的目标.

谢谢

fault-tolerance high-availability distributed-computing apache-zookeeper

5
推荐指数
1
解决办法
729
查看次数

log4j:WARN 在 org.apache.log4j.RollingFileAppender 中没有这样的属性 [rollingPolicy]

我正在使用 log4j-1.2.16.jar 和 apache-log4j-extras-1.2.17.jar。

我想启用在文件名后附加日期的滚动文件。但是显示此错误并且文件未按预期旋转。

我的 log4j.properties 文件看起来像这样。

zookeeper.root.logger=DEBUG, ROLLINGFILE
zookeeper.console.threshold=DEBUG
zookeeper.log.dir=/path/to/logs
zookeeper.log.file=zookeeper.log
zookeeper.log.threshold=DEBUG
zookeeper.tracelog.dir=.
zookeeper.tracelog.file=zookeeper_trace.log
log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender
log4j.appender.ROLLINGFILE.Threshold=${zookeeper.log.threshold}
log4j.appender.ROLLINGFILE.File=${zookeeper.log.dir}/${zookeeper.log.file}
log4j.appender.ROLLINGFILE.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.ROLLINGFILE.rollingPolicy.fileNamePattern=${zookeeper.log.dir}/app%d{yyyy-MM-dd}.log
log4j.appender.ROLLINGFILE.MaxFileSize=20KB
log4j.appender.ROLLINGFILE.MaxBackupIndex=100000
log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n
Run Code Online (Sandbox Code Playgroud)

java logging log4j slf4j apache-zookeeper

3
推荐指数
1
解决办法
1万
查看次数

在类成员中正确使用unique_ptr

我正在尝试真正从c ++ 98迁移到c ++ 11及更高版本。我已经把大部分新东西都包裹在头上了,但是我仍然不确定正确的用法unique_ptr

考虑下面的示例,其中类A有一个unique_ptr成员(我以前曾经用过裸指针!)。当用户需要时,可以通过在其他地方(不是类的一部分)调用函数来分配此成员变量。这是正确的用法吗?如果没有,最好的选择是什么?

class A {
private:
   unique_ptr<MyType> mt;
public:
   void initStuff() {
      mt.reset(std::move(StaticFuncSomewhereElese::generateMyType()));
   } 
};

MyType* StaticFuncSomewhereElese::generateMyType() {
    MyType* temp = new MyType(...);
    //do stuff to temp (read file or something...)
    return temp;
}
Run Code Online (Sandbox Code Playgroud)

c++ unique-ptr c++11 c++14

1
推荐指数
2
解决办法
9104
查看次数

在小数点后设置浮点数

我想写一个c ++函数,它将float转换为const char*.在此函数中,传递一个参数以指定输出值应表示的小数位.我已经提出了这个功能,它运行良好.

我想是否有更好的方法来编写这个函数?

static const char* getString(float value, int decimalPlaces)
{
     char strValue[sizeof value];
     sprintf(strValue, "%.%df", value, decimalPlaces);
     return strValue;
}
Run Code Online (Sandbox Code Playgroud)

c++ c++11

0
推荐指数
1
解决办法
343
查看次数