介绍
riakcs是一个支持分布式的数据库,采用erlang语言开发。其底层使用riak服务器。
这里提供一些资料:
http://docs.basho.com/riak/latest/
http://docs.basho.com/riakcs/latest/
riak与cloudfoundry架构
图画的很初略
流程说明:
(1) 用户创建应用,Cc发送一个应用创建信息给dea。
(2) Dea访问warden服务器,创建应用的container。
(3) 管理员创建riak-cs broker服务实例,riak-cs broker向riak-cs集群发送请求,创建bucket并返回bucket id信息
(4) 用户将应用绑定到服务实例上,即可获取服务实例的bucket信息。
(5) 应用通过服务实例信息,访问riak-cs的Rest API接口。
建立用户
由于配置文件配置的用户为默认的用户,测试时发现用默认的用户访问riak-cs时riak-cs服务器回拒绝,返回403错误,信息如下:
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>AccessDenied</Code>
<Message>AccessDenied</Message>
<Resource/>
<RequestId/>
</Error>
建立用户:
curl-X POST -H 'Content-Type: application/json' --data'{"email":"admin@zzhongcy.com","name":"admin"}' http://10.10.23.102:8080/riak-cs/user
返回信息:
{
email:"admin@zzhongcy.com",
display_name: "admin",
name:"admin",
key_id:"Y3_OINJND4IM4C8H1HRM",
key_secret:"PLrKbmVyIJFeQ2rR1ypyv2YvHMK8tZkTwmWe9A==",
id:"636fd86f69542b58bc9f6043f4f74f3aceece3817cdb17d103f6e281f7add944",
status:"enabled"
}
修改配置后重启集群
将上面获取的key_id和key_secret值添加到riak-cs集群配置文件、stanchion的配置文件和riak-cs Broker配置文件中,并重启。
这样就可以正常访问riak-cs服务了。
获取bucket测试
发送请求:
GET / HTTP/1.1
Authorization: AWSY3_OINJND4IM4C8H1HRM:rdqm/kJOnEL8dV/GZjU7f0BKR/Y=
Date: , 15 2014 03:26:27 GMT
Content-Type:
User-Agent: Java/1.7.0_45
Host: 10.10.23.101:8080
Accept: text/html, image/gif, image/jpeg,*; q=.2, */*; q=.2
Connection: keep-alive
应答:
<?xml version="1.0"encoding="utf-8"?>
<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Owner>
<ID>636fd86f69542b58bc9f6043f4f74f3aceece3817cdb17d103f6e281f7add944</ID>
<DisplayName>admin</DisplayName>
</Owner>
<Buckets>
<Bucket>
<Name>cf-riak-cs-service-broker-bindings</Name>
<CreationDate>2014-09-12T03:30:08.000Z</CreationDate>
</Bucket>
<Bucket>
<Name>service-instance-151ebf92-98ae-4587-988d-07ba54a93f3a</Name>
<CreationDate>2014-09-12T03:30:08.000Z</CreationDate>
</Bucket>
</Buckets>
</ListAllMyBucketsResult>