1.最后通过以下两个网址https://github.com/cloudius-systems/osv/wiki/Benchmarking-Cassandra-and-other-NoSQL-databases-with-YCSB和
www.mamicode.com/info-detail-1913108.html,多次尝试成功实现客户端和服务器端的访问。具体步骤如下:
事先按照dataserving源码文件中的dockfile文件成功安装cassandra 和ycsb。
1.1)修改服务器端cassandra配置文件/etc/cassandra.yaml中的参数,前三个一般都是正确的,是安装cassandra时默认的参数,只需检查是否取消注释即可;后三个,192.168.123.254为服务器端机器的ip地址,192.168.123.216是客户端机器的ip地址。
1.2)服务器端Root权限下cd / 目录,创建setup-ycsb.cql文件,文件内容见上面链接,部分截图如下,注:后面一定要加exit;不然语句会一直执行,不退出。
1.3)在服务器端同目录下执行cassandra,作用:启动cassandra
1.4)执行cassandra-cli -h 192.168.123.254 -f setup-ycsb.cql
,作用:修改cassandra的ip,并建立键值;此时会显示usertable名冲突,原因是之前配置时已建立过usertable,执行以下语句检查usertable键值对,并删除。之后,再重新执行以上语句,就会显示创建成功。
describe usertable;
drop keyspaces usertable;
1.5)服务器端执行sudo netstat -plten |grep java
,查看当前进程号
1.6)sudo kill -9
进程号。作用:停止当前cassandra进程,
1.7)执行systemctl stop firewalld.service
关闭防火墙,否则客户端还会一直显示没有到主机的路由问题。
电脑重启之后可能还会遇到同样的问题,没有到主机的路由,再执行上面语句,或者百度搜索设置防火墙永久关闭。
1.8)执行cassandra -f
,重新启动cassandra,不要退出也不要关闭页面;至此,服务器端的配置结束。
1.9)客户端(另一台机器),修改client内的docker-entrypoint.sh文件,hosts=192.168.123.254。192.168.123.254为服务器端ip地址。
1.10)执行./docker-entrypoint.sh ,运行ycsb访问。
1.11)之后会看到客户端显示执行时间和吞吐量的信息,从服务器端检测资源占用。
以上就是解决dataserving客户端和服务器端不能互相访问的全部过程。