接上次继续 安装。
安装的protobuf可能版本不对,我换成了3.9.1版本。然后进行覆盖。
重复一遍,安装成功。
[-Wdeprecated-declarations]
if ((res = socket->recv(&msgs.back(), ZMQ_DONTWAIT)) == false) return false;
^
/home/wg/anna/build/vendor/zeromqcpp/zeromqcpp-prefix/src/zeromqcpp/zmq.hpp:1926:10: note:
'recv' has been explicitly marked deprecated here
bool recv(message_t *msg_, int flags_ = 0)
^
/home/wg/anna/kvs/include/zmq_util.cc:51:13: warning: 'getsockopt' is
deprecated: from 4.7.0, use `get` taking option from zmq::sockopt
[-Wdeprecated-declarations]
socket->getsockopt(ZMQ_RCVMORE, static_cast<void*>(&more), &more_size);
^
/home/wg/anna/build/vendor/zeromqcpp/zeromqcpp-prefix/src/zeromqcpp/zmq.hpp:1669:10: note:
'getsockopt' has been explicitly marked deprecated here
void getsockopt(int option_, void *optval_, size_t *optvallen_) const
^
7 warnings generated.
[ 97%] Building CXX object kvs/CMakeFiles/kvs_proxy.dir/include/socket_cache.cc.o
[ 98%] Linking CXX executable kvs_proxy
[100%] Built target kvs_proxy
出现这样就是编译成功。
5.ip 设置
1.在anna包下安装,创建一个conf文件夹,conf/下创建proxy、server、user文件夹。
2.根据说明,创建相应名字的txt文件。单击情况,所有的ip都是本机的ip。ubuntu上查看用ifconfig 命令
For each server node:
- The ip of the current node should be stored in
conf/server/server_ip.txt
. - The ip of the seed node should be stored in
conf/server/seed_server.txt
. The seed node can be any proxy node. - The ip of all the proxy nodes should be stored in
conf/server/proxy_address.txt
. Each line contains a single proxy ip.
For each proxy node:
- The ip of the current node should be stored in
conf/proxy/proxy_ip.txt
.
For each user/benchmark node:
- The ip of the current node should be stored in
conf/user/user_ip.txt
. - The ip of all the proxy nodes should be stored in
conf/user/proxy_address.txt
. Each line contains a single proxy ip.
6.运行
说明一点,模拟分布式环境。每个服务都需要有一份代码。
所以创建3个文件夹,anna_proxy、 anna_server、anna_user 里面代码包含全部的anna代码。
执行:
Please start the proxy first, and then the server and client.
- Start a proxy by running
./build/kvs/kvs_proxy
. - Start a server by running
./build/kvs/kvs_server
. - Start a client by running
./build/kvs/kvs_user
.
The accepted input formats are GET $key
and PUT $key $value
.