Узел Riak больше не работает после изменения IP-адреса
Я использую виртуальный сервер Amazon EC2 Ubuntu 12.04 в качестве моего единственного узла Riak. Я прошел все правильные этапы настройки Riak на экземпляре, используя руководство на сайте bashoВот, гдеx.x.x.x
это частный IP-адрес экземпляра, включая:
С помощьюsudo su -
чтобы получить права суперпользователя (EC2 регистрирует меня как 'Ubuntu').
Установка SSL Lib с помощью:
sudo apt-get install libssl0.9.8
Загрузка 64-битного пакета для 12.04:
wget http://downloads.basho.com.s3-website-us-east-1.amazonaws.com/riak/CURRENT/ubuntu/precise/riak_1.2.1-1_amd64.deb
Затем распаковка через:
sudo dpkg -i riak_1.2.1-1_amd64.deb
Как указано вBasho GuideЯ обновил эти два файла (используя vi):
vm.argsизменения-name [email protected]
на частный IP моего экземпляра.app.configизменения{http, [ {"x.x.x.x", 8098 } ]}
на частный IP моего экземпляра.
изменения{pb_ip, "x.x.x.x"}
на частный IP моего экземпляра.
Узел Riak работал нормально, когда я впервые настроил сервер и выполнил описанное выше, я мог подключиться к узлу и, используяriak start
тогдаriak-admin test
вернулся успешно с:
>Attempting to restart script through sudo -H -u riak
>Successfully completed 1 read/write cycle to '[email protected]'
На следующий день я запустил экземпляр, повторил описанный выше процесс (игнорируя установку) с новым IP-адресом экземпляра.y.y.y.y
(частный IP-адрес экземпляра меняется каждый раз, когда он останавливается / запускается) и набралriak start
в терминал, только чтобы встретить с:
>Attempting to restart script through sudo -H -u riak
>Riak failed to start within 15 seconds,
>see the output of 'riak console' for more information.
>If you want to wait longer, set the environment variable
>WAIT_FOR_ERLANG to the number of seconds to wait
В консоли riak выдается следующая ошибка:
>gen_server riak_core_capability terminated with reason: no function clause matching orddict:fetch('[email protected]', [{'[email protected]',[{{riak_core,staged_joins},[true,false]},{{riak_core,vnode_routing},[proxy,...]},...]}])
гдеy.y.y.y
это новый IP-адрес экземпляра иx.x.x.x
был старый.
Я некоторое время ломал голову над этим и не могу найти что-либо по этой теме, единственное решение, о котором я могу подумать, - это переустановить Riak на случай, если мои каталоги PATH выйдут из строя. Если это не удастся, моим последним средством будет завершение работы экземпляра и перенастройка Riak для нового экземпляра. Итак, прежде чем я прыгну пистолет, я хотел бы спросить:
После обновления полей вapp.config
а такжеvm.args
с новым IP-адресом экземпляра, почемуriak start
Команда больше не успешна?
Есть ли способ для экземпляра Ubuntu EC2 назначить статический частный IP? Это не только поможет решить проблему, но и сэкономит мне время на обновлениеapp.config
а такжеvm.args
каждый раз, когда я запускаю / останавливаю экземпляр.