bft安装log(3)

1.应该修改的rabin.h不是在安装目录下的,而是在/usr/local/include/sfs-0.6/rabin.h的这个,继续修改.因为sfs,gmp都是已经安装好了的,所以安装目录已经没有太大的用处了,那么...我做的链接sfs,gmp是不是也不对?

2.在运行simple/server时出现"Could not find my principal",于是在Node.cc中node的构造函数中加入以下内容,查看运行结果

118 //change by york
119 //printf("\nmy_address.s_addr: %256c",my_address.s_addr);
120 //printf("\na.sin_addr.s_addr: %256c",a.sin_addr.s_addr);
121 printf("addrs match: %i",(my_address.s_addr==a.sin_addr.s_addr));
122 printf("\nnode_id: %i",node_id);
123 printf("\nreq_port: %i",req_port);
124 printf("\nport: %i",port);
125 //change by york

 

运行的结果显示是因为my_address.s_addr和my_address.s_addr的地址不匹配导致的,现要输出这两个地址,把Node.cc改成

118 //change by york
119 printf("\nmy_address.s_addr: %ld",my_address.s_addr); 
120 printf("\na.sin_addr.s_addr: %ld",a.sin_addr.s_addr);
121 printf("addrs match: %i",(my_address.s_addr==a.sin_addr.s_addr));
122 printf("\nnode_id: %i",node_id);
123 printf("\nreq_port: %i",req_port);
124 printf("\nport: %i",port);
125 //change by york

 

输出的结果为:

my_address.s_addr: 16777343
a.sin_addr.s_addr: 838904000
addrs match: 0
node_id: -1
req_port: 0
port: 3669

可见的确是地址读取不正确,而且了解到"127.0.0.1"对应16777343,所以bft是把这个地址读进去了,这是本地环回网络的地址

输出host_name之后发现host_name是匹配的,ip地址不匹配

hostent这个结构负责获取和主机名对应的ip地址,查看/etc/hosts发现这个文件中bft_rh只对应127.0.0.1,于是在这一行前面加上ip地址 bft_rh就可以了

3.做完后make,./server,出错

Unable to join group: Invalid argument

找到这一行是在Replica.cc中,的确是因为不能加入group,因为我只用了单机来处理,接下来应该开五台机器来运行

4.使用cp命令cp出余下4台虚拟机..这应该是个很烂的办法,然后一台一台修改配置

/etc/hosts;

利用netconfig修改ip地址;

/etc/sysconfig/network修改主机名;

ntsysv 可以取消sendmail选项

还需要在启动时为每台虚拟机指定mac地址

正常启动

5.启动5台虚拟机,并进入simple文件夹,执行"./server &"命令,在打印出进程号之后又是unable to join group

posted on 2012-06-14 11:36  york_hust  阅读(320)  评论(0编辑  收藏  举报