Riak云存储。第2部分。配置Riak CS组件

在本文中,我们将继续配置Riak Cloud Storage系统的各个组件,即Riak CS组件。



图片


本文是Riak CS 2.1.1系统官方手册的免费翻译的继续。

第1部分。配置Riak KV

第3部分。固定,代理和负载平衡,S3客户端

为了确保Riak CS组件正确运行,重要的是要知道如何连接到Riak KV。Riak CS节点通常与其对应的Riak KV节点在同一服务器上运行。这意味着仅在使用默认参数以外的其他参数配置Riak时才需要进行更改。



Riak CS设置位于riak-cs.conf和advanced.conf配置文件中的CS节点上。这两个文件通常位于/ etc / riak-cs目录中。新的riak-cs.conf文件是带有config = option pair的简单列表,但是有些选项只能通过advanced.config文件进行更改。看起来像这样:



ADVANCED.CONFIG



{riak_cs, [
    {parameter1, value},
    {parameter2, value},
    %% and so on...
]},


如果要从2.0.0之前的版本升级(引入riak-cs.conf文件时),您仍然可以使用riak-cs.conf / advanced.config位置的app.config文件。app.config文件的语法与advanced.conf文件的语法相同,因此,用于advanced.conf的任何示例都可以直接在app.config文件中使用。

请注意,旧的app.config文件将替换新的配置文件。如果存在app.config,则不会使用riak-cs.conf和advanced.config。
注意:关于旧版app.config

如果要从Riak CS的早期版本升级到Riak CS 2.0,并计划继续使用继承的app.config文件,请注意,某些配置文件中的选项名称已更改。此外,在2.0版中,Stanchion,Riak,Riak CS的IP /端口格式已更改。您可以在滚动升级文档中查看更改



有关app.config的可用选项的完整列表和选项的完整列表,请参阅《完整配置参考》文档
以下各节描述了Riak CS的重要配置选项。



主机和端口。



要将Riak CS连接到Riak KV,请确保已设置Riak KV使用的主机和端口参数:



  • riak_host-用要将Riak CS连接到的Riak KV节点的IP地址和端口号替换127.0.0.1:8087。


您还需要为Riak CS设置侦听器主机:



  • 侦听器-如果打算非本地使用,请用Riak CS主机的IP地址和端口号替换127.0.0.1:8080。确保端口号与在同一台计算机上运行的Riak KV主机和Riak CS主机riak_host端口没有冲突


注意:关于IP地址

,除非Riak CS在完全不同的网络上运行,否则您在此处输入的IP地址必须与riak.conf文件中为Riak KV协议缓冲区接口指定的IP地址匹配。地址翻译。
对riak-cs.conf进行一些更改后,如果Riak CS节点已经在运行,请重新启动它。



支柱节点参数



如果您使用一个Riak CS节点,则无需更改“ Stanchion”设置,因为它在本地主机上运行(注意:“ Stanchion”仅在整个群集的一个实例中安装)。如果Riak CS系统具有多个节点,在这种情况下,您必须指定Stanchion节点的IP地址和端口以及是否使用SSL。

Stanchion的参数位于Riak CS节点的./etc/riak-cs/conf目录中的Riak CS节点的riak-cs.conf配置文件中。



要为Stanchion设置主机和端口,请确保为Stanchion使用的主机和端口设置以下参数:



  • stanchion_host-用Stanchion主机的IP地址和端口替换127.0.0.1:8085。


使用SSL



默认在Stanchion中禁用SSL,即 参数stanchion_ssl关闭如果将Stanchion配置为使用SSL,请将其值更改为on以下配置示例将Stanchion设置为localhost,端口8085(默认),并允许使用SSL。



里克-CS.CONF



stanchion_host = 127.0.0.1:8085
stanchion_ssl = on


高级配置

{riak_cs, [
    %% Other configs
    {stanchion_host, {"127.0.0.1", 8085}},
    {stanchion_ssl, true},
    %% Other configs
]}


设置主机名



您还可以定义一个更方便的Riak CS主机名,以帮助您识别在故障排除过程中提示的主机。这是在riak-cs.conf或vm.args配置文件中配置的,该文件也位于/etc/riak-cs.conf中。Riak CS节点名称将在此处设置riak_cs@127.0.0.1:



RIAK-CS.CONF



nodename = riak_cs@127.0.0.1


虚拟机



-name riak_cs@127.0.0.1


将127.0.0.1更改为运行Riak CS的服务器的IP地址或主机名。



创建一个管理员帐户



管理员是特殊的授权用户,可以执行诸如创建用户或获取统计信息之类的操作。管理员帐户与另一个用户的帐户没有什么不同。您必须创建一个管理员帐户,以供Riak CS将来使用。

注意:关于创建匿名用户。



在创建管理员帐户之前,您必须在riak-cs.conf中的参数上设置anonymous_user_creation = on(或在advanced.config / app.config中设置{anonymous_user_creation,true})。您可以在创建管理员后再次禁用它。
要创建管理员帐户,请使用POST HTTP请求和管理员帐户所需的用户名。例如:



CURL



curl -H 'Content-Type: application/json' \
  -XPOST http://<host>:<port>/riak-cs/user \
  --data '{"email":"admin@example.com", "name":"admin"}'


JSON响应应如下所示:



{
  "display_name" : "admin",
  "email" : "admin@example.com",
  "id" : "8d6f05190095117120d4449484f5d87691aa03801cc4914411ab432e6ee0fd6b",
  "key_id" : "OUCXMB6I3HOZ6D0GWO2D",
  "key_secret" : "a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag==",
  "name" : "admin_example",
  "status" : "enabled"
}


通过将Content-Type设置为application / xml,可以选择发送和接收XML。



创建管理员后,必须为每个Riak CS节点设置管理员权限。管理员特权在/ etc / riak-cs目录中的riak-cs.conf配置文件中设置。在admin.key的引号之间插入key_id行。粘贴secret_key参数字段admin.secret:



RIAK-CS.CONF



admin.key = OUCXMB6I3HOZ6D0GWO2D
admin.secret = a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag==


高级配置



{riak_cs, [
           %% Admin user credentials
           {admin_key, "OUCXMB6I3HOZ6D0GWO2D"},
           {admin_secret, "a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag=="},
           %% Other configs
          ]}


限位铲斗



您还可以设置用户创建的存储桶数的限制。默认值是最大100个存储桶。请注意,如果用户超过了存储分区创建限制,则他们仍可用于其他操作,包括删除存储分区。您可以在advanced.config文件中的每个节点上使用max_buckets_per_user参数更改默认限制-这不会在riak-cs.conf文件中进行相同的更改。例如,以下配置最多指定1000:



ADVANCED.CONFIG



{riak_cs, [
           %% Other configs
           {max_buckets_per_user, 1000},
           %% Other configs
          ]}


如果要删除一个用户创建存储桶的限制,可以将max_buckets_per_user参数的值设置为无限制。



连接池



Riak CS使用两个显式连接池来与Riak KV进行通信:主(主)池和辅助池。



主连接池用于处理与加载或检索对象有关的大多数API请求。在配置文件中将其指定为pool.request.size。默认池大小为128。



辅助连接池严格用于存储区内容的枚举请求。需要单独的连接池以提高性能。

辅助连接池在配置文件中定义为pool.list.size。默认情况下,其大小为5。



下面是connection_pools配置条目可以在app.config文件中找到的默认值:



RIAK-CS.CONF



pool.request.size = 128
pool.request.overflow = 0
pool.list.size = 5
pool.list.overflow = 0


高级配置



{riak_cs, [
           %% Other configs
           {connection_pools,
           [
            {request_pool, {128, 0} },
            {bucket_list_pool, {5, 0} }
           ]},
           %% Other configs
]}


每个池的值均分成几对,其中第一个数字代表池的正常大小。这是Riak CS节点可以服务的特定类型的并发请求数。第二个数字是允许的池溢出数。在此不建议对溢出使用非0的任何值,除非经过仔细测试表明所选的值对特定情况有用。



调音



强烈建议您在Riak KV中设置pb_backlog参数的值时要小心启动Riak CS节点后,每个连接池都会建立与Riak KV的连接。这可能会导致一个雷鸣的牧群问题,其中池中的连接被认为与Riak KV有关,但实际上它们已被丢弃。由于TCP RST数据包速率的限制(由net.inet.icmp.icmplim参数控制),某些数据包在用于服务用户请求之前可能不会收到通知。在Riak CS日志文件中表现为{错误,断开连接}消息,并向用户返回了错误。



Riak-CS中的SSL连接



里克-CS.CONF



ssl.certfile = "./etc/cert.pem"
ssl.keyfile = "./etc/key.pem"


高级配置

{ssl, [
    {certfile, "./etc/cert.pem"},
    {keyfile, "./etc/key.pem"}
   ]},


替换SSL加密密钥路径中引号中的文本。默认情况下,在每个节点上,cert.pem和key.pem文件位于/ etc目录中。您可以自由使用这些键或自己使用。



请注意,您还必须提供证书颁发机构(Certification Authority),即CA证书。如果可以,则必须使用advanced.config配置文件,并在cacertfile参数中指定其位置与certfile和keyfile不同,cacertfile参数不会被注释掉。这是您必须添加证书的地方。这种配置的示例:



ADVANCED.CONFIG



{ssl, [
       {certfile, "./etc/cert.pem"},
       {keyfile, "./etc/key.pem"},
       {cacertfile, "./etc/cacert.pem"}
      ]},
      %% Other configs


您可以找到有关如何在第三方资源上创建CA证书的说明



代理与直接连接



Riak CS可以通过以下两种方式之一与S3客户端进行交互:



  1. 代理配置-当S3客户端就像从Amazon S3连接到Riak CS时,即具有典型的Amazon URL。
  2. 直接连接-要求将连接到Riak CS的S3客户端配置为“ S3兼容服务”,即Riak CS连接点伪装成Amazon S3。此类服务的示例是Transmit,s3cmd,DragonDisk。


代理



要设置代理配置,请将代理客户端配置为Riak CS群集地址上的一个点。然后使用Riak CS凭据设置您的客户端。



当Riak CS接收到代理请求时,它将自己处理请求并响应客户端,就像请求已转到S3一样。



在服务器端,riak -cs.conf文件中root_host参数必须为s3.amazonaws.com,因为所有客户端对存储段URL的请求都将针对s3.amazonaws.com。这是默认值。

重要说明:代理配置的一个问题是,许多GUI客户端仅允许为所有连接配置一个代理。对于试图同时连接到S3和Riak CS的客户,这可能会出现问题。

直接连接



通过app.config文件riak -cs部分中的cs_root_host参数配置直接连接该值必须设置为Riak CS入口点的FQDN,因为所有存储桶URL都将以FQDN入口点为目标。



对于入口点的任何子级,您还将需要通配符DNS记录,以将其解析为端点本身。示例:



CONFIG



data.riakcs.net
*.data.riakcs.net


垃圾收集器设置



图片


以下设置可用于在Riak CS中配置垃圾收集器。有关更多信息,请参见垃圾收集部分



  • gc.leeway_period — (leeway_seconds advanced.config app.config) — , , , , . 24h(24 )
  • gc.interval (gc_interval advanced.config app.config) — , . 15m (15 ). , . , gc_interval infinity.
  • gc.retry_interval (gc_retry_interval advanced.config app.config) — , , pending_delete . - , , - . 6h (6 ).
  • gc.max_workers (gc.max_workers advanced.config app.config) — , . 2.
  • active_delete_threshold(advanced.config或app.config中的active_delete_threshold)-小于阈值的对象块被同步删除,并且其清单标记为Scheduled_delete默认值为0。


有些其他设置只能在advanced.config或app.config配置文件中设置。通过riak-cs.conf配置文件无法使用以下任何设置



  • epoch_start — , . , + leeway_seconds. 0 . , , , . . Erlang. , 10, <<«10»>>.
  • initial_gc_delaygc_interval Riak CS. : GC ; GC. , initial_gc_delay.
  • max_scheduled_delete_manifests — ( ), scheduled_delete . , , . , , , leeway_seconds. , , . .
  • gc_batch_size-此参数表示用于对二级索引查询的结果进行分页的大小。默认值为1000。


不建议使用的配置

目前,Riak CS 2.0仍支持设置pg_paginated_indexes参数,强烈建议不要使用这些设置。这些设置将在下一个主要版本中删除。

其他Riak CS设置



有关可配置Riak CS参数的完整列表,请参阅《配置参考文档》



链接



Riak云存储。第1部分。配置Riak KV

Riak云存储。第2部分。配置Riak CS

Riak云存储组件第3部分。固定,代理和负载平衡,S3客户端



原始手册。



All Articles