一个物理节点构造照片上应该有多少个分片

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
数据安全分片存储系统应用研究.pdf 51页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:200 &&
你可能关注的文档:
··········
··········
华 中 科 技 大 学 硕 士 学 位 论 文
随着信息技术的发展,对于大量数据的有效存储需求急剧增加,文件数据的安
全性受到越来越多的关注。在此背景下,对数据存储与数据安全技术进行分析与研
究,设计并搭建了数据安全分片存储系统。
数据安全分片存储系统使用了数据分片存储和数据分片加密技术。数据采用分
片存储策略,存储于文件系统的不同结点,以提高数据传输的效率并提升数据的安
全性。分片存储策略建立在分片可用率模型上,通过分析模型中M、P 和R 三个因子
对文件可用率的影响,设计了具体存储方案。此方案将文件数据切分为合理大小的
分片,然后将分片分散存储于数据存储结点上,并在结点上进行备份。由于元数据
的频繁访问,所以将系统中文件元数据和文件数据独立管理,并将文件数据的分片
位置和文件元数据集中于元数据服务器,以提升系统性能。为了保障数据的安全,
结合文件分片存储的特点,对数据加密技术进行了研究,采用了分片数据加密方法。
加密密钥的产生算法结合了数据库加密技术中子密钥生成策略,设计了子密钥安全
生成方法。
通过实验数据结合系统的关键技术分析,设计和实现数据安全分片存储系统功
能,通过实验数据对系统功能进行测试与分析,指出并解释了系统的不足之处。
关键词:分片策略,
文件可用率,
华 中 科 技 大 学 硕 士 学 位 论 文
With the development of information technology, the demands of effective storage of
dramatically
increased,
attention. In this context, carry on analysis and research on data storage and data security
technology,
file-slice
significance.
file-slice
file-slice
file-slice
encryption
techniques.
transmission
efficiency
based on patch availability model, and concrete storage strategy was designed by analysis
the effect of three factors of model M, P and R on file availability. The strategy will cut the
file data into slices of a reasonable size, which will store on parts of data storage nodes
and make the backup on one node. As the frequent access of metadata, in order to improve
performance,
正在加载中,请稍后...一个物理节点上应该有多少个分片?
ES官方给予的回答是:
每个分片都是一个Lucene实例,它会消耗相应的CPU,IO,内存,文件描述符等等。
所以我们应该让每台机器上的分片数尽量的少,如果你是一个RDBMS使用者,你也不希望在一台物理机上部署多个数据库,不是吗?
从我的理解上看,分片数和横向拓展性是相关的,分片数多的话,比较便于横向拓展——有新服务器来的时候,我们有多余的分片可以转移过去。如果一开始每台服务器都只有两个分片,等有新机器加入集群的时候,我们就不得不从某些机器上分一个分片走,这必定会造成集群的不平衡。是否有更好的帮助我们确定分片数的方法?
问题讨论:
本文已收录于以下专栏:
相关文章推荐
1、分片分配
                   包含或者排除filters可以来控制基于节点的索引分配。filte...
ES集群中索引可能由多个分片构成,并且每个分片可以拥有多个副本。通过将一个单独的索引分为多个分片,我们可以处理不能在一个单一的服务器上面运行的大型索引,简单的说就是索引的大小过大,导致效率问题。不能运...
ES各种节点的分工:
客户端节点
当主节点和数据节点配置都设置为false的时候,该节点只能处理路由请求,处理搜索,分发索引操作等,从本质上来说该客户节点表现为智能负载平衡器。
代表一个集群,集群中有多个节点。
其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。
es的一个概念就是去中心化,字面上理解就是无中心节点,这是对...
Elasticsearch学习笔记(三)Elasticsearch集群分片的读写操作流程
在上篇文章中详细介绍了Elasticsearch基于Lucene的单节点的准实时索引的实现,那么Elasti...
分片分布是把索引分片分布到节点的过程。这个操作会在初次启动集群,副本分配,负载均衡,或增加删除节点时进行。
下面是一些与分片分布相关的设置:
cluster.routing.allocatio...
如何在mysql数据库里删除7G(或更大)大表,使其又不影响服务器的io,导致性能下降影响业务。先不说其是mysql表,就是普通文件,如果直接rm删除,也会使服务器的io性能急剧下降;换个思路如果用化...
下面以三个节点,主分片为3,副本为1的情况进行说明:
 核心逻辑是通过计算权重来分配分片到节点,权重计算逻辑:首先计算分片的权重(节点的分片数量-每个节点的平均分片),然后是索引的权重(节点上索引的分...
Rebalancing操作,延迟分配
确认机制ACK(收到消息后,应该有一个回应也就是确认答复)
他的最新文章
讲师:汪剑
讲师:刘道宽
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)cluster.routing.allocation.allow_rebalance
设置根据集群中机器的状态来重新分配分片,可以设置为always, indices_primaries_active和indices_all_active,默认是设置成indices_all_active来减少集群初始启动时机器之间的交互。
cluster.routing.allocation.cluster_concurrent_rebalance
设置在集群中最大允许同时进行分片分布的个数,默认为2,也就是说整个集群最多有两个分片在进行重新分布。
cluster.routing.allocation.node_initial_primaries_recoveries
设置指定初始每个节点。由于多数情况下是使用local的gateway,这应该会更快,
cluster.routing.allocation.node_concurrent_recoveries
设置在节点中最大允许同时进行分片分布的个数,默认为2
cluster.routing.allocation.disable_allocation
使主要分片或副本的分布失效。要知道,如果主分片不存在(那个节点挂了)那么其副本仍然会被提升为主分片,这个设置只有在动态地使用集群更新设置api调用时才生效。
cluster.routing.allocation.disable_replica_allocation
使副本分布失效。和上一个设置一样,只有动态地使用集群更新设置api调用时才生效。
indices.recovery.concurrent_streams
当从一个点(peer)恢复分片时当前节点最多允许的文件读取流的个数,默认为5
自定义分片分布规则
可以通过设置分片的分布规则来人为地影响分片的分布,下面是个例子:
假设我们有几个机架。当我们启动一个节点,我们可以设置一个叫rack_id(其它名字也可以)的属性,例如下面设置:
node.rack_id: rack_one
上面这个例子设置了一个属性叫rack_id,它的值为rack_one。现在,我们要设置rack_id作为分片分布规则的一个属性(在所有节点都要设置)。
cluster.routing.allocation.awareness.attributes: rack_id
上面设置意味着rack_id会用来作为分片分布的依据。例如:我们启动两个node.rack_id设置rack_one的节点,然后建立一个5个分片,一个副本的索引。这个索引就会完全分布在这两个节点上。如果再启动另外两个节点,node.rack_id设置成rack_two,分片会重新分布,但是一个分片和它的副本不会分配到同样rack_id值的节点上。可以为分片分布规则设置多个属性,例如:
cluster.routing.allocation.awareness.attributes: rack_id,zone
注意:当设置了分片分布属性时,如果集群中的节点没有设置其中任何一个属性,那么分片就不会分布到这个节点中。
强制分布规则
更多的时候,我们不想更多的副本被分布到相同分布规则属性值的一群节点上,那么,我们可以强制分片规则为一个指定的值。
例如,我们有一个分片规则属性叫zone,并且我们知道有两个zone,zone1和zone2.下面是设置:
cluster.routing.allocation.awareness.force.zone.values: zone1,zone2
cluster.routing.allocation.awareness.attributes: zone
现在我们启动两个node.zone设置成zone1的节点,然后创建一个5个分片,一个副本的索引。索引建立完成后只有5个分片(没有副本),只有当我们启动node.zone设置成zone2的节点时,副本才会分配到那节点上。
分片分布过滤
允许通过include/exclude过滤器来控制分片的分布。这些过滤器可以设置在索引级别上或集群级别上。下面是个索引级别上的例子:
假如我们有四个节点,每个节点都有一个叫tag(可以是任何名字)的属性。每个节点都指定一个tag的值。如:节点一设置成node.tag: value1,节点二设置成node.tag: value2,如此类推。我们可以创建一个索引然后只把它分布到tag值为value1和value2的节点中,可以通过设置
index.routing.allocation.include.tag 为value1,value2达到这样的效果,如:
curl -XPUT localhost:9200/test/_settings -d '{
"index.routing.allocation.include.tag" : "value1,value2"
与此相反,通过设置index.routing.allocation.exclude.tag为value3,我们也可以创建一个索引让其分布在除了tag设置为value3的所有节点中,如:
curl -XPUT localhost:9200/test/_settings -d '{
"index.routing.allocation.exclude.tag" : "value3"
include或exclude过滤器的值都会使用通配符来匹配,如value*。一个特别的属性名是_ip,它可以用来匹配节点的ip地址。
显然,一个节点可能拥有多个属性值,所有属性的名字和值都在配置文件中配置。如,下面是多个节点的配置:
node.group1: group1_value1
node.group2: group2_value4
同样的方法,include和exclude也可以设置多个值,如:
curl -XPUT localhost:9200/test/_settings -d '{
"index.routing.allocation.include.group1" : "xxx"
"index.routing.allocation.include.group2" : "yyy",
"index.routing.allocation.exclude.group3" : "zzz",
上面的设置可以通过索引更新的api实时更新到索引上,允许实时移动索引分片。
集群范围的过滤器也可以定义,可以通过集群更新api实时更新到集群上。这些设置可以用来做让一些节点退出集群的操作。下面是通过ip地址去掉一个节点的操作:
curl -XPUT localhost:9200/_cluster/settings -d '{
"transient" : {
"cluster.routing.allocation.exclude._ip" : "10.0.0.1"
浏览 15185
rockelixir
浏览: 226892 次
来自: 上海
(2)日志常量定义 /** 组件日志 */ private s ...
jjs456 写道你好,请问如何修改线程池配置vim conf ...
你好,请问如何修改线程池配置
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'

我要回帖

更多关于 shadowrocket节点分享 的文章

 

随机推荐