代码之家  ›  专栏  ›  技术社区  ›  Jonas

如何用Java客户端在RIAK中存储对象?

  •  1
  • Jonas  · 技术社区  · 15 年前

    我在一台Ubuntu机器上安装了RIAK,如果我安装了它,它就可以正常工作。 riak ping .

    现在我想用 Riak Java client 存储对象,但不起作用。我得到 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);  
        }
    }
    
    2 回复  |  直到 12 年前
        1
  •  3
  •   seancribbs    15 年前

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

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

        2
  •  0
  •   athspk RNJ    12 年前

    最后一次更新 wiki page .

    所以你需要:

    1. 关闭节点
    2. 删除每个节点中的目录“ring”:节点目录/data/ring
    3. 在etc/vm.args中,将名称从riak@127.0.0.1更改为smth,如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" },