2

场景:安装了 CouchBase 服务器并遇到以下问题:
IP address seems to have changed. Unable to listen on 'ns_1@169.254.20.219'

按照couchbase docs处理IP地址
上的步骤解决了它 所以,我的文件C:\Program Files\Couchbase\Server\bin\service_register.bat

set NS_BIN=%~dp0
set NS_ROOT=%NS_BIN%..
set NS_ERTS=%NS_BIN%erlang\erts-5.8.3\bin

pushd "%NS_ROOT%"
for /f "tokens=1* delims=" %%a in ('cmd /q/c "type bin\ipaddr.out"') do set IP_ADDR=%%a

set NS_NAME=ns_1@192.168.3.53
if not "%1"=="" set NS_NAME=%1

pushd "%NS_ROOT%"
"%NS_ERTS%\erlsrv.exe" add CouchbaseServer -stopaction "ns_bootstrap:stop()." -name %NS_NAME% -InternalServiceName CouchbaseServer -onfail restart -workdir "%NS_ROOT%" -args "+A 16 -setcookie nocookie -ns_server config_path \\\".\\etc\\couchbase\\static_config\\\" -kernel inet_dist_listen_min 21100 inet_dist_listen_max 21299 -run ns_bootstrap override_resolver -ns_server restart_script \\\".\\bin\\service_reregister.bat\\\" -- %2 %3 %4 %5 %6 %7 %8 %9"
popd

set serviceId=""
for /f "tokens=2 delims==" %%s in ('sc GetKeyName CouchbaseServer') do set serviceId=%%s
sc description %serviceId% "Couchbase Server Service"

我开始将它与 Node.JS 一起使用,并且能够存储数据等。

问题:我的 IP 地址是动态的,如果我按照相同的步骤来解决相同的问题'IP address seems to have changed. Unable to listen on 'ns_1@192.168.3.53',例如,将其更改为新的 IP 地址192.168.3.58。然后我可以解决这个问题。但我失去了所有的配置。因此,服务器开始询问所有设置(从创建管理员帐户开始),最终我的数据库和数据丢失了。

问题:当 IP 地址是时,我怎样才能取回我的旧数据库192.168.3.53?为什么当 IP 更改时它会转储所有的东西service_register.bat

提前谢谢

4

1 回答 1

1

我没有测试,但这里的程序:http: //www.couchbase.com/docs/couchbase-manual-1.8/couchbase-backup-restore-restore.html#couchbase-backup-restore-prevstate-same应该允许你取回您的数据。

即当节点检测到它不在集群中时,它会自行重置。但它会保持数据文件完好无损,直到您尝试再次设置它或将其加入集群。它完全适用于故障转移是意外的情况或像您这样的问题。

于 2013-04-16T20:52:54.240 回答