Riak安装与MapReduce测试
文章目录
Riak安装与MapReduce测试
1.安装环境:
- Ubuntu 14.04
- riak-2.1.1 源码编译
- erlang版本R16B03-1(注意 riak目前还不支持R17以上的erlang 版本)
2.依赖安装
- ssl :sudo apt-get install libssl0.9.8
- pam library: sudo apt-get install libpam0g-dev
3.下载并编译riak
- 下载:
wget http://s3.amazonaws.com/downloads.basho.com/riak/2.1/2.1.1/riak-2.1.1.tar.gz
- 解压:
tar zxvf riak-2.1.1.tar.gz
- 编译:
cd riak-2.1.1 && make
4.构建riak集群
-
生成riak node实例:
make devrel DEVNODES=$N
,其中N是想要生成的节点数 -
配置riak node :riak的配置文件位于 $RIAK_HOME/dev/dev*/etc/riak.conf,可以配置节点名称,HTTP服务监听IP和端口,PCB 协议监听IP和端口storage backend(存储后端) 等。
-
启动riak node :
$RIAK_NODE_ROOT/bin/riak start
-
组成集群
-
加入集群:
$RIAK_NODE_ROOT/bin/riak-admin cluster join $NODENAME
-
$RIAK_NODE_ROOT/bin/riak-admin cluster plan
-
提交:
$RIAK_NODE_ROOT/bin/riak-admin cluster commit
-
查看集群状态:
$RIAK_NODE_ROOT/bin/riak-admin member-status
5.相关官方文档
- riak.conf 配置文件:
http://docs.basho.com/riak/2.1.1/ops/building/configuration/
- riak和riak-admin:
http://docs.basho.com/riak/2.1.1/ops/running/tools/riak/
、http://docs.basho.com/riak/2.1.1/ops/running/tools/riak-admin/
- 存储后端的选择:
http://docs.basho.com/riak/latest/ops/building/planning/backends/
- MapReduce:
http://docs.basho.com/riak/2.1.1/dev/advanced/mapreduce/
6.MapReduce 实践
MapReduce是Riak主要用于非主键查询的方法,但是MapReduce 操作的代价是十分昂贵的,甚至会降低生产环境集群的性能。因此,应当尽量少用MapReduce,并且永远不要用于实时查询。Riak允许你通过Erlang或者Javascript来进行MapReduce操作,但是从Riak2.0开始,javascript开始被弃用。 MapReduce测试: 五台机器,组成集群: 一台 model name : Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz MemTotal: 1429236 kB 四台 Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz MemTotal: 65897328 kB
在erlang shell里面输入:
|
|
%通过PCB接口,使用erlang进行MapReduce处理 240080 条数据,耗时 62112283 微秒,约等于 62s
|
|
%通过http接口,使用javascript 进行Mapreduce 处理240080 条数据,1442538003-1442537754=249s
|
|
%通过PCB协议接口,使用Javascript 进行MapReduce处理240080 条数据,耗时 240914091微妙 ,约240秒.
|
|
文章作者 bobo
上次更新 2015-10-22