我已经在Ubuntu机器上设置了Riak,如果我riak ping
,它就可以正常工作。
现在我想使用Riak Java client来存储一个对象,但它不起作用。当我尝试存储对象时,我得到com.basho.riak.client.response.RiakIORuntimeException
。我究竟做错了什么?有没有办法测试我是否可以从我的Java客户端访问riak?我必须先创建一个Bucket吗?如何?
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);
}
}
答案 0 :(得分:3)
Jonas,默认情况下,Riak的HTTP服务器仅绑定到本地接口(127.0.0.1)。要更改此设置,请关闭实例并编辑app.config文件。将设置“riak_web_ip”更改为“0.0.0.0”,它将绑定到所有接口。
有关详细信息,请参阅http://wiki.basho.com/display/RIAK
答案 1 :(得分:0)
最新的wiki page。
所以你需要:
在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" },