Ruby経由でCassandra
cassandra-cliで操作するのもつらくなってきたので,そろそろRubyから使えるようにします.
Gemインストール
念のため,Gemがあるか確認.
gem search cassandra -r *** REMOTE GEMS *** activerecord-cassandra-adapter (0.1.0) cassandra (0.8.2) cassandra_client (0.3) jamesgolick-cassandra (0.8.2) rdf-cassandra (0.2.0)
あるある.
そのままインストール.
gem install cassandra
Building native extensions. This could take a while...
Building native extensions. This could take a while...
Successfully installed thrift-0.2.0.3
Successfully installed thrift_client-0.4.3
Successfully installed json-1.4.3
Successfully installed rake-0.8.7
Successfully installed simple_uuid-0.1.1
Successfully installed cassandra-0.8.2
6 gems installed
...長いので以下略.
動作確認
とりあえずrequireできるか確認してみる.
# え? ruby -e "require 'rubygems'; require 'cassandra'" /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- net/https (LoadError) from /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require' from /var/lib/gems/1.8/gems/thrift-0.2.0.4/lib/thrift/transport/http_client_transport.rb:22 from /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' from /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require' from /var/lib/gems/1.8/gems/thrift-0.2.0.4/lib/thrift.rb:48 from /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' from /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require' from /var/lib/gems/1.8/gems/thrift_client-0.4.3/lib/thrift_client.rb:7 from /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' from /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `require' from /var/lib/gems/1.8/gems/cassandra-0.8.2/lib/cassandra.rb:2 from /usr/lib/ruby/1.8/rubygems/custom_require.rb:32:in `gem_original_require' from /usr/lib/ruby/1.8/rubygems/custom_require.rb:32:in `require'
と,ここでエラーが出てしまう.
net/httpsが使えねーと言われているので,libopenssl-rubyを入れる.
aptitude install libopenssl-ruby
今度こそ.
# OK. ruby -e "require 'rubygems'; require 'cassandra'"