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

广州市建设招标管理办公室网站品牌网站建设有哪些

广州市建设招标管理办公室网站,品牌网站建设有哪些,互联网平面设计是干什么的,地区电商网站系统5.1 RowKey 设计 一条数据的唯一标识就是 rowkey#xff0c;那么这条数据存储于哪个分区#xff0c;取决于 rowkey 处于 哪个一个预分区的区间内#xff0c;设计 rowkey的主要目的 #xff0c;就是让数据均匀的分布于所有的 region 中#xff0c;在一定程度上防止数据倾斜…5.1 RowKey 设计 一条数据的唯一标识就是 rowkey那么这条数据存储于哪个分区取决于 rowkey 处于 哪个一个预分区的区间内设计 rowkey的主要目的 就是让数据均匀的分布于所有的 region 中在一定程度上防止数据倾斜。接下来我们就谈一谈 rowkey 常用的设计方案。 1生成随机数、hash、散列值 2时间戳反转 3字符串拼接 **需求**使用 hbase 存储下列数据要求能够通过 hbase 的 API 读取数据完成两个统计需求。 5.1.1 实现需求 1 为了能够统计张三在 2021 年 12 月份消费的总金额我们需要用 scan 命令能够得到张三在这个月消费的所有记录之后在进行累加即可。Scan 需要填写 startRow 和 stopRow scan : startRow - ^A^Azhangsan2021-12 endRow - ^A^Azhangsan2021-12.注意点 1避免扫描数据混乱解决字段长度不一致的问题可以使用相同阿斯卡码值的符 号进行填充框架底层填充使用的是阿斯卡码值为 1 的^A。 2最后的日期结尾处需要使用阿斯卡码略大于’-’的值 最终得到 rowKey 的设计为 //注意 rowkey 相同的数据会视为相同数据覆盖掉之前的版本 rowKey: userdate(yyyy-MM-dd HH:mm:SS) 5.1.2 实现需求 2 问题提出按照需要 1 的 rowKey 设计会发现对于需求 2完全没有办法写 rowKey 的 扫描范围。此处能够看出 hbase 设计 rowKey 使用的特点为 适用性强 泛用性差 能够完美实现一个需求 但是不能同时完美实现多个需要。 如果想要同时完成两个需求需要对 rowKey 出现字段的顺序进行调整。 调整的原则为可枚举的放在前面。其中时间是可以枚举的用户名称无法枚举所以 必须把时间放在前面。 最终满足 2 个需求的设计 可以穷举的写在前面即可 rowKey 设计格式 date(yyyy-MM)^A^Auserdate(-dd hh:mm:ss ms)1统计张三在 2021 年 12 月份消费的总金额 scan: startRow 2021-12^A^AzhangsanstopRow 2021-12^A^Azhangsan.2统计所有人在 2021 年 12 月份消费的总金额 scan: startRow 2021-12stopRow 2021-12.5.1.3 添加预分区优化 预分区的分区号同样需要遵守 rowKey 的 scan 原则。所有必须添加在 rowKey 的最前面前缀为最简单的数字。同时使用 hash 算法将用户名和月份拼接决定分区号。单独使用用户名会造成单一用户所有数据存储在一个分区。 添加预分区优化 startKey stopKey 001 001 002 002 003 ... 119 120分区号 hash(userdate(MM)) % 120分区号填充 如果得到 1 001rowKey 设计格式 分区号 date(yyyy-MM)^A^Auserdate(-dd hh:mm:ss ms)缺点实现需求 2 的时候由于每个分区都有 12 月份的数据需要扫描 120 个分区。 解决方法提前将分区号和月份进行对应。 提前将月份和分区号对应一下 000 到 009 分区 存储的都是 1 月份数据 010 到 019 分区 存储的都是 2 月份数据 … 110 到 119 分区 存储的都是 12 月份数据 是 9 月份的数据 分区号 hash(userdate(MM)) % 10 80分区号填充 如果得到 85 085 得到 12 月份所有人的数据 扫描 10 次 scan: startRow 1102021-12stopRow 1102021-12. ...startRow 1122021-12stopRow 1122021-12. ..startRow 1192021-12stopRow 1192021-12.5.2 参数优化 1Zookeeper 会话超时时间 hbase-site.xml 属性zookeeper.session.timeout解释默认值为 90000 毫秒90s。当某个 RegionServer 挂掉90s 之后 Master 才能察觉到。 可适当减小此值尽可能快地检测 regionserver 故障可调整至 20-30s。看你能有都能忍耐超时同时可以调整重试时间和重试次数 hbase.client.pause默认值 100ms hbase.client.retries.number默认 15 次2设置 RPC 监听数量 hbase-site.xml 属性hbase.regionserver.handler.count 解释默认值为 30用于指定 RPC 监听的数量可以根据客户端的请求数进行调整读写请求较多时增加此值。3手动控制 Major Compaction hbase-site.xml 属性hbase.hregion.majorcompaction 解释默认值604800000 秒7 天 Major Compaction 的周期若关闭自动 Major Compaction可将其设为 0。如果关闭一定记得自己手动合并因为大合并非常有意义。4优化 HStore 文件大小 hbase-site.xml 属性hbase.hregion.max.filesize解释默认值 1073741824010GB如果需要运行 HBase 的 MR 任务可以减小此值 因为一个 region 对应一个 map 任务如果单个 region 过大会导致 map 任务执行时间过长。 该值的意思就是如果 HFile 的大小达到这个数值则这个 region 会被切分为两个 Hfile。5优化 HBase 客户端缓存 hbase-site.xml 属性hbase.client.write.buffer解释默认值 2097152bytes2M用于指定 HBase 客户端缓存 增大该值可以减少 RPC调用次数但是会消耗更多内存反之则反之。 一般我们需要设定一定的缓存大小以达到减少 RPC 次数的目的。6指定 scan.next 扫描 HBase 所获取的行数 hbase-site.xml 属性hbase.client.scanner.caching解释用于指定 scan.next 方法获取的默认行数值越大消耗内存越大。7BlockCache 占用 RegionServer 堆内存的比例 hbase-site.xml 属性hfile.block.cache.size 解释默认 0.4读请求比较多的情况下可适当调大8MemStore 占用 RegionServer 堆内存的比例 hbase-site.xml 属性hbase.regionserver.global.memstore.size 解释默认 0.4写请求较多的情况下可适当调大Lars Hofhansl拉斯·霍夫汉斯大神推荐 Region 设置 20G刷写大小设置 128M其它默认。 hbase-site.xml文件 ?xml version1.0? ?xml-stylesheet typetext/xsl hrefconfiguration.xsl? !-- /** Licensed to the Apache Software Foundation (ASF) under one* or more contributor license agreements. See the NOTICE file* distributed with this work for additional information* regarding copyright ownership. The ASF licenses this file* to you under the Apache License, Version 2.0 (the* License); you may not use this file except in compliance* with the License. You may obtain a copy of the License at** http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an AS IS BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*/ -- configuration!--The following properties are set for running HBase as a single process on adeveloper workstation. With this configuration, HBase is running instand-alone mode and without a distributed file system. In this mode, andwithout further configuration, HBase and ZooKeeper data are stored on thelocal filesystem, in a path under the value configured for hbase.tmp.dir.This value is overridden from its default value of /tmp because manysystems clean /tmp on a regular basis. Instead, it points to a path withinthis HBase installation directory.Running against the LocalFileSystem, as opposed to a distributedfilesystem, runs the risk of data integrity issues and data loss. NormallyHBase will refuse to run in such an environment. Settinghbase.unsafe.stream.capability.enforce to false overrides this behavior,permitting operation. This configuration is for the developer workstationonly and __should not be used in production!__See also https://hbase.apache.org/book.html#standalone_dist--propertynamehbase.cluster.distributed/namevaluefalse/value/propertypropertynamehbase.tmp.dir/namevalue./tmp/value/propertypropertynamehbase.unsafe.stream.capability.enforce/namevaluefalse/value/property propertynamehbase.zookeeper.quorum/namevaluehadoop102,hadoop103,hadoop104/valuedescriptionThe directory shared by RegionServers./description/property propertynamehbase.zookeeper.quorum/namevaluehadoop102,hadoop103,hadoop104/value/property !-**加粗样式**- property-- !-- namehbase.zookeeper.property.dataDir/name-- !-- value/export/zookeeper/value-- !-- description 记得修改 ZK 的配置文件 -- !-- ZK 的信息不能保存到临时文件夹-- !-- /description-- !-- /property--propertynamehbase.rootdir/namevaluehdfs://hadoop102:8020/hbase/valuedescriptionThe directory shared by RegionServers./description/propertypropertynamehbase.cluster.distributed/namevaluetrue/value/property /configuration 5.3 JVM 调优 JVM 调优的思路有两部分一是内存设置二是垃圾回收器设置。 垃圾回收的修改是使用并发垃圾回收默认 POPS 是并行垃圾回收会有大量的暂停。 理由是 HBsae 大量使用内存用于存储数据容易遭遇数据洪峰造成 OOM同时写缓存的数 据是不能垃圾回收的主要回收的就是读缓存而读缓存垃圾回收不影响性能所以最终设 置的效果可以总结为防患于未然早洗早轻松。 1设置使用 CMS 收集器 -XX:UseConcMarkSweepGC2保持新生代尽量小同时尽早开启 GC例如 //在内存占用到 70%的时候开启 GC -XX:CMSInitiatingOccupancyFraction70//指定使用 70%不让 JVM 动态调整 -XX:UseCMSInitiatingOccupancyOnly//新生代内存设置为 512m -Xmn512m//并行执行新生代垃圾回收 -XX:UseParNewGC// 设 置 scanner 扫 描 结 果 占 用 内 存 大 小 在 hbase-site.xml 中设置 hbase.client.scanner.max.result.size(默认值为 2M)为 eden 空间的 1/8 大概在 64M// 设置多个与 max.result.size * handler.count 相乘的结果小于 Survivor Space(新生代经过垃圾回收之后存活的对象)5.4 HBase 使用经验法则 官方给出了权威的使用法则
http://www.dnsts.com.cn/news/43422.html

相关文章:

  • 漯河网站建设公司阿里云服务器搭建网站
  • 应用软件设计过程seo推广培训资料
  • logo设计网站官网衡水电商网站建设价格
  • 网站建设与运营 试题屏蔽收索引擎抓取网站
  • 哪里网站用vue.js做的罗湖网站建设费用
  • 设计logo网站免费下载泰安推广工作室
  • 公司网站 域名 申请 空间如何一次性删除wordpress拉圾评论
  • 陕西网站建设企业网站认证打的钱怎么做分录
  • 做网站一排文字怎么水平对齐wordpress静态化经验
  • 网站内容更新教程wordpress 页眉修改
  • 门户网站属于什么类型的模式公司一定建设网站
  • 建设银网站百度网站的优缺点
  • 公司展示网站模板免费下载只做汽车的网站
  • 集约化网站建设项目西安网站开发招聘
  • 织梦手机网站模板删除不了自己怎么设计公主裙
  • 网站后台补丁如何做中国建设第一平台网站
  • 深圳婚庆网站建设广东省住房城乡建设厅门户网站
  • 排版设计模板网站网页设计实训方法步骤
  • 大气精美网站设计工作室织梦模板(附赠精美织梦后台模板)列出网站开发建设的步骤
  • 怎么做网站申请广告自媒体害了多少人
  • wap网站前台平面设计包括什么
  • 青岛网站建设多少钱163免费邮箱注册
  • 南昌建设医院网站网站备案是空间备案还是域名备案
  • 公司网站百度小程序开发wordpress 数据库类
  • php网站后台密码忘记如何优化标题关键词
  • dede本地搭建好网站后台密码和用户名是什么最专业企业营销型网站建设
  • 网站推广优化c重庆wordpress微信机器人高级版 免费
  • 可以做免费的网站吗seo排名推广
  • 莆田网站建设电话永久免费仓库出入库管理软件
  • 百度网盘资源搜索引擎入口做网站优化哪家好