1

我已经在 Ubuntu 机器上设置了 Riak,如果我这样做了,它就可以工作了riak ping

现在我想使用Riak Java 客户端来存储一个对象,但是它不起作用。com.basho.riak.client.response.RiakIORuntimeException当我尝试存储一个对象时,我得到了。我究竟做错了什么?有没有办法测试我是否可以从我的 java 客户端访问 riak?我必须先创建一个存储桶吗?如何?

import com.basho.riak.client.RiakClient;
import com.basho.riak.client.RiakObject;
import com.basho.riak.client.response.FetchResponse;

public class RiakTest {

    public static void main(String[] args) {

        // connect
        RiakClient riak = new RiakClient("http://192.168.1.107:8098/riak");

        // create object
        RiakObject o = new RiakObject("mybucket", "mykey", "myvalue");

        // store
        riak.store(o);  
    }
}
4

2 回答 2

3

Jonas,默认情况下,Riak 的 HTTP 服务器只绑定到本地接口 (127.0.0.1)。要更改此设置,请关闭您的实例并编辑 app.config 文件。将设置“riak_web_ip”更改为“0.0.0.0”,这将绑定到所有接口。

有关详细信息,请参阅http://wiki.basho.com/display/RIAK

于 2010-04-20T11:48:23.207 回答
0

最后更新的wiki 页面

所以你需要:

  1. 关闭你的节点
  2. 删除每个节点中的目录“ring”:{node directory}/data/ring
  3. 在 etc/vm.args 中将名称从 riak@127.0.0.1 更改为 riak@192.168.1.10
  4. 在 etc/app.config 中更改 http 和 pb_ip 设置

    from http, [ {"127.0.0.1", 8098 } ]},  to http, [ {"0.0.0.0", 8098 } ]},
    

    from {pb_ip,   "127.0.0.1" }, to {pb_ip,   "0.0.0.0" },
    
于 2012-09-05T14:18:44.783 回答