Как сохранить объект в Riak с помощью клиента Java? - PullRequest
1 голос
/ 20 апреля 2010

Я настроил Riak на машине с Ubuntu, и он работает, если я делаю riak ping.

Теперь я хотел бы использовать Java-клиент Riak для хранения объекта, но он не работает. Я получаю com.basho.riak.client.response.RiakIORuntimeException, когда пытаюсь сохранить объект. Что я делаю неправильно? Есть ли способ проверить, могу ли я получить доступ к riak из моего Java-клиента? Должен ли я сначала создать 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);  
    }
}

Ответы [ 2 ]

3 голосов
/ 20 апреля 2010

Jonas, по умолчанию HTTP-сервер Riak привязывается только к локальному интерфейсу (127.0.0.1). Чтобы изменить это, закройте свой экземпляр и отредактируйте файл app.config. Измените параметр «riak_web_ip» на «0.0.0.0», который будет привязан ко всем интерфейсам.

Для получения дополнительной информации см. http://wiki.basho.com/display/RIAK

0 голосов
/ 05 сентября 2012

Последнее обновление вики-страница .

Так что вам нужно:

  1. Отключите ваши узлы
  2. Удалить каталог "ring" в каждом узле: {каталог узла} / 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" },
    
...