草庐IT

sharding

全部标签

redis - Predis 分片(一致性哈希)

Predis声称拥有客户端分片(支持键的一致性散列)。http://github.com/nrk/predis我可以使用连接到一组配置文件(节点)来进行分片,但它不是一致的哈希。当我将另一个节点添加到池中时,找不到某些key。任何人都有这方面的经验吗?使用php5.2(和redis的php5.2版本)。 最佳答案 Redis官方网站说“Redis通过一致性哈希支持客户端分片。目前不支持容错,也不支持在运行时添加或删除集群。”据我目前的了解,这种共享是不可容错的,存储在故障节点上的所有key都将丢失。同样,如果您添加一个新节点,部分k

redis - Predis 分片(一致性哈希)

Predis声称拥有客户端分片(支持键的一致性散列)。http://github.com/nrk/predis我可以使用连接到一组配置文件(节点)来进行分片,但它不是一致的哈希。当我将另一个节点添加到池中时,找不到某些key。任何人都有这方面的经验吗?使用php5.2(和redis的php5.2版本)。 最佳答案 Redis官方网站说“Redis通过一致性哈希支持客户端分片。目前不支持容错,也不支持在运行时添加或删除集群。”据我目前的了解,这种共享是不可容错的,存储在故障节点上的所有key都将丢失。同样,如果您添加一个新节点,部分k

performance - 如何在 100% CPU 时提高 Redis 性能?分片?最快的 .Net 客户端?

由于我们网站上的大量负载增加,redis现在正在努力应对峰值负载,因为redis服务器实例达到100%CPU(在八个核心之一上)导致超时。我们已将客户端软件更新到ServiceStackV3(来自BookSleeve1.1.0.4)并将Redis服务器升级到2.8.11(来自2.4.x)。由于Harbour.RedisSessionStateStore的存在,我选择了ServiceStack使用ServiceStack.Redis。我们之前用过AngiesList.Redis和BookSleeve,但是我们也体验了100%。我们有8个配置为主/从树的redis服务器。一个用于sessi

performance - 如何在 100% CPU 时提高 Redis 性能?分片?最快的 .Net 客户端?

由于我们网站上的大量负载增加,redis现在正在努力应对峰值负载,因为redis服务器实例达到100%CPU(在八个核心之一上)导致超时。我们已将客户端软件更新到ServiceStackV3(来自BookSleeve1.1.0.4)并将Redis服务器升级到2.8.11(来自2.4.x)。由于Harbour.RedisSessionStateStore的存在,我选择了ServiceStack使用ServiceStack.Redis。我们之前用过AngiesList.Redis和BookSleeve,但是我们也体验了100%。我们有8个配置为主/从树的redis服务器。一个用于sessi

Redis 分片、流水线和往返

假设在您的Web应用程序中,您需要调用多个Redis来呈现页面,例如获取一堆用户哈希。为了加快速度,您可以将redis命令包装在MULTI/EXEC部分,从而使用流水线,从而避免进行多次往返。但是你也想分片你的数据,因为你有很多数据和/或你想分布写入。那么流水线将不起作用,因为不同的键可能存在于不同的节点上,除非您清楚地了解应用程序的数据布局和基于角色而不是使用哈希函数的分片。那么,在不因联系许多服务器以完成“概念上独特”的工作而对性能造成太大影响的情况下,跨不同服务器分片数据的最佳实践是什么?我相信答案取决于正在开发的Web应用程序,我最终会运行一些测试,但了解其他人如何应对我提到的

Redis 分片、流水线和往返

假设在您的Web应用程序中,您需要调用多个Redis来呈现页面,例如获取一堆用户哈希。为了加快速度,您可以将redis命令包装在MULTI/EXEC部分,从而使用流水线,从而避免进行多次往返。但是你也想分片你的数据,因为你有很多数据和/或你想分布写入。那么流水线将不起作用,因为不同的键可能存在于不同的节点上,除非您清楚地了解应用程序的数据布局和基于角色而不是使用哈希函数的分片。那么,在不因联系许多服务器以完成“概念上独特”的工作而对性能造成太大影响的情况下,跨不同服务器分片数据的最佳实践是什么?我相信答案取决于正在开发的Web应用程序,我最终会运行一些测试,但了解其他人如何应对我提到的

org.elasticsearch.action.search.SearchPhaseExecutionException: all shards failed

文章目录背景解决背景ES节点两个,使用filebeat采集日志后输出到logstash,进一步输出到ES。但是输出到ES后,节点的健康状态就由绿色变为了红色,且ES-head界面的数据浏览中点击索引后ES后台就报错,显示无法分片:解决找了很长时间原因,最后在执行DSL指令curl-XGET"http://192.168.137.132:9200/_cluster/allocation/explain"时的输出引起了我的注意:节点不允许分片此时,突然想起,我的两个ES节点都设置了node.data:false,所以原因会不会是由于节点不是数据节点而导致无法分片,于是我把两个节点的配置都改为了no

ES 查询时提示:all shards failed [type=search_phase_execution_exception]

我的情况和解决方案这种错误大概率是ES的查询语句语法错误,比如我当时是,时间筛选的条件的格式写错了,导致ES查询时解析错误,从而报了allshardsfailed[type=search_phase_execution_exception]这个错误排查思路:先想办法把查询DSL语句打印出来,看下这个最终用来查询的DSL语句在语法上有没有问题,如果有问题就改正。网上对于这个错误还有一些其他的原因,这里简单复制过来,方便以后遇到相同问题时查询使用其他网友的情况和解决方案当使用到term查询的时候,由于是精准匹配,所以查询的关键字在es上的类型,必须是keyword而不能是text,比如你的搜索条件

ES 查询时提示:all shards failed [type=search_phase_execution_exception]

我的情况和解决方案这种错误大概率是ES的查询语句语法错误,比如我当时是,时间筛选的条件的格式写错了,导致ES查询时解析错误,从而报了allshardsfailed[type=search_phase_execution_exception]这个错误排查思路:先想办法把查询DSL语句打印出来,看下这个最终用来查询的DSL语句在语法上有没有问题,如果有问题就改正。网上对于这个错误还有一些其他的原因,这里简单复制过来,方便以后遇到相同问题时查询使用其他网友的情况和解决方案当使用到term查询的时候,由于是精准匹配,所以查询的关键字在es上的类型,必须是keyword而不能是text,比如你的搜索条件

【总结】ElasticSearch创建索引失败,超过maximum shards

文章目录问题现象错误详情问题解决问题现象创建新的es索引报错,报错信息上说,es已经超过最大的分片数。错误详情关键错误信息:butthisclustercurrentlyhas[999]/[1000]maximumshardsopen;详细错误信息:Causedby:org.elasticsearch.client.ResponseException:method[PUT],host[http://10.58.14.34:9200],URI[/janusgraph_idx_customer_cust_num],statusline[HTTP/1.1400BadRequest]{"error":