zookeeper那些坑

伪集群启动失败

即用./zkServer start XXX可以看到启动成功的提示,但是用zkServer.sh status XXX又提示该服务没有正常运行之类的提示。

这里参考了网上的伪集群教程,用多个配置文件启动多个zkServer。而我配置文件中的dataDirectory包含了中文,先开始也怀疑是因为路径名包含了中文的原因。但是测单机的时候也能正常运行,用status指令检查也是正常。

后来才发现是因为以集群模式启动的时候,dataDirectory中要有一个myid文件,这个文件是要在启动时解析这个配置文件的时候就要读取的,而问题就是出在读取这个myid文件上(看了启动输出日志发现出现了一小段极难发现的乱码)。单纯解析dataDirectory是正常的,有没有中文无所谓,但是用dataDirectory路径拼上myid时,如果这个完整路径名有中文,它就会读取myid失败。

编译导出zookeeper c API

我用的zookeeper-3.4.14 相关的C API在zookeeper根目录下的zookeeper-client/zookeeper-client-c下,而不是什么src/c

在上面所说的目录下执行:(如何编译具体可以看该目录下的README文件)
./configure
make
make install

最后编译完后没在usr/local/lib和usr/local/include下没找到自己要的库文件和头文件,发现是因为编译的时候没有root权限,无法对/usr/local文件夹进行修改,sudo后问题就没了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值