当数据量很大时,我们需要利用集群的力量,将数据和计算分布到多台机器上,实现计算能力的可伸缩性。SODBASE可以通过zookeeper来自动管理数据分发。当一台计算服务器出现故障时,数据能够自动切换到其它服务器。当这台服务器恢复工作后,数据又能够切换回来。
操作示例
(1)下载最新版的SODBASE Studio,
(2)下载testZookeeper_data.sod,testZookeeper_oneprocessor.sod,将这两个模型导入Studio
(3)下载zookeeper,并启动
$ bin/zkServer.sh start
(4)打开testzookeeper_data模型,此模型用的是模拟数据输入,输出是Distributed Output。具体输出到集群的哪些机器由zookeeper管理。group by fields参数是指将哪些字段来分发数据,相同的字段值会被分发到同一台处理服务器。
测试运行testzookeeper_data,发现没有数据输出
(5)打开testZookeeper_oneprocessor模型,这个模型的输入是自动将自己注册到Zookeeper上来获取数据流,
查看Input配置可以看到the stream connected参数需要和testZookeeper_data的输出流一致,才能接收来自
testZookeeper_data分发的数据。测试运行testZookeeper_oneprocessor,可以看到数据结果
(5)同样,可以将testZookeeper_coneprocessor模型分别部署到多台服务器上,就可以自动获取分发的数据,实现计算能力的可伸缩性。
注意:在SODBASE Server上部署时,需要配置global.properties中的localserveraddress为自己的ip端口