现在工作正常,但不确定上述参数错误的确切解决方案。
我已经安装了ruby 2.0.0p195和以下gem
gem install net-ssh
gem install rdoc
gem install zookeeper
Ruby Zookeeper client installed successfully (ver - 1.4.4)
但是当我执行示例ruby脚本检查节点是否存在并在zookeeper上创建节点时:
require 'rubygems'
require 'zookeeper'
z = Zookeeper.new("localhost:2181")
if !z.exists("/app", :watch => true)
z.create("/app","app root node",:mode => :ephemeral)
end
z.get_children(:path => "/")
…它抛出以下错误。
zookeeper-1.4.4/lib/zookeeper/continuation.rb:172:in `zkrb_exists': wrong number of arguments (3 for 4) (ArgumentError)
from .rvm/gems/ruby-2.0.0-p195/gems/zookeeper-1.4.4/lib/zookeeper/continuation.rb:172:in `submit'
from .rvm/gems/ruby-2.0.0-p195/gems/zookeeper-1.4.4/ext/c_zookeeper.rb:303:in `submit_pending_calls'
from .rvm/gems/ruby-2.0.0-p195/gems/zookeeper-1.4.4/ext/c_zookeeper.rb:261:in `event_thread_body'
谁能帮我解决这个问题? 需要"rubygems"
需要"zk"
zk = zk .new
zk .open('localhost:2181') do |zk如果! zk.exists ?(/根)
结束结束zk.create("/root", :data => "foo")
开始使用zk而不是zookeeper gems。
使用ZK,它更加友好并且文档齐全。ZK是用于编写应用程序的。