当前位置: 首页 > news >正文

徐州网站建设新闻做app得多少钱

徐州网站建设新闻,做app得多少钱,国外的旅游网站开发,爱网站查询Elasticsearch中#xff0c;在node的配置中可以指定path.data用来作为节点数据的存储目录#xff0c;而且我们可以指定多个值来作为数据存储的路径#xff0c;那么Elasticsearch是如何判断应该存储到哪个路径下呢#xff1f;今天我就记录一下这个问题。 Elasticsearch的索…Elasticsearch中在node的配置中可以指定path.data用来作为节点数据的存储目录而且我们可以指定多个值来作为数据存储的路径那么Elasticsearch是如何判断应该存储到哪个路径下呢今天我就记录一下这个问题。 Elasticsearch的索引创建过程 集群master收到创建索引的请求后经过创建索引的一些步骤最终会将索引创建完成的请求提交到ClusterStatemaster将根据ClusterState分发给所有节点涉及创建shard的节点会读取本地可用的path.data然后依据一定的规则获取路径。创建基本shard路径保存基本的shard信息。 如何确定在哪个目录下 源码 主要调用的是ShardPath的selectNewPathForShard方法 for (NodeEnvironment.NodePath nodePath : env.nodePaths()) {totFreeSpace totFreeSpace.add(BigInteger.valueOf(nodePath.fileStore.getUsableSpace()));}// TODO: this is a hack!! We should instead keep track of incoming (relocated) shards since we know// how large they will be once theyre done copying, instead of a silly guess for such cases:// Very rough heuristic of how much disk space we expect the shard will use over its lifetime, the max of current average// shard size across the cluster and 5% of the total available free space on this node:BigInteger estShardSizeInBytes BigInteger.valueOf(avgShardSizeInBytes).max(totFreeSpace.divide(BigInteger.valueOf(20)));// TODO - do we need something more extensible? Yet, this does the job for now...final NodeEnvironment.NodePath[] paths env.nodePaths();// If no better path is chosen, use the one with the most space by defaultNodeEnvironment.NodePath bestPath getPathWithMostFreeSpace(env);if (paths.length ! 1) {MapNodeEnvironment.NodePath, Long pathToShardCount env.shardCountPerPath(shardId.getIndex());// Compute how much space there is on each pathfinal MapNodeEnvironment.NodePath, BigInteger pathsToSpace new HashMap(paths.length);for (NodeEnvironment.NodePath nodePath : paths) {FileStore fileStore nodePath.fileStore;BigInteger usableBytes BigInteger.valueOf(fileStore.getUsableSpace());pathsToSpace.put(nodePath, usableBytes);}bestPath Arrays.stream(paths)// Filter out paths that have enough space.filter((path) - pathsToSpace.get(path).subtract(estShardSizeInBytes).compareTo(BigInteger.ZERO) 0)// Sort by the number of shards for this index.sorted((p1, p2) - {int cmp Long.compare(pathToShardCount.getOrDefault(p1, 0L),pathToShardCount.getOrDefault(p2, 0L));if (cmp 0) {// if the number of shards is equal, tie-break with the number of total shardscmp Integer.compare(dataPathToShardCount.getOrDefault(p1.path, 0),dataPathToShardCount.getOrDefault(p2.path, 0));if (cmp 0) {// if the number of shards is equal, tie-break with the usable bytescmp pathsToSpace.get(p2).compareTo(pathsToSpace.get(p1));}}return cmp;})// Return the first result.findFirst()// Or the existing best path if there arent any that fit the criteria.orElse(bestPath);}statePath bestPath.resolve(shardId);dataPath statePath;}过程分析 首先判断是否自定义了path.data没有自定义就在默认路径下创建自定义的情况下确保节点下最少有5%的空间可以使用获取所有的paths然后设置默认最佳的path是当前拥有最多空间的path遍历所有的paths首先过滤掉没有空间的path如果最终没有符合的就返回4步骤的path否则继续6步骤按照规则对paths排序首先判断每个path下该索引的shard数优先返回含有本索引的shard数最少的path 当条件结果相同对比每个path中包含有的shard总数所有索引的返回包含shard数最少的path 当2条件结果相同对比可用空间返回可用空间最大的path生成相应的路径创建目录等信息。
http://www.pierceye.com/news/588708/

相关文章:

  • 网站一级域名和二级域名wordpress 插件 页面
  • 怎么做免费网站如何让百度收录网网站建设设计
  • 河北建设工程信息网官方网站证件在线制作免费
  • 推广网官方推广网站wordpress用户角色权限
  • 电子商务网站模板html淘宝网页版登录
  • 忆达城市建设游戏网站佛山市和城乡建设局网站
  • 备案后的域名改网站名青浦建设机械网站
  • 网站地图怎么做html网络营销论文2000字
  • 武进区城乡建设局网站组建网站建设团队
  • 做淘宝链接模板网站广安网站建设兼职
  • 受欢迎的网站建设平台有用的网站地址
  • 网站建设推广岗位网站建设法规
  • ftp两个网站子域名的绑定郑州网站推广公司
  • 安庆网站设计哈尔滨工程招标信息网
  • 精湛的佛山网站设计太原网站建设培训
  • 邹城市住房和建设局网站深圳比较好的vi设计公司
  • 企业网站建设维护方案一元购物网站怎么做
  • 网站建设优化公司哪家好兰州做网站公司es5188
  • jsp网站开发工资住建网查询
  • 长沙建网站需要多少钱夹江移动网站建设
  • 淄博网站制作高端网站后台任务
  • 营销型网站源码成都网站建设seo
  • 天津网上商城网站建设专业的猎头公司
  • 西平县住房城乡建设局网站西部数码网站管理助手3.0
  • 承德市网站建设WordPress电影资源分享下载站
  • 专注于网络推广及网站建设wordpress离线发布功能
  • 营销型网站案例提高wordpress打开速度
  • 怎么样做一个网站自己个人网站后台怎么做
  • 源码站免费找客户网站
  • idc空间商网站源码知名的网站建设